All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
@ 2018-12-10 16:35 Adam Ford
  2018-12-10 19:01 ` Marek Vasut
  2018-12-11 14:35 ` Marek Vasut
  0 siblings, 2 replies; 7+ messages in thread
From: Adam Ford @ 2018-12-10 16:35 UTC (permalink / raw)
  To: u-boot

There don't appear to be any boards enabling CONFIG_USB_DA8XX,
and there is a newer version of the MUSB driver, so let's remove
the legacy version of it.

Signed-off-by: Adam Ford <aford173@gmail.com>

diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 7e6be03f4a..2508b6ed0d 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -15,10 +15,6 @@ config USB_OMAP3
 	bool "Legacy MUSB OMAP3 / OMAP4"
 	depends on ARCH_OMAP2PLUS
 
-config USB_DA8XX
-	bool "Legacy MUSB DA8xx/OMAP-L1x"
-	depends on ARCH_DAVINCI
-
 config USB_AM35X
 	bool"Legacy MUSB AM35x"
 	depends on ARCH_OMAP2PLUS && !USB_OMAP3
diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
index 1242ce1c8c..744f2cfaa2 100644
--- a/drivers/usb/musb/Makefile
+++ b/drivers/usb/musb/Makefile
@@ -6,5 +6,4 @@
 obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
 obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
 obj-$(CONFIG_USB_OMAP3) += omap3.o
-obj-$(CONFIG_USB_DA8XX) += da8xx.o
 obj-$(CONFIG_USB_AM35X) += am35x.o
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
deleted file mode 100644
index a652a7c3c1..0000000000
--- a/drivers/usb/musb/da8xx.c
+++ /dev/null
@@ -1,127 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
- *
- * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
- *
- * Based on drivers/usb/musb/davinci.c
- *
- * Copyright (C) 2009 Texas Instruments Incorporated
- */
-#include <common.h>
-
-#include "musb_core.h"
-#include <asm/arch/da8xx-usb.h>
-
-/* MUSB platform configuration */
-struct musb_config musb_cfg = {
-	.regs		= (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
-	.timeout	= DA8XX_USB_OTG_TIMEOUT,
-	.musb_speed	= 0,
-};
-
-/*
- * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
- */
-static void enable_vbus(void)
-{
-	u32 value;
-
-	/* configure GPIO bank4 pin 15 in output direction */
-	value = readl(&davinci_gpio_bank45->dir);
-	writel((value & (~DA8XX_USB_VBUS_GPIO)), &davinci_gpio_bank45->dir);
-
-	/* set GPIO bank4 pin 15 high to drive VBUS */
-	value = readl(&davinci_gpio_bank45->set_data);
-	writel((value | DA8XX_USB_VBUS_GPIO), &davinci_gpio_bank45->set_data);
-}
-
-/*
- * Enable the usb0 phy. This initialization procedure is explained in
- * the DA8xx USB user guide document.
- */
-static u8 phy_on(void)
-{
-	u32 timeout;
-	u32 cfgchip2;
-
-	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
-
-	cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN |
-		      CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
-	cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN | CFGCHIP2_PHY_PLLON |
-		    CFGCHIP2_REFFREQ_24MHZ;
-
-	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
-
-	/* wait until the usb phy pll locks */
-	timeout = musb_cfg.timeout;
-	while (timeout--)
-		if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
-			return 1;
-
-	/* USB phy was not turned on */
-	return 0;
-}
-
-/*
- * Disable the usb phy
- */
-static void phy_off(void)
-{
-	u32 cfgchip2;
-
-	/*
-	 * Power down the on-chip PHY.
-	 */
-	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
-	cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
-	cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
-	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
-}
-
-/*
- * This function performs DA8xx platform specific initialization for usb0.
- */
-int musb_platform_init(void)
-{
-	u32  revision;
-
-	/* enable psc for usb2.0 */
-	lpsc_on(33);
-
-	/* enable usb vbus */
-	enable_vbus();
-
-	/* reset the controller */
-	writel(0x1, &da8xx_usb_regs->control);
-	udelay(5000);
-
-	/* start the on-chip usb phy and its pll */
-	if (phy_on() == 0)
-		return -1;
-
-	/* Returns zero if e.g. not clocked */
-	revision = readl(&da8xx_usb_regs->revision);
-	if (revision == 0)
-		return -1;
-
-	/* Disable all interrupts */
-	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
-		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
-	return 0;
-}
-
-/*
- * This function performs DA8xx platform specific deinitialization for usb0.
- */
-void musb_platform_deinit(void)
-{
-	/* Turn of the phy */
-	phy_off();
-
-	/* flush any interrupts */
-	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
-		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
-	writel(0, &da8xx_usb_regs->eoi);
-}
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-10 16:35 [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX Adam Ford
@ 2018-12-10 19:01 ` Marek Vasut
  2018-12-11  9:47   ` Jean-Jacques Hiblot
  2018-12-11 14:35 ` Marek Vasut
  1 sibling, 1 reply; 7+ messages in thread
From: Marek Vasut @ 2018-12-10 19:01 UTC (permalink / raw)
  To: u-boot

On 12/10/2018 05:35 PM, Adam Ford wrote:
> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
> and there is a newer version of the MUSB driver, so let's remove
> the legacy version of it.
> 
> Signed-off-by: Adam Ford <aford173@gmail.com>

CCing Jean, I'd like his A-B/R-B.
Looks good to me, so I'll pick it once I have it, thanks!

> 
> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> index 7e6be03f4a..2508b6ed0d 100644
> --- a/drivers/usb/musb/Kconfig
> +++ b/drivers/usb/musb/Kconfig
> @@ -15,10 +15,6 @@ config USB_OMAP3
>  	bool "Legacy MUSB OMAP3 / OMAP4"
>  	depends on ARCH_OMAP2PLUS
>  
> -config USB_DA8XX
> -	bool "Legacy MUSB DA8xx/OMAP-L1x"
> -	depends on ARCH_DAVINCI
> -
>  config USB_AM35X
>  	bool"Legacy MUSB AM35x"
>  	depends on ARCH_OMAP2PLUS && !USB_OMAP3
> diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
> index 1242ce1c8c..744f2cfaa2 100644
> --- a/drivers/usb/musb/Makefile
> +++ b/drivers/usb/musb/Makefile
> @@ -6,5 +6,4 @@
>  obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
>  obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
>  obj-$(CONFIG_USB_OMAP3) += omap3.o
> -obj-$(CONFIG_USB_DA8XX) += da8xx.o
>  obj-$(CONFIG_USB_AM35X) += am35x.o
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> deleted file mode 100644
> index a652a7c3c1..0000000000
> --- a/drivers/usb/musb/da8xx.c
> +++ /dev/null
> @@ -1,127 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0+
> -/*
> - * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
> - *
> - * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
> - *
> - * Based on drivers/usb/musb/davinci.c
> - *
> - * Copyright (C) 2009 Texas Instruments Incorporated
> - */
> -#include <common.h>
> -
> -#include "musb_core.h"
> -#include <asm/arch/da8xx-usb.h>
> -
> -/* MUSB platform configuration */
> -struct musb_config musb_cfg = {
> -	.regs		= (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
> -	.timeout	= DA8XX_USB_OTG_TIMEOUT,
> -	.musb_speed	= 0,
> -};
> -
> -/*
> - * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
> - */
> -static void enable_vbus(void)
> -{
> -	u32 value;
> -
> -	/* configure GPIO bank4 pin 15 in output direction */
> -	value = readl(&davinci_gpio_bank45->dir);
> -	writel((value & (~DA8XX_USB_VBUS_GPIO)), &davinci_gpio_bank45->dir);
> -
> -	/* set GPIO bank4 pin 15 high to drive VBUS */
> -	value = readl(&davinci_gpio_bank45->set_data);
> -	writel((value | DA8XX_USB_VBUS_GPIO), &davinci_gpio_bank45->set_data);
> -}
> -
> -/*
> - * Enable the usb0 phy. This initialization procedure is explained in
> - * the DA8xx USB user guide document.
> - */
> -static u8 phy_on(void)
> -{
> -	u32 timeout;
> -	u32 cfgchip2;
> -
> -	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
> -
> -	cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN |
> -		      CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
> -	cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN | CFGCHIP2_PHY_PLLON |
> -		    CFGCHIP2_REFFREQ_24MHZ;
> -
> -	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
> -
> -	/* wait until the usb phy pll locks */
> -	timeout = musb_cfg.timeout;
> -	while (timeout--)
> -		if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
> -			return 1;
> -
> -	/* USB phy was not turned on */
> -	return 0;
> -}
> -
> -/*
> - * Disable the usb phy
> - */
> -static void phy_off(void)
> -{
> -	u32 cfgchip2;
> -
> -	/*
> -	 * Power down the on-chip PHY.
> -	 */
> -	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
> -	cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
> -	cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
> -	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
> -}
> -
> -/*
> - * This function performs DA8xx platform specific initialization for usb0.
> - */
> -int musb_platform_init(void)
> -{
> -	u32  revision;
> -
> -	/* enable psc for usb2.0 */
> -	lpsc_on(33);
> -
> -	/* enable usb vbus */
> -	enable_vbus();
> -
> -	/* reset the controller */
> -	writel(0x1, &da8xx_usb_regs->control);
> -	udelay(5000);
> -
> -	/* start the on-chip usb phy and its pll */
> -	if (phy_on() == 0)
> -		return -1;
> -
> -	/* Returns zero if e.g. not clocked */
> -	revision = readl(&da8xx_usb_regs->revision);
> -	if (revision == 0)
> -		return -1;
> -
> -	/* Disable all interrupts */
> -	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
> -		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
> -	return 0;
> -}
> -
> -/*
> - * This function performs DA8xx platform specific deinitialization for usb0.
> - */
> -void musb_platform_deinit(void)
> -{
> -	/* Turn of the phy */
> -	phy_off();
> -
> -	/* flush any interrupts */
> -	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
> -		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
> -	writel(0, &da8xx_usb_regs->eoi);
> -}
> 


-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-10 19:01 ` Marek Vasut
@ 2018-12-11  9:47   ` Jean-Jacques Hiblot
  2018-12-11  9:51     ` Jean-Jacques Hiblot
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Jacques Hiblot @ 2018-12-11  9:47 UTC (permalink / raw)
  To: u-boot


On 10/12/2018 20:01, Marek Vasut wrote:
> On 12/10/2018 05:35 PM, Adam Ford wrote:
>> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
>> and there is a newer version of the MUSB driver, so let's remove
>> the legacy version of it.
>>
>> Signed-off-by: Adam Ford <aford173@gmail.com>
> CCing Jean, I'd like his A-B/R-B.
> Looks good to me, so I'll pick it once I have it, thanks!

This is good to see some code removal

Thanks


Reviewed-by: Jean-Jacques Hiblot <jjhiblot@ti.com>


>
>> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
>> index 7e6be03f4a..2508b6ed0d 100644
>> --- a/drivers/usb/musb/Kconfig
>> +++ b/drivers/usb/musb/Kconfig
>> @@ -15,10 +15,6 @@ config USB_OMAP3
>>   	bool "Legacy MUSB OMAP3 / OMAP4"
>>   	depends on ARCH_OMAP2PLUS
>>   
>> -config USB_DA8XX
>> -	bool "Legacy MUSB DA8xx/OMAP-L1x"
>> -	depends on ARCH_DAVINCI
>> -
>>   config USB_AM35X
>>   	bool"Legacy MUSB AM35x"
>>   	depends on ARCH_OMAP2PLUS && !USB_OMAP3
>> diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
>> index 1242ce1c8c..744f2cfaa2 100644
>> --- a/drivers/usb/musb/Makefile
>> +++ b/drivers/usb/musb/Makefile
>> @@ -6,5 +6,4 @@
>>   obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
>>   obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
>>   obj-$(CONFIG_USB_OMAP3) += omap3.o
>> -obj-$(CONFIG_USB_DA8XX) += da8xx.o
>>   obj-$(CONFIG_USB_AM35X) += am35x.o
>> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
>> deleted file mode 100644
>> index a652a7c3c1..0000000000
>> --- a/drivers/usb/musb/da8xx.c
>> +++ /dev/null
>> @@ -1,127 +0,0 @@
>> -// SPDX-License-Identifier: GPL-2.0+
>> -/*
>> - * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
>> - *
>> - * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
>> - *
>> - * Based on drivers/usb/musb/davinci.c
>> - *
>> - * Copyright (C) 2009 Texas Instruments Incorporated
>> - */
>> -#include <common.h>
>> -
>> -#include "musb_core.h"
>> -#include <asm/arch/da8xx-usb.h>
>> -
>> -/* MUSB platform configuration */
>> -struct musb_config musb_cfg = {
>> -	.regs		= (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
>> -	.timeout	= DA8XX_USB_OTG_TIMEOUT,
>> -	.musb_speed	= 0,
>> -};
>> -
>> -/*
>> - * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
>> - */
>> -static void enable_vbus(void)
>> -{
>> -	u32 value;
>> -
>> -	/* configure GPIO bank4 pin 15 in output direction */
>> -	value = readl(&davinci_gpio_bank45->dir);
>> -	writel((value & (~DA8XX_USB_VBUS_GPIO)), &davinci_gpio_bank45->dir);
>> -
>> -	/* set GPIO bank4 pin 15 high to drive VBUS */
>> -	value = readl(&davinci_gpio_bank45->set_data);
>> -	writel((value | DA8XX_USB_VBUS_GPIO), &davinci_gpio_bank45->set_data);
>> -}
>> -
>> -/*
>> - * Enable the usb0 phy. This initialization procedure is explained in
>> - * the DA8xx USB user guide document.
>> - */
>> -static u8 phy_on(void)
>> -{
>> -	u32 timeout;
>> -	u32 cfgchip2;
>> -
>> -	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>> -
>> -	cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN |
>> -		      CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
>> -	cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN | CFGCHIP2_PHY_PLLON |
>> -		    CFGCHIP2_REFFREQ_24MHZ;
>> -
>> -	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>> -
>> -	/* wait until the usb phy pll locks */
>> -	timeout = musb_cfg.timeout;
>> -	while (timeout--)
>> -		if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
>> -			return 1;
>> -
>> -	/* USB phy was not turned on */
>> -	return 0;
>> -}
>> -
>> -/*
>> - * Disable the usb phy
>> - */
>> -static void phy_off(void)
>> -{
>> -	u32 cfgchip2;
>> -
>> -	/*
>> -	 * Power down the on-chip PHY.
>> -	 */
>> -	cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>> -	cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
>> -	cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
>> -	writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>> -}
>> -
>> -/*
>> - * This function performs DA8xx platform specific initialization for usb0.
>> - */
>> -int musb_platform_init(void)
>> -{
>> -	u32  revision;
>> -
>> -	/* enable psc for usb2.0 */
>> -	lpsc_on(33);
>> -
>> -	/* enable usb vbus */
>> -	enable_vbus();
>> -
>> -	/* reset the controller */
>> -	writel(0x1, &da8xx_usb_regs->control);
>> -	udelay(5000);
>> -
>> -	/* start the on-chip usb phy and its pll */
>> -	if (phy_on() == 0)
>> -		return -1;
>> -
>> -	/* Returns zero if e.g. not clocked */
>> -	revision = readl(&da8xx_usb_regs->revision);
>> -	if (revision == 0)
>> -		return -1;
>> -
>> -	/* Disable all interrupts */
>> -	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>> -		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
>> -	return 0;
>> -}
>> -
>> -/*
>> - * This function performs DA8xx platform specific deinitialization for usb0.
>> - */
>> -void musb_platform_deinit(void)
>> -{
>> -	/* Turn of the phy */
>> -	phy_off();
>> -
>> -	/* flush any interrupts */
>> -	writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>> -		DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
>> -	writel(0, &da8xx_usb_regs->eoi);
>> -}
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-11  9:47   ` Jean-Jacques Hiblot
@ 2018-12-11  9:51     ` Jean-Jacques Hiblot
  2018-12-12 13:55       ` Adam Ford
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Jacques Hiblot @ 2018-12-11  9:51 UTC (permalink / raw)
  To: u-boot


On 11/12/2018 10:47, Jean-Jacques Hiblot wrote:
>
> On 10/12/2018 20:01, Marek Vasut wrote:
>> On 12/10/2018 05:35 PM, Adam Ford wrote:
>>> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
>>> and there is a newer version of the MUSB driver, so let's remove
>>> the legacy version of it.
>>>
>>> Signed-off-by: Adam Ford <aford173@gmail.com>
>> CCing Jean, I'd like his A-B/R-B.
>> Looks good to me, so I'll pick it once I have it, thanks!
>
> This is good to see some code removal

This could even go a bit further and remove:

- drivers/usb/host/ohci-da8xx.c

- arch/arm/mach-davinci/include/mach/da8xx-usb.h


>
> Thanks
>
>
> Reviewed-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>
>
>>
>>> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
>>> index 7e6be03f4a..2508b6ed0d 100644
>>> --- a/drivers/usb/musb/Kconfig
>>> +++ b/drivers/usb/musb/Kconfig
>>> @@ -15,10 +15,6 @@ config USB_OMAP3
>>>       bool "Legacy MUSB OMAP3 / OMAP4"
>>>       depends on ARCH_OMAP2PLUS
>>>   -config USB_DA8XX
>>> -    bool "Legacy MUSB DA8xx/OMAP-L1x"
>>> -    depends on ARCH_DAVINCI
>>> -
>>>   config USB_AM35X
>>>       bool"Legacy MUSB AM35x"
>>>       depends on ARCH_OMAP2PLUS && !USB_OMAP3
>>> diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
>>> index 1242ce1c8c..744f2cfaa2 100644
>>> --- a/drivers/usb/musb/Makefile
>>> +++ b/drivers/usb/musb/Makefile
>>> @@ -6,5 +6,4 @@
>>>   obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
>>>   obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
>>>   obj-$(CONFIG_USB_OMAP3) += omap3.o
>>> -obj-$(CONFIG_USB_DA8XX) += da8xx.o
>>>   obj-$(CONFIG_USB_AM35X) += am35x.o
>>> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
>>> deleted file mode 100644
>>> index a652a7c3c1..0000000000
>>> --- a/drivers/usb/musb/da8xx.c
>>> +++ /dev/null
>>> @@ -1,127 +0,0 @@
>>> -// SPDX-License-Identifier: GPL-2.0+
>>> -/*
>>> - * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
>>> - *
>>> - * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
>>> - *
>>> - * Based on drivers/usb/musb/davinci.c
>>> - *
>>> - * Copyright (C) 2009 Texas Instruments Incorporated
>>> - */
>>> -#include <common.h>
>>> -
>>> -#include "musb_core.h"
>>> -#include <asm/arch/da8xx-usb.h>
>>> -
>>> -/* MUSB platform configuration */
>>> -struct musb_config musb_cfg = {
>>> -    .regs        = (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
>>> -    .timeout    = DA8XX_USB_OTG_TIMEOUT,
>>> -    .musb_speed    = 0,
>>> -};
>>> -
>>> -/*
>>> - * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
>>> - */
>>> -static void enable_vbus(void)
>>> -{
>>> -    u32 value;
>>> -
>>> -    /* configure GPIO bank4 pin 15 in output direction */
>>> -    value = readl(&davinci_gpio_bank45->dir);
>>> -    writel((value & (~DA8XX_USB_VBUS_GPIO)), 
>>> &davinci_gpio_bank45->dir);
>>> -
>>> -    /* set GPIO bank4 pin 15 high to drive VBUS */
>>> -    value = readl(&davinci_gpio_bank45->set_data);
>>> -    writel((value | DA8XX_USB_VBUS_GPIO), 
>>> &davinci_gpio_bank45->set_data);
>>> -}
>>> -
>>> -/*
>>> - * Enable the usb0 phy. This initialization procedure is explained in
>>> - * the DA8xx USB user guide document.
>>> - */
>>> -static u8 phy_on(void)
>>> -{
>>> -    u32 timeout;
>>> -    u32 cfgchip2;
>>> -
>>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>>> -
>>> -    cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | 
>>> CFGCHIP2_OTGPWRDN |
>>> -              CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
>>> -    cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN | 
>>> CFGCHIP2_PHY_PLLON |
>>> -            CFGCHIP2_REFFREQ_24MHZ;
>>> -
>>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>>> -
>>> -    /* wait until the usb phy pll locks */
>>> -    timeout = musb_cfg.timeout;
>>> -    while (timeout--)
>>> -        if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
>>> -            return 1;
>>> -
>>> -    /* USB phy was not turned on */
>>> -    return 0;
>>> -}
>>> -
>>> -/*
>>> - * Disable the usb phy
>>> - */
>>> -static void phy_off(void)
>>> -{
>>> -    u32 cfgchip2;
>>> -
>>> -    /*
>>> -     * Power down the on-chip PHY.
>>> -     */
>>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>>> -    cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
>>> -    cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
>>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>>> -}
>>> -
>>> -/*
>>> - * This function performs DA8xx platform specific initialization 
>>> for usb0.
>>> - */
>>> -int musb_platform_init(void)
>>> -{
>>> -    u32  revision;
>>> -
>>> -    /* enable psc for usb2.0 */
>>> -    lpsc_on(33);
>>> -
>>> -    /* enable usb vbus */
>>> -    enable_vbus();
>>> -
>>> -    /* reset the controller */
>>> -    writel(0x1, &da8xx_usb_regs->control);
>>> -    udelay(5000);
>>> -
>>> -    /* start the on-chip usb phy and its pll */
>>> -    if (phy_on() == 0)
>>> -        return -1;
>>> -
>>> -    /* Returns zero if e.g. not clocked */
>>> -    revision = readl(&da8xx_usb_regs->revision);
>>> -    if (revision == 0)
>>> -        return -1;
>>> -
>>> -    /* Disable all interrupts */
>>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
>>> -    return 0;
>>> -}
>>> -
>>> -/*
>>> - * This function performs DA8xx platform specific deinitialization 
>>> for usb0.
>>> - */
>>> -void musb_platform_deinit(void)
>>> -{
>>> -    /* Turn of the phy */
>>> -    phy_off();
>>> -
>>> -    /* flush any interrupts */
>>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
>>> -    writel(0, &da8xx_usb_regs->eoi);
>>> -}
>>>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-10 16:35 [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX Adam Ford
  2018-12-10 19:01 ` Marek Vasut
@ 2018-12-11 14:35 ` Marek Vasut
  1 sibling, 0 replies; 7+ messages in thread
From: Marek Vasut @ 2018-12-11 14:35 UTC (permalink / raw)
  To: u-boot

On 12/10/2018 05:35 PM, Adam Ford wrote:
> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
> and there is a newer version of the MUSB driver, so let's remove
> the legacy version of it.
> 
> Signed-off-by: Adam Ford <aford173@gmail.com>

It doesn't apply to u-boot-usb/master, can you rebase and repost please?

-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-11  9:51     ` Jean-Jacques Hiblot
@ 2018-12-12 13:55       ` Adam Ford
  2018-12-12 14:21         ` Jean-Jacques Hiblot
  0 siblings, 1 reply; 7+ messages in thread
From: Adam Ford @ 2018-12-12 13:55 UTC (permalink / raw)
  To: u-boot

On Tue, Dec 11, 2018 at 3:51 AM Jean-Jacques Hiblot <jjhiblot@ti.com> wrote:
>
>
> On 11/12/2018 10:47, Jean-Jacques Hiblot wrote:
> >
> > On 10/12/2018 20:01, Marek Vasut wrote:
> >> On 12/10/2018 05:35 PM, Adam Ford wrote:
> >>> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
> >>> and there is a newer version of the MUSB driver, so let's remove
> >>> the legacy version of it.
> >>>
> >>> Signed-off-by: Adam Ford <aford173@gmail.com>
> >> CCing Jean, I'd like his A-B/R-B.
> >> Looks good to me, so I'll pick it once I have it, thanks!
> >
> > This is good to see some code removal
>
> This could even go a bit further and remove:
>
> - drivers/usb/host/ohci-da8xx.c
>
> - arch/arm/mach-davinci/include/mach/da8xx-usb.h
>
I want to investigate these a bit.  I might have a use for these two
files on the da850evm yet.  I know the musb was replaced by musb-new,
so my hope is to make the legacy musb drivers go away first.  In my
ideal word, I'd like to keep the da850-evm around for a bit longer, at
least until Logic PD discontinues the L138 and AM1808 system on
module.  If I can reuse these drivers to bring back USB host
functionality, I'd like to keep them.

adam
>
> >
> > Thanks
> >
> >
> > Reviewed-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> >
> >
> >>
> >>> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> >>> index 7e6be03f4a..2508b6ed0d 100644
> >>> --- a/drivers/usb/musb/Kconfig
> >>> +++ b/drivers/usb/musb/Kconfig
> >>> @@ -15,10 +15,6 @@ config USB_OMAP3
> >>>       bool "Legacy MUSB OMAP3 / OMAP4"
> >>>       depends on ARCH_OMAP2PLUS
> >>>   -config USB_DA8XX
> >>> -    bool "Legacy MUSB DA8xx/OMAP-L1x"
> >>> -    depends on ARCH_DAVINCI
> >>> -
> >>>   config USB_AM35X
> >>>       bool"Legacy MUSB AM35x"
> >>>       depends on ARCH_OMAP2PLUS && !USB_OMAP3
> >>> diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
> >>> index 1242ce1c8c..744f2cfaa2 100644
> >>> --- a/drivers/usb/musb/Makefile
> >>> +++ b/drivers/usb/musb/Makefile
> >>> @@ -6,5 +6,4 @@
> >>>   obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
> >>>   obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
> >>>   obj-$(CONFIG_USB_OMAP3) += omap3.o
> >>> -obj-$(CONFIG_USB_DA8XX) += da8xx.o
> >>>   obj-$(CONFIG_USB_AM35X) += am35x.o
> >>> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> >>> deleted file mode 100644
> >>> index a652a7c3c1..0000000000
> >>> --- a/drivers/usb/musb/da8xx.c
> >>> +++ /dev/null
> >>> @@ -1,127 +0,0 @@
> >>> -// SPDX-License-Identifier: GPL-2.0+
> >>> -/*
> >>> - * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
> >>> - *
> >>> - * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
> >>> - *
> >>> - * Based on drivers/usb/musb/davinci.c
> >>> - *
> >>> - * Copyright (C) 2009 Texas Instruments Incorporated
> >>> - */
> >>> -#include <common.h>
> >>> -
> >>> -#include "musb_core.h"
> >>> -#include <asm/arch/da8xx-usb.h>
> >>> -
> >>> -/* MUSB platform configuration */
> >>> -struct musb_config musb_cfg = {
> >>> -    .regs        = (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
> >>> -    .timeout    = DA8XX_USB_OTG_TIMEOUT,
> >>> -    .musb_speed    = 0,
> >>> -};
> >>> -
> >>> -/*
> >>> - * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
> >>> - */
> >>> -static void enable_vbus(void)
> >>> -{
> >>> -    u32 value;
> >>> -
> >>> -    /* configure GPIO bank4 pin 15 in output direction */
> >>> -    value = readl(&davinci_gpio_bank45->dir);
> >>> -    writel((value & (~DA8XX_USB_VBUS_GPIO)),
> >>> &davinci_gpio_bank45->dir);
> >>> -
> >>> -    /* set GPIO bank4 pin 15 high to drive VBUS */
> >>> -    value = readl(&davinci_gpio_bank45->set_data);
> >>> -    writel((value | DA8XX_USB_VBUS_GPIO),
> >>> &davinci_gpio_bank45->set_data);
> >>> -}
> >>> -
> >>> -/*
> >>> - * Enable the usb0 phy. This initialization procedure is explained in
> >>> - * the DA8xx USB user guide document.
> >>> - */
> >>> -static u8 phy_on(void)
> >>> -{
> >>> -    u32 timeout;
> >>> -    u32 cfgchip2;
> >>> -
> >>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
> >>> -
> >>> -    cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN |
> >>> CFGCHIP2_OTGPWRDN |
> >>> -              CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
> >>> -    cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN |
> >>> CFGCHIP2_PHY_PLLON |
> >>> -            CFGCHIP2_REFFREQ_24MHZ;
> >>> -
> >>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
> >>> -
> >>> -    /* wait until the usb phy pll locks */
> >>> -    timeout = musb_cfg.timeout;
> >>> -    while (timeout--)
> >>> -        if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
> >>> -            return 1;
> >>> -
> >>> -    /* USB phy was not turned on */
> >>> -    return 0;
> >>> -}
> >>> -
> >>> -/*
> >>> - * Disable the usb phy
> >>> - */
> >>> -static void phy_off(void)
> >>> -{
> >>> -    u32 cfgchip2;
> >>> -
> >>> -    /*
> >>> -     * Power down the on-chip PHY.
> >>> -     */
> >>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
> >>> -    cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
> >>> -    cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
> >>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
> >>> -}
> >>> -
> >>> -/*
> >>> - * This function performs DA8xx platform specific initialization
> >>> for usb0.
> >>> - */
> >>> -int musb_platform_init(void)
> >>> -{
> >>> -    u32  revision;
> >>> -
> >>> -    /* enable psc for usb2.0 */
> >>> -    lpsc_on(33);
> >>> -
> >>> -    /* enable usb vbus */
> >>> -    enable_vbus();
> >>> -
> >>> -    /* reset the controller */
> >>> -    writel(0x1, &da8xx_usb_regs->control);
> >>> -    udelay(5000);
> >>> -
> >>> -    /* start the on-chip usb phy and its pll */
> >>> -    if (phy_on() == 0)
> >>> -        return -1;
> >>> -
> >>> -    /* Returns zero if e.g. not clocked */
> >>> -    revision = readl(&da8xx_usb_regs->revision);
> >>> -    if (revision == 0)
> >>> -        return -1;
> >>> -
> >>> -    /* Disable all interrupts */
> >>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
> >>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
> >>> -    return 0;
> >>> -}
> >>> -
> >>> -/*
> >>> - * This function performs DA8xx platform specific deinitialization
> >>> for usb0.
> >>> - */
> >>> -void musb_platform_deinit(void)
> >>> -{
> >>> -    /* Turn of the phy */
> >>> -    phy_off();
> >>> -
> >>> -    /* flush any interrupts */
> >>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
> >>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
> >>> -    writel(0, &da8xx_usb_regs->eoi);
> >>> -}
> >>>
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX
  2018-12-12 13:55       ` Adam Ford
@ 2018-12-12 14:21         ` Jean-Jacques Hiblot
  0 siblings, 0 replies; 7+ messages in thread
From: Jean-Jacques Hiblot @ 2018-12-12 14:21 UTC (permalink / raw)
  To: u-boot


On 12/12/2018 14:55, Adam Ford wrote:
> On Tue, Dec 11, 2018 at 3:51 AM Jean-Jacques Hiblot <jjhiblot@ti.com> wrote:
>>
>> On 11/12/2018 10:47, Jean-Jacques Hiblot wrote:
>>> On 10/12/2018 20:01, Marek Vasut wrote:
>>>> On 12/10/2018 05:35 PM, Adam Ford wrote:
>>>>> There don't appear to be any boards enabling CONFIG_USB_DA8XX,
>>>>> and there is a newer version of the MUSB driver, so let's remove
>>>>> the legacy version of it.
>>>>>
>>>>> Signed-off-by: Adam Ford <aford173@gmail.com>
>>>> CCing Jean, I'd like his A-B/R-B.
>>>> Looks good to me, so I'll pick it once I have it, thanks!
>>> This is good to see some code removal
>> This could even go a bit further and remove:
>>
>> - drivers/usb/host/ohci-da8xx.c
>>
>> - arch/arm/mach-davinci/include/mach/da8xx-usb.h
>>
> I want to investigate these a bit.  I might have a use for these two
> files on the da850evm yet.  I know the musb was replaced by musb-new,
> so my hope is to make the legacy musb drivers go away first.  In my
> ideal word, I'd like to keep the da850-evm around for a bit longer, at
> least until Logic PD discontinues the L138 and AM1808 system on
> module.  If I can reuse these drivers to bring back USB host
> functionality, I'd like to keep them.

It's fine by me. I just thought that those files might have been overlooked.

JJ

>
> adam
>>> Thanks
>>>
>>>
>>> Reviewed-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>>>
>>>
>>>>> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
>>>>> index 7e6be03f4a..2508b6ed0d 100644
>>>>> --- a/drivers/usb/musb/Kconfig
>>>>> +++ b/drivers/usb/musb/Kconfig
>>>>> @@ -15,10 +15,6 @@ config USB_OMAP3
>>>>>        bool "Legacy MUSB OMAP3 / OMAP4"
>>>>>        depends on ARCH_OMAP2PLUS
>>>>>    -config USB_DA8XX
>>>>> -    bool "Legacy MUSB DA8xx/OMAP-L1x"
>>>>> -    depends on ARCH_DAVINCI
>>>>> -
>>>>>    config USB_AM35X
>>>>>        bool"Legacy MUSB AM35x"
>>>>>        depends on ARCH_OMAP2PLUS && !USB_OMAP3
>>>>> diff --git a/drivers/usb/musb/Makefile b/drivers/usb/musb/Makefile
>>>>> index 1242ce1c8c..744f2cfaa2 100644
>>>>> --- a/drivers/usb/musb/Makefile
>>>>> +++ b/drivers/usb/musb/Makefile
>>>>> @@ -6,5 +6,4 @@
>>>>>    obj-$(CONFIG_USB_MUSB_HCD) += musb_hcd.o musb_core.o
>>>>>    obj-$(CONFIG_USB_MUSB_UDC) += musb_udc.o musb_core.o
>>>>>    obj-$(CONFIG_USB_OMAP3) += omap3.o
>>>>> -obj-$(CONFIG_USB_DA8XX) += da8xx.o
>>>>>    obj-$(CONFIG_USB_AM35X) += am35x.o
>>>>> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
>>>>> deleted file mode 100644
>>>>> index a652a7c3c1..0000000000
>>>>> --- a/drivers/usb/musb/da8xx.c
>>>>> +++ /dev/null
>>>>> @@ -1,127 +0,0 @@
>>>>> -// SPDX-License-Identifier: GPL-2.0+
>>>>> -/*
>>>>> - * da8xx.c - TI's DA8xx platform specific usb wrapper functions.
>>>>> - *
>>>>> - * Author: Ajay Kumar Gupta <ajay.gupta@ti.com>
>>>>> - *
>>>>> - * Based on drivers/usb/musb/davinci.c
>>>>> - *
>>>>> - * Copyright (C) 2009 Texas Instruments Incorporated
>>>>> - */
>>>>> -#include <common.h>
>>>>> -
>>>>> -#include "musb_core.h"
>>>>> -#include <asm/arch/da8xx-usb.h>
>>>>> -
>>>>> -/* MUSB platform configuration */
>>>>> -struct musb_config musb_cfg = {
>>>>> -    .regs        = (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
>>>>> -    .timeout    = DA8XX_USB_OTG_TIMEOUT,
>>>>> -    .musb_speed    = 0,
>>>>> -};
>>>>> -
>>>>> -/*
>>>>> - * This function enables VBUS by driving the GPIO Bank4 Pin 15 high.
>>>>> - */
>>>>> -static void enable_vbus(void)
>>>>> -{
>>>>> -    u32 value;
>>>>> -
>>>>> -    /* configure GPIO bank4 pin 15 in output direction */
>>>>> -    value = readl(&davinci_gpio_bank45->dir);
>>>>> -    writel((value & (~DA8XX_USB_VBUS_GPIO)),
>>>>> &davinci_gpio_bank45->dir);
>>>>> -
>>>>> -    /* set GPIO bank4 pin 15 high to drive VBUS */
>>>>> -    value = readl(&davinci_gpio_bank45->set_data);
>>>>> -    writel((value | DA8XX_USB_VBUS_GPIO),
>>>>> &davinci_gpio_bank45->set_data);
>>>>> -}
>>>>> -
>>>>> -/*
>>>>> - * Enable the usb0 phy. This initialization procedure is explained in
>>>>> - * the DA8xx USB user guide document.
>>>>> - */
>>>>> -static u8 phy_on(void)
>>>>> -{
>>>>> -    u32 timeout;
>>>>> -    u32 cfgchip2;
>>>>> -
>>>>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>>>>> -
>>>>> -    cfgchip2 &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN |
>>>>> CFGCHIP2_OTGPWRDN |
>>>>> -              CFGCHIP2_OTGMODE | CFGCHIP2_REFFREQ);
>>>>> -    cfgchip2 |= CFGCHIP2_SESENDEN | CFGCHIP2_VBDTCTEN |
>>>>> CFGCHIP2_PHY_PLLON |
>>>>> -            CFGCHIP2_REFFREQ_24MHZ;
>>>>> -
>>>>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>>>>> -
>>>>> -    /* wait until the usb phy pll locks */
>>>>> -    timeout = musb_cfg.timeout;
>>>>> -    while (timeout--)
>>>>> -        if (readl(&davinci_syscfg_regs->cfgchip2) & CFGCHIP2_PHYCLKGD)
>>>>> -            return 1;
>>>>> -
>>>>> -    /* USB phy was not turned on */
>>>>> -    return 0;
>>>>> -}
>>>>> -
>>>>> -/*
>>>>> - * Disable the usb phy
>>>>> - */
>>>>> -static void phy_off(void)
>>>>> -{
>>>>> -    u32 cfgchip2;
>>>>> -
>>>>> -    /*
>>>>> -     * Power down the on-chip PHY.
>>>>> -     */
>>>>> -    cfgchip2 = readl(&davinci_syscfg_regs->cfgchip2);
>>>>> -    cfgchip2 &= ~CFGCHIP2_PHY_PLLON;
>>>>> -    cfgchip2 |= CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN;
>>>>> -    writel(cfgchip2, &davinci_syscfg_regs->cfgchip2);
>>>>> -}
>>>>> -
>>>>> -/*
>>>>> - * This function performs DA8xx platform specific initialization
>>>>> for usb0.
>>>>> - */
>>>>> -int musb_platform_init(void)
>>>>> -{
>>>>> -    u32  revision;
>>>>> -
>>>>> -    /* enable psc for usb2.0 */
>>>>> -    lpsc_on(33);
>>>>> -
>>>>> -    /* enable usb vbus */
>>>>> -    enable_vbus();
>>>>> -
>>>>> -    /* reset the controller */
>>>>> -    writel(0x1, &da8xx_usb_regs->control);
>>>>> -    udelay(5000);
>>>>> -
>>>>> -    /* start the on-chip usb phy and its pll */
>>>>> -    if (phy_on() == 0)
>>>>> -        return -1;
>>>>> -
>>>>> -    /* Returns zero if e.g. not clocked */
>>>>> -    revision = readl(&da8xx_usb_regs->revision);
>>>>> -    if (revision == 0)
>>>>> -        return -1;
>>>>> -
>>>>> -    /* Disable all interrupts */
>>>>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>>>>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_set);
>>>>> -    return 0;
>>>>> -}
>>>>> -
>>>>> -/*
>>>>> - * This function performs DA8xx platform specific deinitialization
>>>>> for usb0.
>>>>> - */
>>>>> -void musb_platform_deinit(void)
>>>>> -{
>>>>> -    /* Turn of the phy */
>>>>> -    phy_off();
>>>>> -
>>>>> -    /* flush any interrupts */
>>>>> -    writel((DA8XX_USB_USBINT_MASK | DA8XX_USB_TXINT_MASK |
>>>>> -        DA8XX_USB_RXINT_MASK), &da8xx_usb_regs->intmsk_clr);
>>>>> -    writel(0, &da8xx_usb_regs->eoi);
>>>>> -}
>>>>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-12-12 14:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-10 16:35 [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX Adam Ford
2018-12-10 19:01 ` Marek Vasut
2018-12-11  9:47   ` Jean-Jacques Hiblot
2018-12-11  9:51     ` Jean-Jacques Hiblot
2018-12-12 13:55       ` Adam Ford
2018-12-12 14:21         ` Jean-Jacques Hiblot
2018-12-11 14:35 ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.