From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Jacques Hiblot Date: Tue, 11 Dec 2018 10:47:32 +0100 Subject: [U-Boot] [PATCH] Drivers: USB: MUSB: Remove legacy CONFIG_USB_DA8XX In-Reply-To: <6da935c6-df6d-337c-5dd8-d4e2b617140f@denx.de> References: <20181210163528.11438-1-aford173@gmail.com> <6da935c6-df6d-337c-5dd8-d4e2b617140f@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > 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 > >> 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 >> - * >> - * Based on drivers/usb/musb/davinci.c >> - * >> - * Copyright (C) 2009 Texas Instruments Incorporated >> - */ >> -#include >> - >> -#include "musb_core.h" >> -#include >> - >> -/* 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); >> -} >>