diff mbox

ARM: shmobile: r8a7779: remove USB phy initializer

Message ID 87ehmifl3b.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kuninori Morimoto Sept. 4, 2012, 4:50 a.m. UTC
f9929ab55cf967791c65a3b58696d77e26d19a6f
(ARM: shmobile: r8a7779: add USB common phy initializer)
added r8a7779 USB phy initializer,
but ARM kernel is trying hard to move driver code out of the platform
and into driver directories.
This patch remove USB phy initializer code from platform.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
Simon

This patch remove current USB phy initializer code from platform.
And I sent USB phy driver support patch to USB ML today.
If this driver was accepted, then, I will send a patch to use it.

 arch/arm/mach-shmobile/board-marzen.c        |    5 +-
 arch/arm/mach-shmobile/include/mach/common.h |    1 -
 arch/arm/mach-shmobile/setup-r8a7779.c       |   92 --------------------------
 3 files changed, 2 insertions(+), 96 deletions(-)

Comments

Simon Horman Sept. 5, 2012, 1:20 a.m. UTC | #1
On Mon, Sep 03, 2012 at 09:50:03PM -0700, Kuninori Morimoto wrote:
> f9929ab55cf967791c65a3b58696d77e26d19a6f
> (ARM: shmobile: r8a7779: add USB common phy initializer)
> added r8a7779 USB phy initializer,
> but ARM kernel is trying hard to move driver code out of the platform
> and into driver directories.
> This patch remove USB phy initializer code from platform.

Hi Morimoto-san,

my preferred approach is to drop the following patches from the marzen
branch and get the remaining changes merged (hopefully). Then look at
USB once again.

f58f278 ARM: shmobile: marzen: add USB EHCI driver support
4150c1d ARM: shmobile: r8a7779: add USB OHCI clock support
535b372c ARM: shmobile: r8a7779: add USB EHCI clock support
f9929ab ARM: shmobile: r8a7779: add USB common phy initializer
Simon Horman Sept. 5, 2012, 1:23 a.m. UTC | #2
On Wed, Sep 05, 2012 at 10:20:57AM +0900, Simon Horman wrote:
> On Mon, Sep 03, 2012 at 09:50:03PM -0700, Kuninori Morimoto wrote:
> > f9929ab55cf967791c65a3b58696d77e26d19a6f
> > (ARM: shmobile: r8a7779: add USB common phy initializer)
> > added r8a7779 USB phy initializer,
> > but ARM kernel is trying hard to move driver code out of the platform
> > and into driver directories.
> > This patch remove USB phy initializer code from platform.
> 
> Hi Morimoto-san,
> 
> my preferred approach is to drop the following patches from the marzen
> branch and get the remaining changes merged (hopefully). Then look at
> USB once again.
> 
> f58f278 ARM: shmobile: marzen: add USB EHCI driver support
> 4150c1d ARM: shmobile: r8a7779: add USB OHCI clock support
> 535b372c ARM: shmobile: r8a7779: add USB EHCI clock support
> f9929ab ARM: shmobile: r8a7779: add USB common phy initializer

and

3553395 ARM: shmobile: marzen: add USB OHCI driver support
Kuninori Morimoto Sept. 5, 2012, 2 a.m. UTC | #3
Hi Simon

> > my preferred approach is to drop the following patches from the marzen
> > branch and get the remaining changes merged (hopefully). Then look at
> > USB once again.
> > 
> > f58f278 ARM: shmobile: marzen: add USB EHCI driver support
> > 4150c1d ARM: shmobile: r8a7779: add USB OHCI clock support
> > 535b372c ARM: shmobile: r8a7779: add USB EHCI clock support
> > f9929ab ARM: shmobile: r8a7779: add USB common phy initializer
> 
> and
> 
> 3553395 ARM: shmobile: marzen: add USB OHCI driver support

Thank you for your help
Simon Horman Sept. 5, 2012, 8:13 a.m. UTC | #4
On Wed, Sep 05, 2012 at 11:00:22AM +0900, Kuninori Morimoto wrote:
> 
> Hi Simon
> 
> > > my preferred approach is to drop the following patches from the marzen
> > > branch and get the remaining changes merged (hopefully). Then look at
> > > USB once again.
> > > 
> > > f58f278 ARM: shmobile: marzen: add USB EHCI driver support
> > > 4150c1d ARM: shmobile: r8a7779: add USB OHCI clock support
> > > 535b372c ARM: shmobile: r8a7779: add USB EHCI clock support
> > > f9929ab ARM: shmobile: r8a7779: add USB common phy initializer
> > 
> > and
> > 
> > 3553395 ARM: shmobile: marzen: add USB OHCI driver support
> 
> Thank you for your help

Thanks, I have pushed a rebased marzen tree accordingly.
Simon Horman Sept. 12, 2012, 5:16 a.m. UTC | #5
On Wed, Sep 05, 2012 at 05:13:20PM +0900, Simon Horman wrote:
> On Wed, Sep 05, 2012 at 11:00:22AM +0900, Kuninori Morimoto wrote:
> > 
> > Hi Simon
> > 
> > > > my preferred approach is to drop the following patches from the marzen
> > > > branch and get the remaining changes merged (hopefully). Then look at
> > > > USB once again.
> > > > 
> > > > f58f278 ARM: shmobile: marzen: add USB EHCI driver support
> > > > 4150c1d ARM: shmobile: r8a7779: add USB OHCI clock support
> > > > 535b372c ARM: shmobile: r8a7779: add USB EHCI clock support
> > > > f9929ab ARM: shmobile: r8a7779: add USB common phy initializer
> > > 
> > > and
> > > 
> > > 3553395 ARM: shmobile: marzen: add USB OHCI driver support
> > 
> > Thank you for your help
> 
> Thanks, I have pushed a rebased marzen tree accordingly.

Hi Morimoto-san,

I realise you are busy at the moment, but when you get a chance
could you let me know what the status of the above changes is?

I believe that I am waiting for fresh "use usb phy driver" patches.
But perhaps these depend on "add usb phy driver" patches being
accepted into the USB tree first?
Kuninori Morimoto Sept. 12, 2012, 5:31 a.m. UTC | #6
Hi Simon, Felipe

Thank you for your reply

> I realise you are busy at the moment, but when you get a chance
> could you let me know what the status of the above changes is?
> 
> I believe that I am waiting for fresh "use usb phy driver" patches.
> But perhaps these depend on "add usb phy driver" patches being
> accepted into the USB tree first?

Yes.
I sent "usb: phy: add R-Car USB phy driver" patch to USB ML few days ago.

>> Felipe

Please let us know current status of this patch ?

Best regards
---
Kuninori Morimoto
Felipe Balbi Sept. 12, 2012, 6:30 a.m. UTC | #7
Hi,

On Tue, Sep 11, 2012 at 10:31:28PM -0700, Kuninori Morimoto wrote:
> 
> Hi Simon, Felipe
> 
> Thank you for your reply
> 
> > I realise you are busy at the moment, but when you get a chance
> > could you let me know what the status of the above changes is?
> > 
> > I believe that I am waiting for fresh "use usb phy driver" patches.
> > But perhaps these depend on "add usb phy driver" patches being
> > accepted into the USB tree first?
> 
> Yes.
> I sent "usb: phy: add R-Car USB phy driver" patch to USB ML few days ago.
> 
> >> Felipe
> 
> Please let us know current status of this patch ?

It will have to wait for v3.8... there wasn't enough time for me to pick
that up, sorry.
Kuninori Morimoto Sept. 12, 2012, 7:16 a.m. UTC | #8
Hi Simon, Felipe

> > >> Felipe
> > 
> > Please let us know current status of this patch ?
> 
> It will have to wait for v3.8... there wasn't enough time for me to pick
> that up, sorry.

OK. no worry

>> Simon

Marzen board USB depends on this phy driver.
So, let's aim to v3.8.
Is is OK ?

Best regards
---
Kuninori Morimoto
Simon Horman Sept. 12, 2012, 7:19 a.m. UTC | #9
On Wed, Sep 12, 2012 at 12:16:00AM -0700, Kuninori Morimoto wrote:
> 
> Hi Simon, Felipe
> 
> > > >> Felipe
> > > 
> > > Please let us know current status of this patch ?
> > 
> > It will have to wait for v3.8... there wasn't enough time for me to pick
> > that up, sorry.
> 
> OK. no worry
> 
> >> Simon
> 
> Marzen board USB depends on this phy driver.
> So, let's aim to v3.8.
> Is is OK ?

Its ok by me.
diff mbox

Patch

diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
index 30c794b..ae859d2 100644
--- a/arch/arm/mach-shmobile/board-marzen.c
+++ b/arch/arm/mach-shmobile/board-marzen.c
@@ -307,9 +307,8 @@  static void __init marzen_init(void)
 	r8a7779_add_standard_devices();
 	platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
 
-	if (0 == r8a7779_usb_phy_init(0))
-		platform_add_devices(marzen_usb_devices,
-				     ARRAY_SIZE(marzen_usb_devices));
+	platform_add_devices(marzen_usb_devices,
+			     ARRAY_SIZE(marzen_usb_devices));
 }
 
 MACHINE_START(MARZEN, "marzen")
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index 00b2eb5..45e61da 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -78,7 +78,6 @@  extern void r8a7779_clock_init(void);
 extern void r8a7779_pinmux_init(void);
 extern void r8a7779_pm_init(void);
 extern void r8a7740_meram_workaround(void);
-extern int r8a7779_usb_phy_init(u32 usbpctrl0);
 
 extern unsigned int r8a7779_get_core_count(void);
 extern int r8a7779_platform_cpu_kill(unsigned int cpu);
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c
index 17fdd1f..af84cb4 100644
--- a/arch/arm/mach-shmobile/setup-r8a7779.c
+++ b/arch/arm/mach-shmobile/setup-r8a7779.c
@@ -244,98 +244,6 @@  static struct platform_device *r8a7779_early_devices[] __initdata = {
 static struct platform_device *r8a7779_late_devices[] __initdata = {
 };
 
-/* USBH common register */
-#define USBPCTRL0	0x0800
-#define USBPCTRL1	0x0804
-#define USBST		0x0808
-#define USBEH0		0x080C
-#define USBOH0		0x081C
-#define USBCTL0		0x0858
-#define EIIBC1		0x0094
-#define EIIBC2		0x009C
-
-#ifdef CONFIG_ARCH_SUPPORTS_BIG_ENDIAN
-# define xHCI_ENDIAN "BIG"
-# define xHCI_NO_SWAP 0x00000003
-#else
-# define xHCI_ENDIAN "LITTLE"
-# define xHCI_NO_SWAP 0x00000000
-#endif
-
-/*
- * USB initial/install operation.
- *
- * This function setup USB phy.
- * The used value and setting order came from
- * [USB :: Initial setting] on datasheet.
- */
-int __init r8a7779_usb_phy_init(u32 usbpctrl0)
-{
-	void __iomem *reg0, *reg1;
-	int i;
-	u32 val;
-
-	reg0 = ioremap_nocache(0xffe70000, 0x900);
-	reg1 = ioremap_nocache(0xfff70000, 0x900);
-
-	/*----------------------------------------*
-	 * USB phy start-up
-	 *----------------------------------------*/
-
-	/* (1) USB-PHY standby release */
-	iowrite32(0x00000001, (reg0 + USBPCTRL1));
-
-	/* (2) start USB-PHY internal PLL */
-	iowrite32(0x00000003, (reg0 + USBPCTRL1));
-
-	/* (3) USB module status check */
-	for (i = 0; i < 1024; i++) {
-		udelay(10);
-		val = ioread32(reg0 + USBST);
-		if (0xc0000000 == val)
-			goto usb_module_is_working;
-	}
-	pr_err("USB module not ready\n");
-	return -EIO;
-
-usb_module_is_working:
-	/* (4) USB-PHY reset clear */
-	iowrite32(0x00000007, (reg0 + USBPCTRL1));
-
-	/* set platform specific port settings */
-	iowrite32(usbpctrl0, (reg0 + USBPCTRL0));
-
-	/*----------------------------------------*
-	 * EHCI IP Internal Buffer Setting
-	 *----------------------------------------*/
-
-	/* (1) EHCI IP internal buffer setting */
-	iowrite32(0x00ff0040, (reg0 + EIIBC1));
-	iowrite32(0x00ff0040, (reg1 + EIIBC1));
-
-	/* (2) EHCI IP internal buffer enable */
-	iowrite32(0x00000001, (reg0 + EIIBC2));
-	iowrite32(0x00000001, (reg1 + EIIBC2));
-
-	/*----------------------------------------*
-	 * Bus alignment settings
-	 *----------------------------------------*/
-
-	/* (1) EHCI bus alignment */
-	iowrite32(xHCI_NO_SWAP, (reg0 + USBEH0));
-
-	/* (1) OHCI bus alignment */
-	iowrite32(xHCI_NO_SWAP, (reg0 + USBOH0));
-
-	pr_info("USB xHCI alignment was initialized as %s endian no swap\n",
-		xHCI_ENDIAN);
-
-	iounmap(reg0);
-	iounmap(reg1);
-
-	return 0;
-}
-
 void __init r8a7779_add_standard_devices(void)
 {
 #ifdef CONFIG_CACHE_L2X0