[U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX

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); -}

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);
-}

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);
-}

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); -}

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);
-}

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);
-}

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?
participants (3)
-
Adam Ford
-
Jean-Jacques Hiblot
-
Marek Vasut