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

Jean-Jacques Hiblot jjhiblot at ti.com
Tue Dec 11 09:47:32 UTC 2018


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



More information about the U-Boot mailing list