Skip to contentSkip to conversation

usb: USB_ARCH_HAS_HCD Kconfig option removal

PATCH Superseded Paul Kocialkowski 3 participants 30 messages Jul 22, 2015 – Jul 27, 2015

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/12 usb: USB_ARCH_HAS_HCD Kconfig option removal

The USB_ARCH_HAS_HCD currently serves no purpose and adds some confusion to the required Kconfig options that are required to have USB support.

Dropping it makes things easier and doesn't break anything, since it was unused anyways.

---
 drivers/usb/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/usb/Kconfig +0 -4
index 637ef3d..fe1ef11 100644
@@ -1,9 +1,5 @@
-config USB_ARCH_HAS_HCD
-	def_bool y
-
 config USB
 	bool "Support for Host-side USB"
-	depends on USB_ARCH_HAS_HCD
 	---help---
 	  Universal Serial Bus (USB) is a specification for a serial bus
 	  subsystem which offers higher speeds and more features than the
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/12 usb: Generic USB Kconfig option, that fits both host and gadget

There is no particular reason why the USB Kconfig option should be specific to host mode. In prevision of adding MUSB host and gadget to Kconfig, this moves the title and help message of the USB Kconfig option to a more generic format.

---
 drivers/usb/Kconfig | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/usb/Kconfig +5 -3
index fe1ef11..300a009 100644
@@ -1,5 +1,5 @@
 config USB
-	bool "Support for Host-side USB"
+	bool "Support USB"
 	---help---
 	  Universal Serial Bus (USB) is a specification for a serial bus
 	  subsystem which offers higher speeds and more features than the
@@ -13,8 +13,10 @@ config USB
 	  such as scanners, keyboards, mice, modems, cameras, disks,
 	  flash memory, network links, and printers to the PC.
 
-	  Say Y here if your computer has a host-side USB port and you want
-	  to use USB devices.  You then need to say Y to at least one of the
+	  Say Y here if your device has an USB port, either host, peripheral or
+	  dual-role.
+
+	  For an USB host port, you then need to say Y to at least one of the
 	  Host Controller Driver (HCD) options below.  Choose a USB 1.1
 	  controller, such as "UHCI HCD support" or "OHCI HCD support",
 	  and "EHCI HCD (USB 2.0) support" except for older systems that
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/12 usb: Generic USB Kconfig option, that fits both host and gadget

Quoted 15 lines · Paul Kocialkowski

There is no particular reason why the USB Kconfig option should be specific to host mode. In prevision of adding MUSB host and gadget to Kconfig, this moves the title and help message of the USB Kconfig option to a more generic format.

---
 drivers/usb/Kconfig | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/usb/Kconfig +0 -0
index fe1ef11..300a009 100644

drivers/usb/Kconfig line 2

Quoted 3 lines
drivers/usb/Kconfig +1 -1
@@ -1,5 +1,5 @@
 config USB
-	bool "Support for Host-side USB"
+	bool "Support USB"

"USB support" please.

drivers/usb/Kconfig line 5

Quoted 3 lines
drivers/usb/Kconfig +0 -0
 	---help---
 	  Universal Serial Bus (USB) is a specification for a serial bus
 	  subsystem which offers higher speeds and more features than the

Otherwise

Best regards,
Marek Vasut

#3 lore raw

PATCH 3/12 usb: musb-new: CONFIG_MUSB prefix replacement with CONFIG_USB_MUSB

In reply to Paul Kocialkowski

USB-related options are usually prefixed with CONFIG_USB and platform-specific adaptation for the MUSB controller already have a CONFIG_USB_MUSB prefix, so this switches all MUSB-related options to a CONFIG_USB_MUSB prefix, for consistency.

---
 arch/arm/cpu/armv7/am33xx/board.c      |  2 +-
 board/birdland/bav335x/board.c         |  2 +-
 board/compulab/cm_t3517/cm_t3517.c     |  6 +++---
 board/logicpd/am3517evm/am3517evm.c    |  8 ++++----
 board/phytec/pcm051/board.c            |  2 +-
 board/siemens/draco/board.c            |  2 +-
 board/siemens/pxm2/board.c             |  2 +-
 board/siemens/rut/board.c              |  2 +-
 board/sunxi/board.c                    |  6 +++---
 board/ti/am335x/board.c                |  2 +-
 board/ti/beagle/beagle.c               |  8 ++++----
 board/vscom/baltos/board.c             |  2 +-
 drivers/usb/gadget/gadget_chips.h      |  2 +-
 drivers/usb/musb-new/Makefile          |  6 +++---
 drivers/usb/musb-new/musb_core.c       | 12 ++++++------
 drivers/usb/musb-new/musb_core.h       |  4 ++--
 drivers/usb/musb-new/musb_dma.h        |  2 +-
 drivers/usb/musb-new/musb_gadget.c     |  4 ++--
 drivers/usb/musb-new/musb_uboot.c      | 12 ++++++------
 include/configs/am335x_evm.h           | 16 ++++++++--------
 include/configs/am3517_evm.h           | 16 ++++++++--------
 include/configs/baltos.h               | 16 ++++++++--------
 include/configs/bav335x.h              | 16 ++++++++--------
 include/configs/cm_t3517.h             |  4 ++--
 include/configs/kwb.h                  | 10 +++++-----
 include/configs/omap3_beagle.h         |  4 ++--
 include/configs/pcm051.h               | 12 ++++++------
 include/configs/pengwyn.h              | 12 ++++++------
 include/configs/siemens-am33x-common.h | 14 +++++++-------
 include/configs/sunxi-common.h         |  4 ++--
 include/configs/tseries.h              | 10 +++++-----
 include/usb.h                          |  6 +++---
 32 files changed, 113 insertions(+), 113 deletions(-)
arch/arm/cpu/armv7/am33xx/board.c +1 -1
index 67bef23..377c611 100644
@@ -124,7 +124,7 @@ int cpu_mmc_init(bd_t *bis)
 #endif
 
 /* AM33XX has two MUSB controllers which can be host or gadget */
-#if (defined(CONFIG_MUSB_GADGET) || defined(CONFIG_MUSB_HOST)) && \
+#if (defined(CONFIG_USB_MUSB_GADGET) || defined(CONFIG_USB_MUSB_HOST)) && \
 	(defined(CONFIG_AM335X_USB0) || defined(CONFIG_AM335X_USB1))
 static struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
 
board/birdland/bav335x/board.c +1 -1
index 32ff7a4..67aca3c 100644
@@ -363,7 +363,7 @@ static struct cpsw_platform_data cpsw_data = {
 #if ((defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USBETH_SUPPORT)) &&\
 		defined(CONFIG_SPL_BUILD)) || \
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
-	  defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) && \
+	  defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
 int board_eth_init(bd_t *bis)
 {
board/compulab/cm_t3517/cm_t3517.c +3 -3
index 03b2bad..b33522e 100644
@@ -50,12 +50,12 @@ static struct omap_musb_board_data cm_t3517_musb_board_data = {
 };
 
 static struct musb_hdrc_platform_data cm_t3517_musb_pdata = {
-#if defined(CONFIG_MUSB_HOST)
+#if defined(CONFIG_USB_MUSB_HOST)
 	.mode           = MUSB_HOST,
-#elif defined(CONFIG_MUSB_GADGET)
+#elif defined(CONFIG_USB_MUSB_GADGET)
 	.mode		= MUSB_PERIPHERAL,
 #else
-#error "Please define either CONFIG_MUSB_HOST or CONFIG_MUSB_GADGET"
+#error "Please define either CONFIG_USB_MUSB_HOST or CONFIG_USB_MUSB_GADGET"
 #endif
 	.config         = &cm_t3517_musb_config,
 	.power          = 250,
board/logicpd/am3517evm/am3517evm.c +4 -4
index 24be6ea..24ff9c3 100644
@@ -65,12 +65,12 @@ static struct omap_musb_board_data musb_board_data = {
 };
 
 static struct musb_hdrc_platform_data musb_plat = {
-#if defined(CONFIG_MUSB_HOST)
+#if defined(CONFIG_USB_MUSB_HOST)
 	.mode           = MUSB_HOST,
-#elif defined(CONFIG_MUSB_GADGET)
+#elif defined(CONFIG_USB_MUSB_GADGET)
 	.mode		= MUSB_PERIPHERAL,
 #else
-#error "Please define either CONFIG_MUSB_HOST or CONFIG_MUSB_GADGET"
+#error "Please define either CONFIG_USB_MUSB_HOST or CONFIG_USB_MUSB_GADGET"
 #endif
 	.config         = &musb_config,
 	.power          = 250,
@@ -159,7 +159,7 @@ int board_mmc_init(bd_t *bis)
 }
 #endif
 
-#if defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)
+#if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)
 int board_eth_init(bd_t *bis)
 {
 	int rv, n = 0;
board/phytec/pcm051/board.c +1 -1
index 1bf9d73..4f3853a 100644
@@ -208,7 +208,7 @@ static struct cpsw_platform_data cpsw_data = {
 #endif
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
-	(defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET))
+	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
 int board_eth_init(bd_t *bis)
 {
 	int rv, n = 0;
board/siemens/draco/board.c +1 -1
index 2697762..4882314 100644
@@ -267,7 +267,7 @@ static struct cpsw_platform_data cpsw_data = {
 };
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
-	(defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET))
+	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
 int board_eth_init(bd_t *bis)
 {
 	struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
board/siemens/pxm2/board.c +1 -1
index 4d8ba3c..750f338 100644
@@ -213,7 +213,7 @@ static struct cpsw_platform_data cpsw_data = {
 #endif /* #if (defined(CONFIG_DRIVER_TI_CPSW) && !defined(CONFIG_SPL_BUILD)) */
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
-	(defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET))
+	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
 int board_eth_init(bd_t *bis)
 {
 	int n = 0;
board/siemens/rut/board.c +1 -1
index fb840f7..f94e3e5 100644
@@ -174,7 +174,7 @@ static struct cpsw_platform_data cpsw_data = {
 };
 
 #if defined(CONFIG_DRIVER_TI_CPSW) || \
-	(defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET))
+	(defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET))
 int board_eth_init(bd_t *bis)
 {
 	struct ctrl_dev *cdev = (struct ctrl_dev *)CTRL_DEVICE_BASE;
board/sunxi/board.c +3 -3
index ed60e74..c53ef6b 100644
@@ -451,7 +451,7 @@ void sunxi_board_init(void)
 }
 #endif
 
-#if defined(CONFIG_MUSB_HOST) || defined(CONFIG_MUSB_GADGET)
+#if defined(CONFIG_USB_MUSB_HOST) || defined(CONFIG_USB_MUSB_GADGET)
 extern const struct musb_platform_ops sunxi_musb_ops;
 
 static struct musb_hdrc_config musb_config = {
@@ -462,7 +462,7 @@ static struct musb_hdrc_config musb_config = {
 };
 
 static struct musb_hdrc_platform_data musb_plat = {
-#if defined(CONFIG_MUSB_HOST)
+#if defined(CONFIG_USB_MUSB_HOST)
 	.mode           = MUSB_HOST,
 #else
 	.mode		= MUSB_PERIPHERAL,
@@ -535,7 +535,7 @@ int misc_init_r(void)
 	if (ret)
 		return ret;
 #endif
-#if defined(CONFIG_MUSB_HOST) || defined(CONFIG_MUSB_GADGET)
+#if defined(CONFIG_USB_MUSB_HOST) || defined(CONFIG_USB_MUSB_GADGET)
 	musb_register(&musb_plat, NULL, (void *)SUNXI_USB0_BASE);
 #endif
 	return 0;
board/ti/am335x/board.c +1 -1
index 96245a3..1dc2ed0 100644
@@ -569,7 +569,7 @@ static struct cpsw_platform_data cpsw_data = {
 #if ((defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USBETH_SUPPORT)) \
 		&& defined(CONFIG_SPL_BUILD)) || \
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
-	  defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) && \
+	  defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
 int board_eth_init(bd_t *bis)
 {
board/ti/beagle/beagle.c +4 -4
index 7b37fbe..3b0a9e7 100644
@@ -306,12 +306,12 @@ static struct omap_musb_board_data musb_board_data = {
 };
 
 static struct musb_hdrc_platform_data musb_plat = {
-#if defined(CONFIG_MUSB_HOST)
+#if defined(CONFIG_USB_MUSB_HOST)
 	.mode           = MUSB_HOST,
-#elif defined(CONFIG_MUSB_GADGET)
+#elif defined(CONFIG_USB_MUSB_GADGET)
 	.mode		= MUSB_PERIPHERAL,
 #else
-#error "Please define either CONFIG_MUSB_HOST or CONFIG_MUSB_GADGET"
+#error "Please define either CONFIG_USB_MUSB_HOST or CONFIG_USB_MUSB_GADGET"
 #endif
 	.config         = &musb_config,
 	.power          = 100,
@@ -568,7 +568,7 @@ int ehci_hcd_stop(int index)
 
 #endif /* CONFIG_USB_EHCI */
 
-#if defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)
+#if defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)
 int board_eth_init(bd_t *bis)
 {
 	return usb_eth_initialize(bis);
board/vscom/baltos/board.c +1 -1
index 09bc8c6..638d14f 100644
@@ -407,7 +407,7 @@ static struct cpsw_platform_data cpsw_data = {
 #if ((defined(CONFIG_SPL_ETH_SUPPORT) || defined(CONFIG_SPL_USBETH_SUPPORT)) \
 		&& defined(CONFIG_SPL_BUILD)) || \
 	((defined(CONFIG_DRIVER_TI_CPSW) || \
-	  defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) && \
+	  defined(CONFIG_USB_ETHER) && defined(CONFIG_USB_MUSB_GADGET)) && \
 	 !defined(CONFIG_SPL_BUILD))
 int board_eth_init(bd_t *bis)
 {
drivers/usb/gadget/gadget_chips.h +1 -1
index c859df2..e9811c3 100644
@@ -125,7 +125,7 @@
 #endif
 
 /* Mentor high speed "dual role" controller, in peripheral role */
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define gadget_is_musbhdrc(g)	(!strcmp("musb-hdrc", (g)->name))
 #else
 #define gadget_is_musbhdrc(g)	0
drivers/usb/musb-new/Makefile +3 -3
index 9edeece..fd9df72 100644
@@ -2,9 +2,9 @@
 # for USB OTG silicon based on Mentor Graphics INVENTRA designs
 #
 
-obj-$(CONFIG_MUSB_GADGET) += musb_gadget.o musb_gadget_ep0.o musb_core.o
-obj-$(CONFIG_MUSB_GADGET) += musb_uboot.o
-obj-$(CONFIG_MUSB_HOST) += musb_host.o musb_core.o musb_uboot.o
+obj-$(CONFIG_USB_MUSB_GADGET) += musb_gadget.o musb_gadget_ep0.o musb_core.o
+obj-$(CONFIG_USB_MUSB_GADGET) += musb_uboot.o
+obj-$(CONFIG_USB_MUSB_HOST) += musb_host.o musb_core.o musb_uboot.o
 obj-$(CONFIG_USB_MUSB_DSPS) += musb_dsps.o
 obj-$(CONFIG_USB_MUSB_AM35X) += am35x.o
 obj-$(CONFIG_USB_MUSB_OMAP2PLUS) += omap2430.o
drivers/usb/musb-new/musb_core.c +6 -6
index 242cc30..ad6279b 100644
@@ -1417,7 +1417,7 @@ static int __devinit musb_core_init(u16 musb_type, struct musb *musb)
 		strcat(aInfo, ", dyn FIFOs");
 		musb->dyn_fifo = true;
 	}
-#ifndef CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#ifndef CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 	if (reg & MUSB_CONFIGDATA_MPRXE) {
 		strcat(aInfo, ", bulk combine");
 		musb->bulk_combine = true;
@@ -1642,7 +1642,7 @@ irqreturn_t musb_interrupt(struct musb *musb)
 }
 EXPORT_SYMBOL_GPL(musb_interrupt);
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 static bool __devinitdata use_dma = 1;
 
 /* "modprobe ... use_dma=0" etc */
@@ -1991,7 +1991,7 @@ musb_init_controller(struct musb_hdrc_platform_data *plat, struct device *dev,
 
 	pm_runtime_get_sync(musb->controller);
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 	if (use_dma && dev->dma_mask) {
 		struct dma_controller	*c;
 
@@ -2174,7 +2174,7 @@ fail0:
  * bridge to a platform device; this driver then suffices.
  */
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 static u64	*orig_dma_mask;
 #endif
 
@@ -2197,7 +2197,7 @@ static int __devinit musb_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 	/* clobbered by use_dma=n */
 	orig_dma_mask = dev->dma_mask;
 #endif
@@ -2224,7 +2224,7 @@ static int __devexit musb_remove(struct platform_device *pdev)
 	musb_free(musb);
 	iounmap(ctrl_base);
 	device_init_wakeup(&pdev->dev, 0);
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 	pdev->dev.dma_mask = orig_dma_mask;
 #endif
 	return 0;
drivers/usb/musb-new/musb_core.h +2 -2
index 2695742..810f278 100644
@@ -97,7 +97,7 @@ struct musb_ep;
 #ifndef __UBOOT__
 #define	is_peripheral_capable()	(1)
 #else
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define	is_peripheral_capable()	(1)
 #else
 #define	is_peripheral_capable()	(0)
@@ -118,7 +118,7 @@ extern void musb_g_disconnect(struct musb *);
 #ifndef __UBOOT__
 #define	is_host_capable()	(1)
 #else
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define	is_host_capable()	(1)
 #else
 #define	is_host_capable()	(0)
drivers/usb/musb-new/musb_dma.h +1 -1
index 3a97c4e..17fe89f 100644
@@ -62,7 +62,7 @@ struct musb_hw_ep;
 
 #define	DMA_ADDR_INVALID	(~(dma_addr_t)0)
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 #define	is_dma_capable()	(1)
 #else
 #define	is_dma_capable()	(0)
drivers/usb/musb-new/musb_gadget.c +2 -2
index 97acf93..309dc7f 100644
@@ -99,7 +99,7 @@
 #define is_buffer_mapped(req) (is_dma_capable() && \
 					(req->map_state != UN_MAPPED))
 
-#ifndef CONFIG_MUSB_PIO_ONLY
+#ifndef CONFIG_USB_MUSB_PIO_ONLY
 /* Maps the buffer to dma  */
 
 static inline void map_dma_buffer(struct musb_request *request,
@@ -382,7 +382,7 @@ static void txstate(struct musb *musb, struct musb_request *req)
 			epnum, musb_ep->packet_sz, fifo_count,
 			csr);
 
-#ifndef	CONFIG_MUSB_PIO_ONLY
+#ifndef	CONFIG_USB_MUSB_PIO_ONLY
 	if (is_buffer_mapped(req)) {
 		struct dma_controller	*c = musb->dma_controller;
 		size_t request_size;
drivers/usb/musb-new/musb_uboot.c +6 -6
index d1ee5f8..8e1ce7e 100644
@@ -14,7 +14,7 @@
 #include "musb_host.h"
 #include "musb_gadget.h"
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 struct int_queue {
 	struct usb_host_endpoint hep;
 	struct urb urb;
@@ -249,9 +249,9 @@ int usb_lowlevel_stop(int index)
 	musb_stop(host);
 	return 0;
 }
-#endif /* CONFIG_MUSB_HOST */
+#endif /* CONFIG_USB_MUSB_HOST */
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 static struct musb *gadget;
 
 int usb_gadget_handle_interrupts(int index)
@@ -301,7 +301,7 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
 		driver->unbind(&gadget->g);
 	return 0;
 }
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 int musb_register(struct musb_hdrc_platform_data *plat, void *bdata,
 			void *ctl_regs)
@@ -309,12 +309,12 @@ int musb_register(struct musb_hdrc_platform_data *plat, void *bdata,
 	struct musb **musbp;
 
 	switch (plat->mode) {
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 	case MUSB_HOST:
 		musbp = &host;
 		break;
 #endif
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 	case MUSB_PERIPHERAL:
 		musbp = &gadget;
 		break;
include/configs/am335x_evm.h +8 -8
index 633391b..e89c49e 100644
@@ -283,14 +283,14 @@
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 #define CONFIG_USB_GADGET
 #define CONFIG_USB_GADGET_DOWNLOAD
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_GADGET_VBUS_DRAW	2
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
@@ -309,12 +309,12 @@
 #define CONFIG_FASTBOOT_FLASH_MMC_DEV   1
 #endif
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_ETHER
 #define CONFIG_USB_ETH_RNDIS
 #define CONFIG_USBNET_HOST_ADDR	"de:ad:be:af:00:00"
@@ -323,7 +323,7 @@
 #define CONFIG_G_DNL_VENDOR_NUM 0x0451
 #define CONFIG_G_DNL_PRODUCT_NUM 0xD022
 #define CONFIG_G_DNL_MANUFACTURER "Texas Instruments"
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
 /* Remove other SPL modes. */
@@ -333,7 +333,7 @@
 #define CONFIG_ENV_IS_NOWHERE
 #undef CONFIG_ENV_IS_IN_NAND
 /* disable host part of MUSB in SPL */
-#undef CONFIG_MUSB_HOST
+#undef CONFIG_USB_MUSB_HOST
 /* disable EFI partitions and partition UUID support */
 #undef CONFIG_PARTITION_UUIDS
 #undef CONFIG_EFI_PARTITION
include/configs/am3517_evm.h +8 -8
index b90a60d..2db3518 100644
@@ -95,16 +95,16 @@
 
 /*
  * USB configuration
- * Enable CONFIG_MUSB_HOST for Host functionalities MSC, keyboard
- * Enable CONFIG_MUSB_GADGET for Device functionalities.
+ * Enable CONFIG_USB_MUSB_HOST for Host functionalities MSC, keyboard
+ * Enable CONFIG_USB_MUSB_GADGET for Device functionalities.
  */
 #define CONFIG_USB_MUSB_AM35X
-#define CONFIG_MUSB_HOST
-#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_HOST
+#define CONFIG_USB_MUSB_PIO_ONLY
 
 #ifdef CONFIG_USB_MUSB_AM35X
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 
 #define CONFIG_USB_STORAGE
@@ -116,13 +116,13 @@
 #define CONFIG_PREBOOT "usb start"
 #endif /* CONFIG_USB_KEYBOARD */
 
-#endif /* CONFIG_MUSB_HOST */
+#endif /* CONFIG_USB_MUSB_HOST */
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_ETHER
 #define CONFIG_USB_ETH_RNDIS
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #endif /* CONFIG_USB_MUSB_AM35X */
 
include/configs/baltos.h +8 -8
index cce5e4f..5545cf0 100644
@@ -273,25 +273,25 @@
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 #define CONFIG_USB_GADGET
 #define CONFIG_USBDOWNLOAD_GADGET
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_GADGET_VBUS_DRAW	2
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_HOST
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_OTG
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_ETHER
 #define CONFIG_USB_ETH_RNDIS
 #define CONFIG_USBNET_HOST_ADDR	"de:ad:be:af:00:00"
@@ -300,11 +300,11 @@
 #define CONFIG_G_DNL_VENDOR_NUM 0x0403
 #define CONFIG_G_DNL_PRODUCT_NUM 0xBD00
 #define CONFIG_G_DNL_MANUFACTURER "Texas Instruments"
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
 /* disable host part of MUSB in SPL */
-#undef CONFIG_MUSB_HOST
+#undef CONFIG_USB_MUSB_HOST
 /* disable EFI partitions and partition UUID support */
 #undef CONFIG_PARTITION_UUIDS
 #undef CONFIG_EFI_PARTITION
include/configs/bav335x.h +8 -8
index fa32fa4..9917627 100644
@@ -440,14 +440,14 @@ DEFAULT_LINUX_BOOT_ENV \
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 #define CONFIG_USB_GADGET
 #define CONFIG_USB_GADGET_DOWNLOAD
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_GADGET_VBUS_DRAW	2
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
@@ -466,12 +466,12 @@ DEFAULT_LINUX_BOOT_ENV \
 #define CONFIG_FASTBOOT_FLASH_MMC_DEV   1
 #endif
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_CMD_USB_MASS_STORAGE
 #define CONFIG_USB_FUNCTION_MASS_STORAGE
 
@@ -479,11 +479,11 @@ DEFAULT_LINUX_BOOT_ENV \
 #define CONFIG_G_DNL_VENDOR_NUM 0x0451
 #define CONFIG_G_DNL_PRODUCT_NUM 0xD022
 #define CONFIG_G_DNL_MANUFACTURER "Texas Instruments"
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
 /* disable host part of MUSB in SPL */
-#undef CONFIG_MUSB_HOST
+#undef CONFIG_USB_MUSB_HOST
 /* disable EFI partitions and partition UUID support */
 #undef CONFIG_PARTITION_UUIDS
 #undef CONFIG_EFI_PARTITION
include/configs/cm_t3517.h +2 -2
index a8d0b97..cf08414 100644
@@ -112,8 +112,8 @@
 #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 146
 #define CONFIG_OMAP_EHCI_PHY2_RESET_GPIO 147
 #else /* !CONFIG_USB_MUSB_AM35X */
-#define CONFIG_MUSB_HOST
-#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_HOST
+#define CONFIG_USB_MUSB_PIO_ONLY
 #endif /* CONFIG_USB_MUSB_AM35X */
 
 #define CONFIG_USB_STORAGE
include/configs/kwb.h +5 -5
index acff5b9..96f2e9d 100644
@@ -116,20 +116,20 @@ BUR_COMMON_ENV \
 /* USB configuration */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 /* attention! not only for gadget, enables also highspeed in hostmode */
 #define CONFIG_USB_GADGET_DUALSPEED
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_HOST
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE	MUSB_HOST
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
-#endif /* CONFIG_MUSB_HOST */
+#endif /* CONFIG_USB_MUSB_HOST */
 
 #undef CONFIG_ENV_IS_NOWHERE
 #define CONFIG_ENV_IS_IN_MMC
include/configs/omap3_beagle.h +2 -2
index 804e307..dbe3e9b 100644
@@ -59,9 +59,9 @@
 #define CONFIG_SYS_I2C_NOPROBES		{{0x0, 0x0}}
 
 /* USB */
-#define CONFIG_MUSB_GADGET
+#define CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_MUSB_OMAP2PLUS
-#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_PIO_ONLY
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_TWL4030_USB		1
 #define CONFIG_USB_ETHER
include/configs/pcm051.h +6 -6
index d80cf32..275e952 100644
@@ -143,24 +143,24 @@
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
 #define CONFIG_USB_GADGET_DUALSPEED
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_ETHER
 #define CONFIG_USB_ETH_RNDIS
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #define CONFIG_PHY_GIGE
 #define CONFIG_PHYLIB
include/configs/pengwyn.h +6 -6
index 4684ad6..ccb5dd3 100644
@@ -174,26 +174,26 @@
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 #define CONFIG_USB_GADGET
 #define CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_GADGET_VBUS_DRAW	2
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
 
-#if defined(CONFIG_MUSB_HOST)
+#if defined(CONFIG_USB_MUSB_HOST)
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
 #if defined(CONFIG_SPL_BUILD)
 /* disable host part of MUSB in SPL */
-#undef CONFIG_MUSB_HOST
+#undef CONFIG_USB_MUSB_HOST
 /* Disable CPSW SPL support so we fit within the 101KiB limit. */
 #undef CONFIG_SPL_ETH_SUPPORT
 #endif
include/configs/siemens-am33x-common.h +7 -7
index f7bef70..08235c7 100644
@@ -226,27 +226,27 @@
  */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_GADGET
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 #undef CONFIG_USB_GADGET_DUALSPEED
 #define CONFIG_USB_GADGET_VBUS_DRAW	2
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
 
-#ifdef CONFIG_MUSB_GADGET
+#ifdef CONFIG_USB_MUSB_GADGET
 #define CONFIG_USB_ETHER
 #define CONFIG_USB_ETH_RNDIS
 #define CONFIG_USBNET_HOST_ADDR	"de:ad:be:af:00:00"
-#endif /* CONFIG_MUSB_GADGET */
+#endif /* CONFIG_USB_MUSB_GADGET */
 
 #define CONFIG_USB_GADGET
 #define CONFIG_USB_GADGET_DOWNLOAD
include/configs/sunxi-common.h +2 -2
index 9576bc1..e34c57c 100644
@@ -326,8 +326,8 @@ extern int soft_i2c_gpio_scl;
 #endif
 
 #ifdef CONFIG_USB_MUSB_SUNXI
-#define CONFIG_MUSB_HOST
-#define CONFIG_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_HOST
+#define CONFIG_USB_MUSB_PIO_ONLY
 #endif
 
 #if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
include/configs/tseries.h +5 -5
index 6a1835e..4265b8a 100644
@@ -245,20 +245,20 @@ MMCARGS
 /* USB configuration */
 #define CONFIG_USB_MUSB_DSPS
 #define CONFIG_ARCH_MISC_INIT
-#define CONFIG_MUSB_PIO_ONLY
-#define CONFIG_MUSB_DISABLE_BULK_COMBINE_SPLIT
+#define CONFIG_USB_MUSB_PIO_ONLY
+#define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
 /* attention! not only for gadget, enables also highspeed in hostmode */
 #define CONFIG_USB_GADGET_DUALSPEED
-#define CONFIG_MUSB_HOST
+#define CONFIG_USB_MUSB_HOST
 #define CONFIG_AM335X_USB0
 #define CONFIG_AM335X_USB0_MODE	MUSB_HOST
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
-#endif /* CONFIG_MUSB_HOST */
+#endif /* CONFIG_USB_MUSB_HOST */
 
 #if defined(CONFIG_SPI_BOOT)
 /* McSPI IP block */
include/usb.h +3 -3
index dca512d..e638e5f 100644
@@ -174,7 +174,7 @@ enum usb_init_type {
 int usb_lowlevel_init(int index, enum usb_init_type init, void **controller);
 int usb_lowlevel_stop(int index);
 
-#if defined(CONFIG_MUSB_HOST) || defined(CONFIG_DM_USB)
+#if defined(CONFIG_USB_MUSB_HOST) || defined(CONFIG_DM_USB)
 int usb_reset_root_port(void);
 #else
 #define usb_reset_root_port()
@@ -187,7 +187,7 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
 int submit_int_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
 			int transfer_len, int interval);
 
-#if defined CONFIG_USB_EHCI || defined CONFIG_MUSB_HOST || defined(CONFIG_DM_USB)
+#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_HOST || defined(CONFIG_DM_USB)
 struct int_queue *create_int_queue(struct usb_device *dev, unsigned long pipe,
 	int queuesize, int elementsize, void *buffer, int interval);
 int destroy_int_queue(struct usb_device *dev, struct int_queue *queue);
@@ -710,7 +710,7 @@ struct dm_usb_ops {
 #define usb_get_ops(dev)	((struct dm_usb_ops *)(dev)->driver->ops)
 #define usb_get_emul_ops(dev)	((struct dm_usb_ops *)(dev)->driver->ops)
 
-#ifdef CONFIG_MUSB_HOST
+#ifdef CONFIG_USB_MUSB_HOST
 int usb_reset_root_port(void);
 #endif
 
Signature · 1 line
1.9.1
#4 lore raw

PATCH 3/12 usb: musb-new: CONFIG_MUSB prefix replacement with CONFIG_USB_MUSB

Quoted 6 lines · Paul Kocialkowski

USB-related options are usually prefixed with CONFIG_USB and platform-specific adaptation for the MUSB controller already have a CONFIG_USB_MUSB prefix, so this switches all MUSB-related options to a CONFIG_USB_MUSB prefix, for consistency.

Best regards,
Marek Vasut

#5 lore raw

PATCH 4/12 usb: musb-new: Kconfig support for USB_MUSB_HOST and USB_MUSB_GADGET

In reply to Paul Kocialkowski

Having MUSB_HOST and MUSB_GADGET in Kconfig allows more flexibility with regard to what Kconfig options to enable, such as USB_STORAGE or USB_KEYBOARD.

---
 drivers/usb/Kconfig          |  2 ++
 drivers/usb/musb-new/Kconfig | 14 ++++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 drivers/usb/musb-new/Kconfig
drivers/usb/Kconfig +2 -0
index 300a009..5503ec9 100644
@@ -49,6 +49,8 @@ config DM_USB
 
 source "drivers/usb/host/Kconfig"
 
+source "drivers/usb/musb-new/Kconfig"
+
 source "drivers/usb/emul/Kconfig"
 
 config USB_STORAGE
drivers/usb/musb-new/Kconfig new file +14 -0
new file mode 100644
index 0000000..34a8474
@@ -0,0 +1,14 @@
+#
+# MUSB Controller Driver
+#
+comment "MUSB Controller Driver"
+
+config USB_MUSB_HOST
+	bool "MUSB host mode support"
+	help
+	  Enables the MUSB USB dual-role controller in host mode.
+
+config USB_MUSB_GADGET
+	bool "MUSB gadget mode support"
+	help
+	  Enables the MUSB USB dual-role controller in gadget mode.
Signature · 1 line
1.9.1
#7 lore raw

PATCH 5/12 usb: USB comments in Kconfig for better separation

In reply to Paul Kocialkowski

Adding comments to the usb Kconfig allows for a better separation and more readability in generated configs and in menuconfig.

---
 drivers/usb/Kconfig | 7 +++++++
 1 file changed, 7 insertions(+)
drivers/usb/Kconfig +7 -0
index 5503ec9..d602e44 100644
@@ -1,3 +1,8 @@
+#
+# USB
+#
+comment "USB"
+
 config USB
 	bool "Support USB"
 	---help---
@@ -53,6 +58,8 @@ source "drivers/usb/musb-new/Kconfig"
 
 source "drivers/usb/emul/Kconfig"
 
+comment "USB peripherals"
+
 config USB_STORAGE
 	bool "USB Mass Storage support"
 	---help---
Signature · 1 line
1.9.1
#9 lore raw

PATCH 6/12 usb: USB_MUSB_SUNXI move to musb-new Kconfig

In reply to Paul Kocialkowski

Now that the musb-new driver has a Kconfig, we can move Kconfig options to enable controllers to it, so that it's easier in e.g. menuconfig.

---
 board/sunxi/Kconfig          |  9 ---------
 drivers/usb/musb-new/Kconfig | 14 ++++++++++++++
 2 files changed, 14 insertions(+), 9 deletions(-)
board/sunxi/Kconfig +0 -9
index 2a1cd3c..9c25d49 100644
@@ -532,15 +532,6 @@ config VIDEO_LCD_TL059WV5C0
 endchoice
 
 
-config USB_MUSB_SUNXI
-	bool "Enable sunxi OTG / DRC USB controller in host mode"
-	default n
-	---help---
-	Say y here to enable support for the sunxi OTG / DRC USB controller
-	used on almost all sunxi boards. Note currently u-boot can only have
-	one usb host controller enabled at a time, so enabling this on boards
-	which also use the ehci host controller will result in build errors.
-
 config USB_KEYBOARD
 	boolean "Enable USB keyboard support"
 	default y
drivers/usb/musb-new/Kconfig +14 -0
index 34a8474..5be072a 100644
@@ -12,3 +12,17 @@ config USB_MUSB_GADGET
 	bool "MUSB gadget mode support"
 	help
 	  Enables the MUSB USB dual-role controller in gadget mode.
+
+if USB_MUSB_HOST || USB_MUSB_GADGET
+
+config USB_MUSB_SUNXI
+	bool "Enable sunxi OTG / DRC USB controller"
+	depends on ARCH_SUNXI
+	default n
+	---help---
+	Say y here to enable support for the sunxi OTG / DRC USB controller
+	used on almost all sunxi boards. Note currently u-boot can only have
+	one usb host controller enabled at a time, so enabling this on boards
+	which also use the ehci host controller will result in build errors.
+
+endif
Signature · 1 line
1.9.1
#10 lore raw

PATCH 6/12 usb: USB_MUSB_SUNXI move to musb-new Kconfig

Hi,

Quoted 42 lines · Paul Kocialkowski

Now that the musb-new driver has a Kconfig, we can move Kconfig options to enable controllers to it, so that it's easier in e.g. menuconfig.

---
  board/sunxi/Kconfig          |  9 ---------
  drivers/usb/musb-new/Kconfig | 14 ++++++++++++++
  2 files changed, 14 insertions(+), 9 deletions(-)
board/sunxi/Kconfig +0 -9
index 2a1cd3c..9c25d49 100644
@@ -532,15 +532,6 @@ config VIDEO_LCD_TL059WV5C0
  endchoice
 
 
-config USB_MUSB_SUNXI
-	bool "Enable sunxi OTG / DRC USB controller in host mode"
-	default n
-	---help---
-	Say y here to enable support for the sunxi OTG / DRC USB controller
-	used on almost all sunxi boards. Note currently u-boot can only have
-	one usb host controller enabled at a time, so enabling this on boards
-	which also use the ehci host controller will result in build errors.
-
  config USB_KEYBOARD
  	boolean "Enable USB keyboard support"
  	default y
drivers/usb/musb-new/Kconfig +4 -0
index 34a8474..5be072a 100644
@@ -12,3 +12,17 @@ config USB_MUSB_GADGET
  	bool "MUSB gadget mode support"
  	help
  	  Enables the MUSB USB dual-role controller in gadget mode.
+
+if USB_MUSB_HOST || USB_MUSB_GADGET
+
+config USB_MUSB_SUNXI

drivers/usb/musb-new/Kconfig config USB_MUSB_GADGET · line 28

Quoted 10 lines
drivers/usb/musb-new/Kconfig +10 -0
+	bool "Enable sunxi OTG / DRC USB controller"
+	depends on ARCH_SUNXI
+	default n
+	---help---
+	Say y here to enable support for the sunxi OTG / DRC USB controller
+	used on almost all sunxi boards. Note currently u-boot can only have
+	one usb host controller enabled at a time, so enabling this on boards
+	which also use the ehci host controller will result in build errors.
+
+endif

AFAICT this will break MUSB host usage on current sunxi boards, since their defconfig-s contain CONFIG_USB_MUSB_SUNXI=y but not CONFIG_USB_MUSB_HOST=y please update all sunxi defconfigs which have CONFIG_USB_MUSB_SUNXI=y to also set CONFIG_USB_MUSB_HOST=y in this patch to avoid this breakage.

Note all earlier patches in this series look good to me and are:

Regards,

Hans

#11 lore raw

PATCH 6/12 usb: USB_MUSB_SUNXI move to musb-new Kconfig

Le mercredi 22 juillet 2015 ? 11:17 +0200, Hans de Goede a ?crit :

Quoted 52 lines

Hi,

Quoted 49 lines · Paul Kocialkowski

Now that the musb-new driver has a Kconfig, we can move Kconfig options to enable controllers to it, so that it's easier in e.g. menuconfig.

---
  board/sunxi/Kconfig          |  9 ---------
  drivers/usb/musb-new/Kconfig | 14 ++++++++++++++
  2 files changed, 14 insertions(+), 9 deletions(-)
board/sunxi/Kconfig +0 -9
index 2a1cd3c..9c25d49 100644
@@ -532,15 +532,6 @@ config VIDEO_LCD_TL059WV5C0
  endchoice
 
 
-config USB_MUSB_SUNXI
-	bool "Enable sunxi OTG / DRC USB controller in host mode"
-	default n
-	---help---
-	Say y here to enable support for the sunxi OTG / DRC USB controller
-	used on almost all sunxi boards. Note currently u-boot can only have
-	one usb host controller enabled at a time, so enabling this on boards
-	which also use the ehci host controller will result in build errors.
-
  config USB_KEYBOARD
  	boolean "Enable USB keyboard support"
  	default y
drivers/usb/musb-new/Kconfig +12 -0
index 34a8474..5be072a 100644
@@ -12,3 +12,17 @@ config USB_MUSB_GADGET
  	bool "MUSB gadget mode support"
  	help
  	  Enables the MUSB USB dual-role controller in gadget mode.
+
+if USB_MUSB_HOST || USB_MUSB_GADGET
+
+config USB_MUSB_SUNXI
+	bool "Enable sunxi OTG / DRC USB controller"
+	depends on ARCH_SUNXI
+	default n
+	---help---
+	Say y here to enable support for the sunxi OTG / DRC USB controller
+	used on almost all sunxi boards. Note currently u-boot can only have
+	one usb host controller enabled at a time, so enabling this on boards
+	which also use the ehci host controller will result in build errors.
Quoted 8 lines

drivers/usb/musb-new/Kconfig config USB_MUSB_GADGET · line 28

Quoted 3 lines
drivers/usb/musb-new/Kconfig +2 -0
+
+endif

AFAICT this will break MUSB host usage on current sunxi boards, since their defconfig-s contain CONFIG_USB_MUSB_SUNXI=y but not CONFIG_USB_MUSB_HOST=y please update all sunxi defconfigs which have CONFIG_USB_MUSB_SUNXI=y to also set CONFIG_USB_MUSB_HOST=y in this patch to avoid this breakage.

Ah, I suspected you wouldn't like it! This is fixed by the next page, as you probably saw, but I don't object to having every patch leave the tree in an unsable state.

I'll submit v2 with that in mind.

Quoted 8 lines

Note all earlier patches in this series look good to me and are:

Regards,

Hans

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150724/def58005/attachment.sig>

#12 lore raw

PATCH 7/12 usb: USB_KEYBOARD move to usb Kconfig

In reply to Paul Kocialkowski

The USB_KEYBOARD Kconfig is not specific to sunxi, so we can move it to the common USB Kconfig.

---
 board/sunxi/Kconfig | 5 -----
 drivers/usb/Kconfig | 6 ++++++
 2 files changed, 6 insertions(+), 5 deletions(-)
board/sunxi/Kconfig +0 -5
index 9c25d49..66d2c4e 100644
@@ -531,13 +531,8 @@ config VIDEO_LCD_TL059WV5C0
 
 endchoice
 
-
 config USB_KEYBOARD
-	boolean "Enable USB keyboard support"
 	default y
-	---help---
-	Say Y here to add support for using a USB keyboard (typically used
-	in combination with a graphical console).
 
 config GMAC_TX_DELAY
 	int "GMAC Transmit Clock Delay Chain"
drivers/usb/Kconfig +6 -0
index d602e44..ab2a6a1 100644
@@ -66,4 +66,10 @@ config USB_STORAGE
 	  Say Y here if you want to connect USB mass storage devices to your
 	  board's USB port.
 
+config USB_KEYBOARD
+	boolean "Enable USB keyboard support"
+	---help---
+	  Say Y here to add support for using a USB keyboard (typically used
+	  in combination with a graphical console).
+
 endif
Signature · 1 line
1.9.1
#13 lore raw

PATCH 7/12 usb: USB_KEYBOARD move to usb Kconfig

Hi,

Quoted 17 lines · Paul Kocialkowski

The USB_KEYBOARD Kconfig is not specific to sunxi, so we can move it to the common USB Kconfig.

---
  board/sunxi/Kconfig | 5 -----
  drivers/usb/Kconfig | 6 ++++++
  2 files changed, 6 insertions(+), 5 deletions(-)
board/sunxi/Kconfig +0 -0
index 9c25d49..66d2c4e 100644
@@ -531,13 +531,8 @@ config VIDEO_LCD_TL059WV5C0
 
  endchoice
 

board/sunxi/Kconfig config VIDEO_LCD_TL059WV5C0 · line 538

Quoted 10 lines
board/sunxi/Kconfig +0 -5
-
  config USB_KEYBOARD
-	boolean "Enable USB keyboard support"
  	default y
-	---help---
-	Say Y here to add support for using a USB keyboard (typically used
-	in combination with a graphical console).
 
  config GMAC_TX_DELAY
  	int "GMAC Transmit Clock Delay Chain"

This leaves with just:

config USB_KEYBOARD
default y

And we've just gone to a whole bunch of removals of Kconfig code like this because it breaks "make savedefconfig" when used with non sunxi boards (in this case).

Quoted 5 lines
drivers/usb/Kconfig +0 -0
index d602e44..ab2a6a1 100644

drivers/usb/Kconfig config USB_STORAGE · line 75

Quoted 10 lines
drivers/usb/Kconfig +6 -0
@@ -66,4 +66,10 @@ config USB_STORAGE
  	  Say Y here if you want to connect USB mass storage devices to your
  	  board's USB port.
 
+config USB_KEYBOARD
+	boolean "Enable USB keyboard support"
+	---help---
+	  Say Y here to add support for using a USB keyboard (typically used
+	  in combination with a graphical console).
+
  endif

So we need to set the default here, how about we add a CONFIG_USB_HAS_HCD hidden bool option, and then select that from CONFIG_USB_EHCI, CONFIG_USB_MUSB_HOST, etc, and then here do:

default y if CONFIG_USB_HAS_HCD

?

Regards,

Hans

#14 lore raw

PATCH 7/12 usb: USB_KEYBOARD move to usb Kconfig

Le mercredi 22 juillet 2015 ? 11:22 +0200, Hans de Goede a ?crit :

Quoted 33 lines

Hi,

Quoted 17 lines · Paul Kocialkowski

The USB_KEYBOARD Kconfig is not specific to sunxi, so we can move it to the common USB Kconfig.

---
  board/sunxi/Kconfig | 5 -----
  drivers/usb/Kconfig | 6 ++++++
  2 files changed, 6 insertions(+), 5 deletions(-)
board/sunxi/Kconfig +0 -0
index 9c25d49..66d2c4e 100644
@@ -531,13 +531,8 @@ config VIDEO_LCD_TL059WV5C0
 
  endchoice
 

board/sunxi/Kconfig config VIDEO_LCD_TL059WV5C0 · line 538

Quoted 10 lines
board/sunxi/Kconfig +0 -5
-
  config USB_KEYBOARD
-	boolean "Enable USB keyboard support"
  	default y
-	---help---
-	Say Y here to add support for using a USB keyboard (typically used
-	in combination with a graphical console).
 
  config GMAC_TX_DELAY
  	int "GMAC Transmit Clock Delay Chain"

This leaves with just:

Quoted 6 lines

config USB_KEYBOARD
default y

And we've just gone to a whole bunch of removals of Kconfig code like this because it breaks "make savedefconfig" when used with non sunxi boards (in this case).

Okay, I hadn't followed those developments. My mistake.

Quoted 20 lines
Quoted 5 lines
drivers/usb/Kconfig +0 -0
index d602e44..ab2a6a1 100644

drivers/usb/Kconfig config USB_STORAGE · line 75

Quoted 10 lines
drivers/usb/Kconfig +6 -0
@@ -66,4 +66,10 @@ config USB_STORAGE
  	  Say Y here if you want to connect USB mass storage devices to your
  	  board's USB port.
 
+config USB_KEYBOARD
+	boolean "Enable USB keyboard support"
+	---help---
+	  Say Y here to add support for using a USB keyboard (typically used
+	  in combination with a graphical console).
+
  endif

So we need to set the default here, how about we add a CONFIG_USB_HAS_HCD hidden bool option, and then select that from CONFIG_USB_EHCI, CONFIG_USB_MUSB_HOST, etc, and then here do:

Quoted 1 line

default y if CONFIG_USB_HAS_HCD

This would work. I'm not sure it is expected for Kconfig options to be "phony", but if you think it's fine, I'll go with it.

Quoted 3 lines

Regards,

Hans

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150724/d92d1013/attachment.sig>

#15 lore raw

PATCH 8/12 sunxi: USB EHCI Kconfig option instead of config define

In reply to Paul Kocialkowski

This makes sunxi boards use the USB_EHCI_HCD Kconfig option instead of defining USB_EHCI as a config define. This allows for more flexibility in enabling the controller and handling other Kconfig that may depend on USB EHCI.

---
 configs/A10-OLinuXino-Lime_defconfig       | 3 ++-
 configs/A10s-OLinuXino-M_defconfig         | 3 ++-
 configs/A13-OLinuXinoM_defconfig           | 3 ++-
 configs/A13-OLinuXino_defconfig            | 3 ++-
 configs/A20-OLinuXino-Lime2_defconfig      | 3 ++-
 configs/A20-OLinuXino-Lime_defconfig       | 3 ++-
 configs/A20-OLinuXino_MICRO_defconfig      | 3 ++-
 configs/Auxtek-T004_defconfig              | 3 ++-
 configs/Bananapi_defconfig                 | 3 ++-
 configs/Bananapro_defconfig                | 3 ++-
 configs/CSQ_CS908_defconfig                | 3 ++-
 configs/Colombus_defconfig                 | 3 ++-
 configs/Cubieboard2_defconfig              | 3 ++-
 configs/Cubieboard_defconfig               | 3 ++-
 configs/Cubietruck_defconfig               | 3 ++-
 configs/Hummingbird_A31_defconfig          | 3 ++-
 configs/Linksprite_pcDuino3_Nano_defconfig | 3 ++-
 configs/Linksprite_pcDuino3_defconfig      | 3 ++-
 configs/Linksprite_pcDuino_defconfig       | 3 ++-
 configs/MK808C_defconfig                   | 3 ++-
 configs/Marsboard_A10_defconfig            | 3 ++-
 configs/Mele_A1000G_quad_defconfig         | 3 ++-
 configs/Mele_A1000_defconfig               | 3 ++-
 configs/Mele_I7_defconfig                  | 3 ++-
 configs/Mele_M3_defconfig                  | 3 ++-
 configs/Mele_M5_defconfig                  | 3 ++-
 configs/Mele_M9_defconfig                  | 3 ++-
 configs/Mini-X_defconfig                   | 3 ++-
 configs/Orangepi_defconfig                 | 3 ++-
 configs/Orangepi_mini_defconfig            | 3 ++-
 configs/Wexler_TAB7200_defconfig           | 3 ++-
 configs/Wits_Pro_A20_DKT_defconfig         | 3 ++-
 configs/ba10_tv_box_defconfig              | 3 ++-
 configs/i12-tvbox_defconfig                | 3 ++-
 configs/jesurun_q5_defconfig               | 3 ++-
 configs/mixtile_loftq_defconfig            | 3 ++-
 configs/mk802_a10s_defconfig               | 3 ++-
 configs/mk802_defconfig                    | 2 ++
 configs/mk802ii_defconfig                  | 3 ++-
 configs/r7-tv-dongle_defconfig             | 3 ++-
 configs/sunxi_Gemei_G9_defconfig           | 3 ++-
 41 files changed, 82 insertions(+), 40 deletions(-)
configs/A10-OLinuXino-Lime_defconfig +2 -1
index 87ade90..7fab4c4 100644
@@ -7,7 +7,7 @@ CONFIG_SYS_CLK_FREQ=912000000
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A10s-OLinuXino-M_defconfig +2 -1
index 5a450af..d45f7af 100644
@@ -9,7 +9,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXinoM_defconfig +2 -1
index 213ece6..8668d7e 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -21,3 +21,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXino_defconfig +2 -1
index d71c11c..059b09d 100644
@@ -14,7 +14,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -22,3 +22,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime2_defconfig +2 -1
index 6445b25..c0c9a38 100644
@@ -8,7 +8,7 @@ CONFIG_USB0_VBUS_DET="PH5"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime_defconfig +2 -1
index 650670f..15475dc 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino_MICRO_defconfig +2 -1
index 3f92504..2b70048 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Auxtek-T004_defconfig +2 -1
index 016ccd9..e326822 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapi_defconfig +2 -1
index 3e186f6..c10c7d7 100644
@@ -6,7 +6,7 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapro_defconfig +2 -1
index 5bd2fd6..8943188 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/CSQ_CS908_defconfig +2 -1
index 54f4846..98d3268 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_AXP221_DLDO1_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Colombus_defconfig +2 -1
index 9d84901..f35104d 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard2_defconfig +2 -1
index 0fbaa23..c7f8718 100644
@@ -6,7 +6,7 @@ CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard_defconfig +2 -1
index 0d0051e..b1421e5 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubietruck_defconfig +2 -1
index 57a3847..418a58c 100644
@@ -7,7 +7,7 @@ CONFIG_GMAC_TX_DELAY=1
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Hummingbird_A31_defconfig +2 -1
index 02c657a..5bc84e9 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_Nano_defconfig +2 -1
index 04ec7ab..52c1d41 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_defconfig +2 -1
index 6d7690d..937220f 100644
@@ -6,7 +6,7 @@ CONFIG_DRAM_ZQ=122
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino_defconfig +2 -1
index ddd162f..c2b8784 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=408
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/MK808C_defconfig +2 -1
index a6db139..bf8bcc6 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Marsboard_A10_defconfig +2 -1
index ed41af6..47b39aa 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000G_quad_defconfig +2 -1
index 6e0a493..9d70c72 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000_defconfig +2 -1
index 983ffdc..72dab0d 100644
@@ -5,7 +5,7 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_I7_defconfig +2 -1
index 7f083a7..ab2684a 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M3_defconfig +2 -1
index 73d87c3..299bc71 100644
@@ -8,7 +8,7 @@ CONFIG_VIDEO_VGA=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M5_defconfig +2 -1
index 79c5901..6545fff 100644
@@ -7,7 +7,7 @@ CONFIG_MMC0_CD_PIN="PH1"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,USB_EHCI,STATUSLED=234"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M9_defconfig +2 -1
index e017ad7..3609f69 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mini-X_defconfig +2 -1
index da57711..0539bc5 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_defconfig +2 -1
index ba89a25..a2a415a 100644
@@ -9,7 +9,7 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_mini_defconfig +2 -1
index 8f03815..2c0c9df 100644
@@ -11,7 +11,7 @@ CONFIG_GMAC_TX_DELAY=3
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wexler_TAB7200_defconfig +2 -1
index d9180c7..81fd800 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wits_Pro_A20_DKT_defconfig +2 -1
index bb8dd29..9dac8db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/ba10_tv_box_defconfig +2 -1
index c84e82e..3a40dbd 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN="PH12"
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/i12-tvbox_defconfig +2 -1
index 3a69422..09cf985 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/jesurun_q5_defconfig +2 -1
index 4b09a33..99c188f 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=312
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI,MACPWR=SUNXI_GPH(19)"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mixtile_loftq_defconfig +2 -1
index a8c497c..3f17a6b 100644
@@ -8,7 +8,7 @@ CONFIG_USB2_VBUS_PIN=""
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_DM_SERIAL=y
 CONFIG_AXP221_ALDO1_VOLT=3300
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_a10s_defconfig +2 -1
index dc78fa4..664ea24 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_defconfig +2 -0
index 31bde00..1571ddb 100644
@@ -13,3 +13,5 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802ii_defconfig +2 -1
index ffa7891..351ae06 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/r7-tv-dongle_defconfig +2 -1
index ac7928d..284af24 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/sunxi_Gemei_G9_defconfig +2 -1
index e95cbe4..def4b78 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_ETH=y
 CONFIG_DM_SERIAL=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
Signature · 1 line
1.9.1
#16 lore raw

PATCH 8/12 sunxi: USB EHCI Kconfig option instead of config define

Hi,

Quoted 5 lines · Paul Kocialkowski

This makes sunxi boards use the USB_EHCI_HCD Kconfig option instead of defining USB_EHCI as a config define. This allows for more flexibility in enabling the controller and handling other Kconfig that may depend on USB EHCI.

This is already done by this commit:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

My sunxi-wip tree has a whole bunch of patches to convert the musb-host code to DM_USB so that the musb code can be built in in host mode together with the ehci / uhci host drivers, this is useful on boards where the musb is used in host only mode such as the Mele A1000G quad where the musb is hooked up to a usb2sata chip for the sata slot of the device.

The dm-usb bits of these series are queued up in:
http://git.denx.de/?p=u-boot/u-boot-dm.git;a=shortlog;h=refs/heads/next

And I'm waiting for those to go upstream before submitting a pull-req with the sunxi bits of this, which is also why:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Has not been merged yet as it sits on top of all this...

I think that for v2 of this series it is best to base it on my sunxi-wip branch, esp. since that contains the addition of DM_USB support to the musb host code.

I'll rebase my sunxi-wip branch one of these days and push everything in there which is ready for upstream, including the dm-usb bits to u-boot-sunxi/next, so that people will have something to base sunxi patches on.

Until then please use my sunxi-wip branch.

Regards,

Hans

Quoted 775 lines
---
  configs/A10-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A10s-OLinuXino-M_defconfig         | 3 ++-
  configs/A13-OLinuXinoM_defconfig           | 3 ++-
  configs/A13-OLinuXino_defconfig            | 3 ++-
  configs/A20-OLinuXino-Lime2_defconfig      | 3 ++-
  configs/A20-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A20-OLinuXino_MICRO_defconfig      | 3 ++-
  configs/Auxtek-T004_defconfig              | 3 ++-
  configs/Bananapi_defconfig                 | 3 ++-
  configs/Bananapro_defconfig                | 3 ++-
  configs/CSQ_CS908_defconfig                | 3 ++-
  configs/Colombus_defconfig                 | 3 ++-
  configs/Cubieboard2_defconfig              | 3 ++-
  configs/Cubieboard_defconfig               | 3 ++-
  configs/Cubietruck_defconfig               | 3 ++-
  configs/Hummingbird_A31_defconfig          | 3 ++-
  configs/Linksprite_pcDuino3_Nano_defconfig | 3 ++-
  configs/Linksprite_pcDuino3_defconfig      | 3 ++-
  configs/Linksprite_pcDuino_defconfig       | 3 ++-
  configs/MK808C_defconfig                   | 3 ++-
  configs/Marsboard_A10_defconfig            | 3 ++-
  configs/Mele_A1000G_quad_defconfig         | 3 ++-
  configs/Mele_A1000_defconfig               | 3 ++-
  configs/Mele_I7_defconfig                  | 3 ++-
  configs/Mele_M3_defconfig                  | 3 ++-
  configs/Mele_M5_defconfig                  | 3 ++-
  configs/Mele_M9_defconfig                  | 3 ++-
  configs/Mini-X_defconfig                   | 3 ++-
  configs/Orangepi_defconfig                 | 3 ++-
  configs/Orangepi_mini_defconfig            | 3 ++-
  configs/Wexler_TAB7200_defconfig           | 3 ++-
  configs/Wits_Pro_A20_DKT_defconfig         | 3 ++-
  configs/ba10_tv_box_defconfig              | 3 ++-
  configs/i12-tvbox_defconfig                | 3 ++-
  configs/jesurun_q5_defconfig               | 3 ++-
  configs/mixtile_loftq_defconfig            | 3 ++-
  configs/mk802_a10s_defconfig               | 3 ++-
  configs/mk802_defconfig                    | 2 ++
  configs/mk802ii_defconfig                  | 3 ++-
  configs/r7-tv-dongle_defconfig             | 3 ++-
  configs/sunxi_Gemei_G9_defconfig           | 3 ++-
  41 files changed, 82 insertions(+), 40 deletions(-)
configs/A10-OLinuXino-Lime_defconfig +2 -1
index 87ade90..7fab4c4 100644
@@ -7,7 +7,7 @@ CONFIG_SYS_CLK_FREQ=912000000
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A10s-OLinuXino-M_defconfig +2 -1
index 5a450af..d45f7af 100644
@@ -9,7 +9,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXinoM_defconfig +2 -1
index 213ece6..8668d7e 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -21,3 +21,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXino_defconfig +2 -1
index d71c11c..059b09d 100644
@@ -14,7 +14,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -22,3 +22,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime2_defconfig +2 -1
index 6445b25..c0c9a38 100644
@@ -8,7 +8,7 @@ CONFIG_USB0_VBUS_DET="PH5"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime_defconfig +2 -1
index 650670f..15475dc 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino_MICRO_defconfig +2 -1
index 3f92504..2b70048 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Auxtek-T004_defconfig +2 -1
index 016ccd9..e326822 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapi_defconfig +2 -1
index 3e186f6..c10c7d7 100644
@@ -6,7 +6,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapro_defconfig +2 -1
index 5bd2fd6..8943188 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/CSQ_CS908_defconfig +2 -1
index 54f4846..98d3268 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_AXP221_DLDO1_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Colombus_defconfig +2 -1
index 9d84901..f35104d 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard2_defconfig +2 -1
index 0fbaa23..c7f8718 100644
@@ -6,7 +6,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard_defconfig +2 -1
index 0d0051e..b1421e5 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubietruck_defconfig +2 -1
index 57a3847..418a58c 100644
@@ -7,7 +7,7 @@ CONFIG_GMAC_TX_DELAY=1
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Hummingbird_A31_defconfig +2 -1
index 02c657a..5bc84e9 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_Nano_defconfig +2 -1
index 04ec7ab..52c1d41 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_defconfig +2 -1
index 6d7690d..937220f 100644
@@ -6,7 +6,7 @@ CONFIG_DRAM_ZQ=122
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino_defconfig +2 -1
index ddd162f..c2b8784 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=408
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/MK808C_defconfig +2 -1
index a6db139..bf8bcc6 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Marsboard_A10_defconfig +2 -1
index ed41af6..47b39aa 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000G_quad_defconfig +2 -1
index 6e0a493..9d70c72 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000_defconfig +2 -1
index 983ffdc..72dab0d 100644
@@ -5,7 +5,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_I7_defconfig +2 -1
index 7f083a7..ab2684a 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M3_defconfig +2 -1
index 73d87c3..299bc71 100644
@@ -8,7 +8,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M5_defconfig +2 -1
index 79c5901..6545fff 100644
@@ -7,7 +7,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,USB_EHCI,STATUSLED=234"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M9_defconfig +2 -1
index e017ad7..3609f69 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mini-X_defconfig +2 -1
index da57711..0539bc5 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_defconfig +2 -1
index ba89a25..a2a415a 100644
@@ -9,7 +9,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_mini_defconfig +2 -1
index 8f03815..2c0c9df 100644
@@ -11,7 +11,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wexler_TAB7200_defconfig +2 -1
index d9180c7..81fd800 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wits_Pro_A20_DKT_defconfig +2 -1
index bb8dd29..9dac8db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/ba10_tv_box_defconfig +2 -1
index c84e82e..3a40dbd 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN="PH12"
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/i12-tvbox_defconfig +2 -1
index 3a69422..09cf985 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/jesurun_q5_defconfig +2 -1
index 4b09a33..99c188f 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=312
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI,MACPWR=SUNXI_GPH(19)"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mixtile_loftq_defconfig +2 -1
index a8c497c..3f17a6b 100644
@@ -8,7 +8,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_a10s_defconfig +2 -1
index dc78fa4..664ea24 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_defconfig +2 -0
index 31bde00..1571ddb 100644
@@ -13,3 +13,5 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802ii_defconfig +2 -1
index ffa7891..351ae06 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/r7-tv-dongle_defconfig +2 -1
index ac7928d..284af24 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/sunxi_Gemei_G9_defconfig +2 -1
index e95cbe4..def4b78 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
#17 lore raw

PATCH 8/12 sunxi: USB EHCI Kconfig option instead of config define

Le mercredi 22 juillet 2015 ? 11:31 +0200, Hans de Goede a ?crit :

Quoted 34 lines

Hi,

Quoted 5 lines · Paul Kocialkowski

This makes sunxi boards use the USB_EHCI_HCD Kconfig option instead of defining USB_EHCI as a config define. This allows for more flexibility in enabling the controller and handling other Kconfig that may depend on USB EHCI.

This is already done by this commit:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

My sunxi-wip tree has a whole bunch of patches to convert the musb-host code to DM_USB so that the musb code can be built in in host mode together with the ehci / uhci host drivers, this is useful on boards where the musb is used in host only mode such as the Mele A1000G quad where the musb is hooked up to a usb2sata chip for the sata slot of the device.

The dm-usb bits of these series are queued up in:
http://git.denx.de/?p=u-boot/u-boot-dm.git;a=shortlog;h=refs/heads/next

And I'm waiting for those to go upstream before submitting a pull-req with the sunxi bits of this, which is also why:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Has not been merged yet as it sits on top of all this...

I think that for v2 of this series it is best to base it on my sunxi-wip branch, esp. since that contains the addition of DM_USB support to the musb host code.

Quoted 6 lines

I'll rebase my sunxi-wip branch one of these days and push everything in there which is ready for upstream, including the dm-usb bits to u-boot-sunxi/next, so that people will have something to base sunxi patches on.

Until then please use my sunxi-wip branch.

I understand and I'll follow your advice for v2 of this series.

Thanks!

Quoted 767 lines
Quoted 767 lines
---
  configs/A10-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A10s-OLinuXino-M_defconfig         | 3 ++-
  configs/A13-OLinuXinoM_defconfig           | 3 ++-
  configs/A13-OLinuXino_defconfig            | 3 ++-
  configs/A20-OLinuXino-Lime2_defconfig      | 3 ++-
  configs/A20-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A20-OLinuXino_MICRO_defconfig      | 3 ++-
  configs/Auxtek-T004_defconfig              | 3 ++-
  configs/Bananapi_defconfig                 | 3 ++-
  configs/Bananapro_defconfig                | 3 ++-
  configs/CSQ_CS908_defconfig                | 3 ++-
  configs/Colombus_defconfig                 | 3 ++-
  configs/Cubieboard2_defconfig              | 3 ++-
  configs/Cubieboard_defconfig               | 3 ++-
  configs/Cubietruck_defconfig               | 3 ++-
  configs/Hummingbird_A31_defconfig          | 3 ++-
  configs/Linksprite_pcDuino3_Nano_defconfig | 3 ++-
  configs/Linksprite_pcDuino3_defconfig      | 3 ++-
  configs/Linksprite_pcDuino_defconfig       | 3 ++-
  configs/MK808C_defconfig                   | 3 ++-
  configs/Marsboard_A10_defconfig            | 3 ++-
  configs/Mele_A1000G_quad_defconfig         | 3 ++-
  configs/Mele_A1000_defconfig               | 3 ++-
  configs/Mele_I7_defconfig                  | 3 ++-
  configs/Mele_M3_defconfig                  | 3 ++-
  configs/Mele_M5_defconfig                  | 3 ++-
  configs/Mele_M9_defconfig                  | 3 ++-
  configs/Mini-X_defconfig                   | 3 ++-
  configs/Orangepi_defconfig                 | 3 ++-
  configs/Orangepi_mini_defconfig            | 3 ++-
  configs/Wexler_TAB7200_defconfig           | 3 ++-
  configs/Wits_Pro_A20_DKT_defconfig         | 3 ++-
  configs/ba10_tv_box_defconfig              | 3 ++-
  configs/i12-tvbox_defconfig                | 3 ++-
  configs/jesurun_q5_defconfig               | 3 ++-
  configs/mixtile_loftq_defconfig            | 3 ++-
  configs/mk802_a10s_defconfig               | 3 ++-
  configs/mk802_defconfig                    | 2 ++
  configs/mk802ii_defconfig                  | 3 ++-
  configs/r7-tv-dongle_defconfig             | 3 ++-
  configs/sunxi_Gemei_G9_defconfig           | 3 ++-
  41 files changed, 82 insertions(+), 40 deletions(-)
configs/A10-OLinuXino-Lime_defconfig +2 -1
index 87ade90..7fab4c4 100644
@@ -7,7 +7,7 @@ CONFIG_SYS_CLK_FREQ=912000000
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A10s-OLinuXino-M_defconfig +2 -1
index 5a450af..d45f7af 100644
@@ -9,7 +9,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXinoM_defconfig +2 -1
index 213ece6..8668d7e 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -21,3 +21,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXino_defconfig +2 -1
index d71c11c..059b09d 100644
@@ -14,7 +14,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -22,3 +22,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime2_defconfig +2 -1
index 6445b25..c0c9a38 100644
@@ -8,7 +8,7 @@ CONFIG_USB0_VBUS_DET="PH5"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime_defconfig +2 -1
index 650670f..15475dc 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino_MICRO_defconfig +2 -1
index 3f92504..2b70048 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Auxtek-T004_defconfig +2 -1
index 016ccd9..e326822 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapi_defconfig +2 -1
index 3e186f6..c10c7d7 100644
@@ -6,7 +6,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapro_defconfig +2 -1
index 5bd2fd6..8943188 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/CSQ_CS908_defconfig +2 -1
index 54f4846..98d3268 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_AXP221_DLDO1_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Colombus_defconfig +2 -1
index 9d84901..f35104d 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard2_defconfig +2 -1
index 0fbaa23..c7f8718 100644
@@ -6,7 +6,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard_defconfig +2 -1
index 0d0051e..b1421e5 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubietruck_defconfig +2 -1
index 57a3847..418a58c 100644
@@ -7,7 +7,7 @@ CONFIG_GMAC_TX_DELAY=1
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Hummingbird_A31_defconfig +2 -1
index 02c657a..5bc84e9 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_Nano_defconfig +2 -1
index 04ec7ab..52c1d41 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_defconfig +2 -1
index 6d7690d..937220f 100644
@@ -6,7 +6,7 @@ CONFIG_DRAM_ZQ=122
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino_defconfig +2 -1
index ddd162f..c2b8784 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=408
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/MK808C_defconfig +2 -1
index a6db139..bf8bcc6 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Marsboard_A10_defconfig +2 -1
index ed41af6..47b39aa 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000G_quad_defconfig +2 -1
index 6e0a493..9d70c72 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000_defconfig +2 -1
index 983ffdc..72dab0d 100644
@@ -5,7 +5,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_I7_defconfig +2 -1
index 7f083a7..ab2684a 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M3_defconfig +2 -1
index 73d87c3..299bc71 100644
@@ -8,7 +8,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M5_defconfig +2 -1
index 79c5901..6545fff 100644
@@ -7,7 +7,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,USB_EHCI,STATUSLED=234"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M9_defconfig +2 -1
index e017ad7..3609f69 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mini-X_defconfig +2 -1
index da57711..0539bc5 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_defconfig +2 -1
index ba89a25..a2a415a 100644
@@ -9,7 +9,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_mini_defconfig +2 -1
index 8f03815..2c0c9df 100644
@@ -11,7 +11,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wexler_TAB7200_defconfig +2 -1
index d9180c7..81fd800 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wits_Pro_A20_DKT_defconfig +2 -1
index bb8dd29..9dac8db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/ba10_tv_box_defconfig +2 -1
index c84e82e..3a40dbd 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN="PH12"
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/i12-tvbox_defconfig +2 -1
index 3a69422..09cf985 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/jesurun_q5_defconfig +2 -1
index 4b09a33..99c188f 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=312
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI,MACPWR=SUNXI_GPH(19)"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mixtile_loftq_defconfig +2 -1
index a8c497c..3f17a6b 100644
@@ -8,7 +8,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_a10s_defconfig +2 -1
index dc78fa4..664ea24 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_defconfig +2 -0
index 31bde00..1571ddb 100644
@@ -13,3 +13,5 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802ii_defconfig +2 -1
index ffa7891..351ae06 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/r7-tv-dongle_defconfig +2 -1
index ac7928d..284af24 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/sunxi_Gemei_G9_defconfig +1 -1
index e95cbe4..def4b78 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
Quoted 8 lines

configs/sunxi_Gemei_G9_defconfig CONFIG_DM_ETH=y · line 22

Quoted 8 lines
configs/sunxi_Gemei_G9_defconfig +1 -0
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150724/d548b0c4/attachment.sig>

#18 lore raw

PATCH 8/12 sunxi: USB EHCI Kconfig option instead of config define

In reply to Hans de Goede

Hi,

Le mercredi 22 juillet 2015 ? 11:31 +0200, Hans de Goede a ?crit :

Quoted 23 lines

Hi,

Quoted 5 lines · Paul Kocialkowski

This makes sunxi boards use the USB_EHCI_HCD Kconfig option instead of defining USB_EHCI as a config define. This allows for more flexibility in enabling the controller and handling other Kconfig that may depend on USB EHCI.

This is already done by this commit:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

My sunxi-wip tree has a whole bunch of patches to convert the musb-host code to DM_USB so that the musb code can be built in in host mode together with the ehci / uhci host drivers, this is useful on boards where the musb is used in host only mode such as the Mele A1000G quad where the musb is hooked up to a usb2sata chip for the sata slot of the device.

The dm-usb bits of these series are queued up in:
http://git.denx.de/?p=u-boot/u-boot-dm.git;a=shortlog;h=refs/heads/next

Quoted 6 lines

And I'm waiting for those to go upstream before submitting a pull-req with the sunxi bits of this, which is also why:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Has not been merged yet as it sits on top of all this...

Looks like everything was merged now. Can you confirm all the bits are in the main u-boot repository? if so, I'll just adapt my series as discussed on top of that.

Thanks!

Quoted 784 lines

I think that for v2 of this series it is best to base it on my sunxi-wip branch, esp. since that contains the addition of DM_USB support to the musb host code.

I'll rebase my sunxi-wip branch one of these days and push everything in there which is ready for upstream, including the dm-usb bits to u-boot-sunxi/next, so that people will have something to base sunxi patches on.

Until then please use my sunxi-wip branch.

Regards,

Hans

Quoted 767 lines
---
  configs/A10-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A10s-OLinuXino-M_defconfig         | 3 ++-
  configs/A13-OLinuXinoM_defconfig           | 3 ++-
  configs/A13-OLinuXino_defconfig            | 3 ++-
  configs/A20-OLinuXino-Lime2_defconfig      | 3 ++-
  configs/A20-OLinuXino-Lime_defconfig       | 3 ++-
  configs/A20-OLinuXino_MICRO_defconfig      | 3 ++-
  configs/Auxtek-T004_defconfig              | 3 ++-
  configs/Bananapi_defconfig                 | 3 ++-
  configs/Bananapro_defconfig                | 3 ++-
  configs/CSQ_CS908_defconfig                | 3 ++-
  configs/Colombus_defconfig                 | 3 ++-
  configs/Cubieboard2_defconfig              | 3 ++-
  configs/Cubieboard_defconfig               | 3 ++-
  configs/Cubietruck_defconfig               | 3 ++-
  configs/Hummingbird_A31_defconfig          | 3 ++-
  configs/Linksprite_pcDuino3_Nano_defconfig | 3 ++-
  configs/Linksprite_pcDuino3_defconfig      | 3 ++-
  configs/Linksprite_pcDuino_defconfig       | 3 ++-
  configs/MK808C_defconfig                   | 3 ++-
  configs/Marsboard_A10_defconfig            | 3 ++-
  configs/Mele_A1000G_quad_defconfig         | 3 ++-
  configs/Mele_A1000_defconfig               | 3 ++-
  configs/Mele_I7_defconfig                  | 3 ++-
  configs/Mele_M3_defconfig                  | 3 ++-
  configs/Mele_M5_defconfig                  | 3 ++-
  configs/Mele_M9_defconfig                  | 3 ++-
  configs/Mini-X_defconfig                   | 3 ++-
  configs/Orangepi_defconfig                 | 3 ++-
  configs/Orangepi_mini_defconfig            | 3 ++-
  configs/Wexler_TAB7200_defconfig           | 3 ++-
  configs/Wits_Pro_A20_DKT_defconfig         | 3 ++-
  configs/ba10_tv_box_defconfig              | 3 ++-
  configs/i12-tvbox_defconfig                | 3 ++-
  configs/jesurun_q5_defconfig               | 3 ++-
  configs/mixtile_loftq_defconfig            | 3 ++-
  configs/mk802_a10s_defconfig               | 3 ++-
  configs/mk802_defconfig                    | 2 ++
  configs/mk802ii_defconfig                  | 3 ++-
  configs/r7-tv-dongle_defconfig             | 3 ++-
  configs/sunxi_Gemei_G9_defconfig           | 3 ++-
  41 files changed, 82 insertions(+), 40 deletions(-)
configs/A10-OLinuXino-Lime_defconfig +2 -1
index 87ade90..7fab4c4 100644
@@ -7,7 +7,7 @@ CONFIG_SYS_CLK_FREQ=912000000
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A10s-OLinuXino-M_defconfig +2 -1
index 5a450af..d45f7af 100644
@@ -9,7 +9,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXinoM_defconfig +2 -1
index 213ece6..8668d7e 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -21,3 +21,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A13-OLinuXino_defconfig +2 -1
index d71c11c..059b09d 100644
@@ -14,7 +14,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -22,3 +22,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime2_defconfig +2 -1
index 6445b25..c0c9a38 100644
@@ -8,7 +8,7 @@ CONFIG_USB0_VBUS_DET="PH5"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino-Lime_defconfig +2 -1
index 650670f..15475dc 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-lime"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/A20-OLinuXino_MICRO_defconfig +2 -1
index 3f92504..2b70048 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-olinuxino-micro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Auxtek-T004_defconfig +2 -1
index 016ccd9..e326822 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-auxtek-t004"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapi_defconfig +2 -1
index 3e186f6..c10c7d7 100644
@@ -6,7 +6,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Bananapro_defconfig +2 -1
index 5bd2fd6..8943188 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapro"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/CSQ_CS908_defconfig +2 -1
index 54f4846..98d3268 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-cs908"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_AXP221_DLDO1_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Colombus_defconfig +2 -1
index 9d84901..f35104d 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-colombus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard2_defconfig +2 -1
index 0fbaa23..c7f8718 100644
@@ -6,7 +6,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubieboard2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubieboard_defconfig +2 -1
index 0d0051e..b1421e5 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=480
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-cubieboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Cubietruck_defconfig +2 -1
index 57a3847..418a58c 100644
@@ -7,7 +7,7 @@ CONFIG_GMAC_TX_DELAY=1
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-cubietruck"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Hummingbird_A31_defconfig +2 -1
index 02c657a..5bc84e9 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN="PH25"
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-hummingbird"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_Nano_defconfig +2 -1
index 04ec7ab..52c1d41 100644
@@ -8,7 +8,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3-nano"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino3_defconfig +2 -1
index 6d7690d..937220f 100644
@@ -6,7 +6,7 @@ CONFIG_DRAM_ZQ=122
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Linksprite_pcDuino_defconfig +2 -1
index ddd162f..c2b8784 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=408
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-pcduino"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/MK808C_defconfig +2 -1
index a6db139..bf8bcc6 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-mk808c"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Marsboard_A10_defconfig +2 -1
index ed41af6..47b39aa 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-marsboard"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_EMAC,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000G_quad_defconfig +2 -1
index 6e0a493..9d70c72 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mele-a1000g-quad"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_A1000_defconfig +2 -1
index 983ffdc..72dab0d 100644
@@ -5,7 +5,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-a1000"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_I7_defconfig +2 -1
index 7f083a7..ab2684a 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M3_defconfig +2 -1
index 73d87c3..299bc71 100644
@@ -8,7 +8,7 @@ CONFIG_VIDEO_VGA=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m3"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M5_defconfig +2 -1
index 79c5901..6545fff 100644
@@ -7,7 +7,7 @@ CONFIG_MMC0_CD_PIN="PH1"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-m5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,USB_EHCI,STATUSLED=234"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,AHCI,STATUSLED=234"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -16,3 +16,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mele_M9_defconfig +2 -1
index e017ad7..3609f69 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-m9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_AXP221_DLDO4_VOLT=3300
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Mini-X_defconfig +2 -1
index da57711..0539bc5 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mini-xplus"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_defconfig +2 -1
index ba89a25..a2a415a 100644
@@ -9,7 +9,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Orangepi_mini_defconfig +2 -1
index 8f03815..2c0c9df 100644
@@ -11,7 +11,7 @@ CONFIG_GMAC_TX_DELAY=3
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wexler_TAB7200_defconfig +2 -1
index d9180c7..81fd800 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wexler-tab7200"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -17,3 +17,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/Wits_Pro_A20_DKT_defconfig +2 -1
index bb8dd29..9dac8db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-wits-pro-a20-dkt"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,AHCI"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -20,3 +20,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/ba10_tv_box_defconfig +2 -1
index c84e82e..3a40dbd 100644
@@ -7,7 +7,7 @@ CONFIG_USB2_VBUS_PIN="PH12"
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-ba10-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/i12-tvbox_defconfig +2 -1
index 3a69422..09cf985 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=384
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-i12-tvbox"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_ETH_DESIGNWARE=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/jesurun_q5_defconfig +2 -1
index 4b09a33..99c188f 100644
@@ -5,7 +5,7 @@ CONFIG_DRAM_CLK=312
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-jesurun-q5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI,MACPWR=SUNXI_GPH(19)"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(19)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -13,3 +13,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mixtile_loftq_defconfig +2 -1
index a8c497c..3f17a6b 100644
@@ -8,7 +8,7 @@ CONFIG_USB2_VBUS_PIN=""
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-mixtile-loftq"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
+CONFIG_SYS_EXTRA_OPTIONS="SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPA(21)"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -18,3 +18,4 @@ CONFIG_DM_SERIAL=y
  CONFIG_AXP221_ALDO1_VOLT=3300
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_a10s_defconfig +2 -1
index dc78fa4..664ea24 100644
@@ -7,7 +7,7 @@ CONFIG_USB1_VBUS_PIN="PB10"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-mk802"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -15,3 +15,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802_defconfig +2 -0
index 31bde00..1571ddb 100644
@@ -13,3 +13,5 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
configs/mk802ii_defconfig +2 -1
index ffa7891..351ae06 100644
@@ -4,7 +4,7 @@ CONFIG_MACH_SUN4I=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-mk802ii"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -12,3 +12,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/r7-tv-dongle_defconfig +2 -1
index ac7928d..284af24 100644
@@ -6,7 +6,7 @@ CONFIG_USB1_VBUS_PIN="PG13"
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a10s-r7-tv-dongle"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP152_POWER"
  # CONFIG_CMD_IMLS is not set
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -14,3 +14,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
configs/sunxi_Gemei_G9_defconfig +1 -1
index e95cbe4..def4b78 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_PANEL_LVDS=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-gemei-g9"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,USB_EHCI"
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER"
  # CONFIG_CMD_IMLS is not set
Quoted 8 lines

configs/sunxi_Gemei_G9_defconfig CONFIG_DM_ETH=y · line 22

Quoted 8 lines
configs/sunxi_Gemei_G9_defconfig +1 -0
  # CONFIG_CMD_FLASH is not set
  # CONFIG_CMD_FPGA is not set
@@ -19,3 +19,4 @@ CONFIG_DM_ETH=y
  CONFIG_DM_SERIAL=y
  CONFIG_USB=y
  CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150727/0f87e1d5/attachment.sig>

#19 lore raw

PATCH 8/12 sunxi: USB EHCI Kconfig option instead of config define

Hi,

Quoted 29 lines · Paul Kocialkowski

Hi,

Le mercredi 22 juillet 2015 ? 11:31 +0200, Hans de Goede a ?crit :

Quoted 26 lines

Hi,

Quoted 5 lines · Paul Kocialkowski

This makes sunxi boards use the USB_EHCI_HCD Kconfig option instead of defining USB_EHCI as a config define. This allows for more flexibility in enabling the controller and handling other Kconfig that may depend on USB EHCI.

This is already done by this commit:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

My sunxi-wip tree has a whole bunch of patches to convert the musb-host code to DM_USB so that the musb code can be built in in host mode together with the ehci / uhci host drivers, this is useful on boards where the musb is used in host only mode such as the Mele A1000G quad where the musb is hooked up to a usb2sata chip for the sata slot of the device.

The dm-usb bits of these series are queued up in:
http://git.denx.de/?p=u-boot/u-boot-dm.git;a=shortlog;h=refs/heads/next

And I'm waiting for those to go upstream before submitting a pull-req with the sunxi bits of this, which is also why:

Quoted 7 lines
Quoted 3 lines

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Has not been merged yet as it sits on top of all this...

Looks like everything was merged now. Can you confirm all the bits are in the main u-boot repository? if so, I'll just adapt my series as discussed on top of that.

Correct, everything is merged now, basing on top of master should be fine.

Regards,

Hans

#20 lore raw

PATCH 9/12 sunxi: Kconfig defaults for USB

In reply to Paul Kocialkowski

USB_STORAGE and USB_KEYBOARD should only be selected when either USB_EHCI_HCD or USB_MUSB_HOST is set. In addition, the musb controller should automatically be selected when either USB_MUSB_HOST or USB_MUSB_GADGET is selected, not the other way round.

---
 board/sunxi/Kconfig                          | 5 ++++-
 configs/Ainol_AW1_defconfig                  | 2 +-
 configs/Ampe_A76_defconfig                   | 2 +-
 configs/Chuwi_V7_CW0825_defconfig            | 2 +-
 configs/Et_q8_v1_6_defconfig                 | 2 +-
 configs/Hyundai_A7HD_defconfig               | 2 +-
 configs/Ippo_q8h_v1_2_a33_1024x600_defconfig | 2 +-
 configs/Ippo_q8h_v1_2_defconfig              | 2 +-
 configs/Ippo_q8h_v5_defconfig                | 2 +-
 configs/MSI_Primo81_defconfig                | 2 +-
 configs/TZX-Q8-713B7_defconfig               | 2 +-
 configs/UTOO_P66_defconfig                   | 2 +-
 configs/Yones_Toptech_BD1078_defconfig       | 2 +-
 configs/forfun_q88db_defconfig               | 2 +-
 configs/ga10h_v1_1_defconfig                 | 2 +-
 configs/iNet_3F_defconfig                    | 2 +-
 configs/iNet_3W_defconfig                    | 2 +-
 configs/iNet_86VS_defconfig                  | 2 +-
 drivers/usb/musb-new/Kconfig                 | 2 +-
 19 files changed, 22 insertions(+), 19 deletions(-)
board/sunxi/Kconfig +4 -1
index 66d2c4e..01e2c82 100644
@@ -531,8 +531,11 @@ config VIDEO_LCD_TL059WV5C0
 
 endchoice
 
+config USB_STORAGE
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
+
 config USB_KEYBOARD
-	default y
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
 
 config GMAC_TX_DELAY
 	int "GMAC Transmit Clock Delay Chain"
configs/Ainol_AW1_defconfig +1 -1
index f94cd5a..50380db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:40000,le:87,ri:112,up:38,lo
 CONFIG_VIDEO_LCD_POWER="PH8"
 CONFIG_VIDEO_LCD_BL_EN="PH7"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-ainol-aw1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Ampe_A76_defconfig +1 -1
index 99aa141..bada534 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ampe-a76"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Chuwi_V7_CW0825_defconfig +1 -1
index 3a2a219..298cf9c 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
 CONFIG_VIDEO_LCD_BL_EN="PH7"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_VIDEO_LCD_PANEL_HITACHI_TX18D42VM=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-chuwi-v7-cw0825"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Et_q8_v1_6_defconfig +1 -1
index e36895c..23f7531 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
 CONFIG_VIDEO_LCD_POWER="PH7"
 CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-et-q8-v1.6"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Hyundai_A7HD_defconfig +1 -1
index 7800fa2..f7983e0 100644
@@ -12,7 +12,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH9"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-hyundai-a7hd"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Ippo_q8h_v1_2_a33_1024x600_defconfig +1 -1
index 8e26f37..9faa0b9 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
 CONFIG_VIDEO_LCD_POWER="PH7"
 CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ippo-q8h-v1.2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Ippo_q8h_v1_2_defconfig +1 -1
index ab62210..df631d2 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
 CONFIG_VIDEO_LCD_POWER="PH7"
 CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v1.2"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Ippo_q8h_v5_defconfig +1 -1
index 312a38c..56b19b5 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
 CONFIG_VIDEO_LCD_POWER="PH7"
 CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v5"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/MSI_Primo81_defconfig +1 -1
index 9787e34..f4e07f5 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:768,y:1024,depth:18,pclk_khz:66000,le:56,ri:60,up:30,lo
 CONFIG_VIDEO_LCD_BL_EN="PA25"
 CONFIG_VIDEO_LCD_BL_PWM="PH13"
 CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 # CONFIG_USB_KEYBOARD is not set
 CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-primo81"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
configs/TZX-Q8-713B7_defconfig +1 -1
index 68961fc..e4e5670 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-tzx-q8-713b7"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/UTOO_P66_defconfig +1 -1
index c3b13b7..b2459ee 100644
@@ -15,7 +15,7 @@ CONFIG_VIDEO_LCD_RESET="PG11"
 CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_VIDEO_LCD_TL059WV5C0=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-utoo-p66"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/Yones_Toptech_BD1078_defconfig +1 -1
index aab580e..81ba4de 100644
@@ -16,7 +16,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH7"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-yones-toptech-bd1078"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/forfun_q88db_defconfig +1 -1
index 85c807a..547bf78 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-forfun-q88db"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/ga10h_v1_1_defconfig +1 -1
index 315627d..1fb15f4 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_POWER="PH7"
 CONFIG_VIDEO_LCD_BL_EN="PH6"
 CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ga10h-v1.1"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/iNet_3F_defconfig +1 -1
index 54de300..138ad62 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
 CONFIG_VIDEO_LCD_BL_EN="PH7"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
 CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3f"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/iNet_3W_defconfig +1 -1
index e1beac8..c0d82b3 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:65000,le:159,ri:160,up:22,
 CONFIG_VIDEO_LCD_POWER="PH8"
 CONFIG_VIDEO_LCD_BL_EN="PH7"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3w"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
configs/iNet_86VS_defconfig +1 -1
index 627e211..a512191 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo
 CONFIG_VIDEO_LCD_POWER="AXP0-0"
 CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
 CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-inet-86vs"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
drivers/usb/musb-new/Kconfig +1 -1
index 5be072a..0082ff8 100644
@@ -18,7 +18,7 @@ if USB_MUSB_HOST || USB_MUSB_GADGET
 config USB_MUSB_SUNXI
 	bool "Enable sunxi OTG / DRC USB controller"
 	depends on ARCH_SUNXI
-	default n
+	default y
 	---help---
 	Say y here to enable support for the sunxi OTG / DRC USB controller
 	used on almost all sunxi boards. Note currently u-boot can only have
Signature · 1 line
1.9.1
#21 lore raw

PATCH 9/12 sunxi: Kconfig defaults for USB

Hi,

Quoted 6 lines · Paul Kocialkowski

USB_STORAGE and USB_KEYBOARD should only be selected when either USB_EHCI_HCD or USB_MUSB_HOST is set. In addition, the musb controller should automatically be selected when either USB_MUSB_HOST or USB_MUSB_GADGET is selected, not the other way round.

You are mixing / matching 2 things here:

1) Updating the defconfigs for your USB_MUSB_HOST Kconfig addition, that should have been done in the actual patch adding that option.

2) USB_STORAGE / USB_KEYBOARD related changes, AFAICT these are mostly superceeded by:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Regards,

Hans

Quoted 274 lines
---
  board/sunxi/Kconfig                          | 5 ++++-
  configs/Ainol_AW1_defconfig                  | 2 +-
  configs/Ampe_A76_defconfig                   | 2 +-
  configs/Chuwi_V7_CW0825_defconfig            | 2 +-
  configs/Et_q8_v1_6_defconfig                 | 2 +-
  configs/Hyundai_A7HD_defconfig               | 2 +-
  configs/Ippo_q8h_v1_2_a33_1024x600_defconfig | 2 +-
  configs/Ippo_q8h_v1_2_defconfig              | 2 +-
  configs/Ippo_q8h_v5_defconfig                | 2 +-
  configs/MSI_Primo81_defconfig                | 2 +-
  configs/TZX-Q8-713B7_defconfig               | 2 +-
  configs/UTOO_P66_defconfig                   | 2 +-
  configs/Yones_Toptech_BD1078_defconfig       | 2 +-
  configs/forfun_q88db_defconfig               | 2 +-
  configs/ga10h_v1_1_defconfig                 | 2 +-
  configs/iNet_3F_defconfig                    | 2 +-
  configs/iNet_3W_defconfig                    | 2 +-
  configs/iNet_86VS_defconfig                  | 2 +-
  drivers/usb/musb-new/Kconfig                 | 2 +-
  19 files changed, 22 insertions(+), 19 deletions(-)
board/sunxi/Kconfig +4 -1
index 66d2c4e..01e2c82 100644
@@ -531,8 +531,11 @@ config VIDEO_LCD_TL059WV5C0
 
  endchoice
 
+config USB_STORAGE
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
+
  config USB_KEYBOARD
-	default y
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
 
  config GMAC_TX_DELAY
  	int "GMAC Transmit Clock Delay Chain"
configs/Ainol_AW1_defconfig +1 -1
index f94cd5a..50380db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:40000,le:87,ri:112,up:38,lo
  CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-ainol-aw1"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ampe_A76_defconfig +1 -1
index 99aa141..bada534 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ampe-a76"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Chuwi_V7_CW0825_defconfig +1 -1
index 3a2a219..298cf9c 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_PANEL_HITACHI_TX18D42VM=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-chuwi-v7-cw0825"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Et_q8_v1_6_defconfig +1 -1
index e36895c..23f7531 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-et-q8-v1.6"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Hyundai_A7HD_defconfig +1 -1
index 7800fa2..f7983e0 100644
@@ -12,7 +12,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH9"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-hyundai-a7hd"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v1_2_a33_1024x600_defconfig +1 -1
index 8e26f37..9faa0b9 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ippo-q8h-v1.2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v1_2_defconfig +1 -1
index ab62210..df631d2 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v1.2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v5_defconfig +1 -1
index 312a38c..56b19b5 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/MSI_Primo81_defconfig +1 -1
index 9787e34..f4e07f5 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:768,y:1024,depth:18,pclk_khz:66000,le:56,ri:60,up:30,lo
  CONFIG_VIDEO_LCD_BL_EN="PA25"
  CONFIG_VIDEO_LCD_BL_PWM="PH13"
  CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  # CONFIG_USB_KEYBOARD is not set
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-primo81"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
configs/TZX-Q8-713B7_defconfig +1 -1
index 68961fc..e4e5670 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-tzx-q8-713b7"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/UTOO_P66_defconfig +1 -1
index c3b13b7..b2459ee 100644
@@ -15,7 +15,7 @@ CONFIG_VIDEO_LCD_RESET="PG11"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_TL059WV5C0=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-utoo-p66"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Yones_Toptech_BD1078_defconfig +1 -1
index aab580e..81ba4de 100644
@@ -16,7 +16,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-yones-toptech-bd1078"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/forfun_q88db_defconfig +1 -1
index 85c807a..547bf78 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-forfun-q88db"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/ga10h_v1_1_defconfig +1 -1
index 315627d..1fb15f4 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ga10h-v1.1"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_3F_defconfig +1 -1
index 54de300..138ad62 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3f"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_3W_defconfig +1 -1
index e1beac8..c0d82b3 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:65000,le:159,ri:160,up:22,
  CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3w"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_86VS_defconfig +1 -1
index 627e211..a512191 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-inet-86vs"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
drivers/usb/musb-new/Kconfig +1 -1
index 5be072a..0082ff8 100644
@@ -18,7 +18,7 @@ if USB_MUSB_HOST || USB_MUSB_GADGET
  config USB_MUSB_SUNXI
  	bool "Enable sunxi OTG / DRC USB controller"
  	depends on ARCH_SUNXI
-	default n
+	default y
  	---help---
  	Say y here to enable support for the sunxi OTG / DRC USB controller
  	used on almost all sunxi boards. Note currently u-boot can only have
#22 lore raw

PATCH 9/12 sunxi: Kconfig defaults for USB

Le mercredi 22 juillet 2015 ? 11:37 +0200, Hans de Goede a ?crit :

Quoted 8 lines

Hi,

Quoted 5 lines · Paul Kocialkowski

USB_STORAGE and USB_KEYBOARD should only be selected when either USB_EHCI_HCD or USB_MUSB_HOST is set. In addition, the musb controller should automatically be selected when either USB_MUSB_HOST or USB_MUSB_GADGET is selected, not the other way round.

Quoted 6 lines
Quoted 1 line

You are mixing / matching 2 things here:

1) Updating the defconfigs for your USB_MUSB_HOST Kconfig addition, that should have been done in the actual patch adding that option.

Agreed.

Quoted 4 lines

2) USB_STORAGE / USB_KEYBOARD related changes, AFAICT these are mostly superceeded by:

https://github.com/jwrdegoede/u-boot-sunxi/commit/a38b760f8805dfa7d9a0d60fa08802412b38f463

Good, I'll inherit that when basing v2 off your tree.

Quoted 271 lines

Regards,

Hans

Quoted 266 lines
---
  board/sunxi/Kconfig                          | 5 ++++-
  configs/Ainol_AW1_defconfig                  | 2 +-
  configs/Ampe_A76_defconfig                   | 2 +-
  configs/Chuwi_V7_CW0825_defconfig            | 2 +-
  configs/Et_q8_v1_6_defconfig                 | 2 +-
  configs/Hyundai_A7HD_defconfig               | 2 +-
  configs/Ippo_q8h_v1_2_a33_1024x600_defconfig | 2 +-
  configs/Ippo_q8h_v1_2_defconfig              | 2 +-
  configs/Ippo_q8h_v5_defconfig                | 2 +-
  configs/MSI_Primo81_defconfig                | 2 +-
  configs/TZX-Q8-713B7_defconfig               | 2 +-
  configs/UTOO_P66_defconfig                   | 2 +-
  configs/Yones_Toptech_BD1078_defconfig       | 2 +-
  configs/forfun_q88db_defconfig               | 2 +-
  configs/ga10h_v1_1_defconfig                 | 2 +-
  configs/iNet_3F_defconfig                    | 2 +-
  configs/iNet_3W_defconfig                    | 2 +-
  configs/iNet_86VS_defconfig                  | 2 +-
  drivers/usb/musb-new/Kconfig                 | 2 +-
  19 files changed, 22 insertions(+), 19 deletions(-)
board/sunxi/Kconfig +4 -1
index 66d2c4e..01e2c82 100644
@@ -531,8 +531,11 @@ config VIDEO_LCD_TL059WV5C0
 
  endchoice
 
+config USB_STORAGE
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
+
  config USB_KEYBOARD
-	default y
+	default y if USB_EHCI_HCD || USB_MUSB_HOST
 
  config GMAC_TX_DELAY
  	int "GMAC Transmit Clock Delay Chain"
configs/Ainol_AW1_defconfig +1 -1
index f94cd5a..50380db 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:40000,le:87,ri:112,up:38,lo
  CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-ainol-aw1"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ampe_A76_defconfig +1 -1
index 99aa141..bada534 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:82,up:22,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ampe-a76"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Chuwi_V7_CW0825_defconfig +1 -1
index 3a2a219..298cf9c 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_PANEL_HITACHI_TX18D42VM=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-chuwi-v7-cw0825"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Et_q8_v1_6_defconfig +1 -1
index e36895c..23f7531 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-et-q8-v1.6"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Hyundai_A7HD_defconfig +1 -1
index 7800fa2..f7983e0 100644
@@ -12,7 +12,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH9"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-hyundai-a7hd"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v1_2_a33_1024x600_defconfig +1 -1
index 8e26f37..9faa0b9 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ippo-q8h-v1.2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v1_2_defconfig +1 -1
index ab62210..df631d2 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v1.2"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Ippo_q8h_v5_defconfig +1 -1
index 312a38c..56b19b5 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
  CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a23-ippo-q8h-v5"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/MSI_Primo81_defconfig +1 -1
index 9787e34..f4e07f5 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:768,y:1024,depth:18,pclk_khz:66000,le:56,ri:60,up:30,lo
  CONFIG_VIDEO_LCD_BL_EN="PA25"
  CONFIG_VIDEO_LCD_BL_PWM="PH13"
  CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  # CONFIG_USB_KEYBOARD is not set
  CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31s-primo81"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
configs/TZX-Q8-713B7_defconfig +1 -1
index 68961fc..e4e5670 100644
@@ -10,7 +10,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-tzx-q8-713b7"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/UTOO_P66_defconfig +1 -1
index c3b13b7..b2459ee 100644
@@ -15,7 +15,7 @@ CONFIG_VIDEO_LCD_RESET="PG11"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_TL059WV5C0=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-utoo-p66"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/Yones_Toptech_BD1078_defconfig +1 -1
index aab580e..81ba4de 100644
@@ -16,7 +16,7 @@ CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  # CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW is not set
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-yones-toptech-bd1078"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/forfun_q88db_defconfig +1 -1
index 85c807a..547bf78 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-forfun-q88db"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/ga10h_v1_1_defconfig +1 -1
index 315627d..1fb15f4 100644
@@ -13,7 +13,7 @@ CONFIG_VIDEO_LCD_POWER="PH7"
  CONFIG_VIDEO_LCD_BL_EN="PH6"
  CONFIG_VIDEO_LCD_BL_PWM="PH0"
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-ga10h-v1.1"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_3F_defconfig +1 -1
index 54de300..138ad62 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
  CONFIG_VIDEO_LCD_PANEL_LVDS=y
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3f"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_3W_defconfig +1 -1
index e1beac8..c0d82b3 100644
@@ -11,7 +11,7 @@ CONFIG_VIDEO_LCD_MODE="x:1024,y:768,depth:24,pclk_khz:65000,le:159,ri:160,up:22,
  CONFIG_VIDEO_LCD_POWER="PH8"
  CONFIG_VIDEO_LCD_BL_EN="PH7"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun4i-a10-inet-3w"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
configs/iNet_86VS_defconfig +1 -1
index 627e211..a512191 100644
@@ -9,7 +9,7 @@ CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:45,ri:209,up:22,lo
  CONFIG_VIDEO_LCD_POWER="AXP0-0"
  CONFIG_VIDEO_LCD_BL_EN="AXP0-1"
  CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_MUSB_HOST=y
  CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-inet-86vs"
  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
  CONFIG_SPL=y
drivers/usb/musb-new/Kconfig +0 -0
index 5be072a..0082ff8 100644
@@ -18,7 +18,7 @@ if USB_MUSB_HOST || USB_MUSB_GADGET
  config USB_MUSB_SUNXI
Quoted 8 lines

drivers/usb/musb-new/Kconfig if USB_MUSB_HOST || USB_MUSB_GADGET · line 24

Quoted 8 lines
drivers/usb/musb-new/Kconfig +1 -1
  	bool "Enable sunxi OTG / DRC USB controller"
  	depends on ARCH_SUNXI
-	default n
+	default y
  	---help---
  	Say y here to enable support for the sunxi OTG / DRC USB controller
  	used on almost all sunxi boards. Note currently u-boot can only have

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150724/bd6180f4/attachment.sig>

#23 lore raw

PATCH 10/12 sunxi: config update to stick with Kconfig changes

In reply to Paul Kocialkowski

Now that some things were updated in Kconfig, they should be reflected on the sunxi-common config too.

---
 include/configs/sunxi-common.h | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
include/configs/sunxi-common.h +3 -5
index e34c57c..3d57129 100644
@@ -318,7 +318,7 @@ extern int soft_i2c_gpio_scl;
 #define CONFIG_PHYLIB
 #endif
 
-#ifdef CONFIG_USB_EHCI
+#ifdef CONFIG_USB_EHCI_HCD
 #define CONFIG_USB_OHCI_NEW
 #define CONFIG_USB_OHCI_SUNXI
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
@@ -326,13 +326,11 @@ extern int soft_i2c_gpio_scl;
 #endif
 
 #ifdef CONFIG_USB_MUSB_SUNXI
-#define CONFIG_USB_MUSB_HOST
 #define CONFIG_USB_MUSB_PIO_ONLY
 #endif
 
-#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
+#if defined CONFIG_USB_EHCI_HCD || defined CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
-#define CONFIG_USB_STORAGE
 #endif
 
 #ifdef CONFIG_USB_KEYBOARD
@@ -384,7 +382,7 @@ extern int soft_i2c_gpio_scl;
 #define BOOT_TARGET_DEVICES_SCSI(func)
 #endif
 
-#ifdef CONFIG_USB_EHCI
+#ifdef CONFIG_USB_STORAGE
 #define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
 #else
 #define BOOT_TARGET_DEVICES_USB(func)
Signature · 1 line
1.9.1
#24 lore raw

PATCH 10/12 sunxi: config update to stick with Kconfig changes

Hi,

Quoted 4 lines · Paul Kocialkowski

Now that some things were updated in Kconfig, they should be reflected on the sunxi-common config too.

Ack.

Regards,

Hans

Quoted 42 lines
---
  include/configs/sunxi-common.h | 8 +++-----
  1 file changed, 3 insertions(+), 5 deletions(-)
include/configs/sunxi-common.h +3 -5
index e34c57c..3d57129 100644
@@ -318,7 +318,7 @@ extern int soft_i2c_gpio_scl;
  #define CONFIG_PHYLIB
  #endif
 
-#ifdef CONFIG_USB_EHCI
+#ifdef CONFIG_USB_EHCI_HCD
  #define CONFIG_USB_OHCI_NEW
  #define CONFIG_USB_OHCI_SUNXI
  #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
@@ -326,13 +326,11 @@ extern int soft_i2c_gpio_scl;
  #endif
 
  #ifdef CONFIG_USB_MUSB_SUNXI
-#define CONFIG_USB_MUSB_HOST
  #define CONFIG_USB_MUSB_PIO_ONLY
  #endif
 
-#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
+#if defined CONFIG_USB_EHCI_HCD || defined CONFIG_USB_MUSB_HOST
  #define CONFIG_CMD_USB
-#define CONFIG_USB_STORAGE
  #endif
 
  #ifdef CONFIG_USB_KEYBOARD
@@ -384,7 +382,7 @@ extern int soft_i2c_gpio_scl;
  #define BOOT_TARGET_DEVICES_SCSI(func)
  #endif
 
-#ifdef CONFIG_USB_EHCI
+#ifdef CONFIG_USB_STORAGE
  #define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
  #else
  #define BOOT_TARGET_DEVICES_USB(func)
#25 lore raw

PATCH 11/12 musb: sunxi: Force EP0 on re-enable

In reply to Paul Kocialkowski

From: Maxime Ripard <[email protected]>

Currently, the second use of a gadget will fail, while the first one works.

Forcing the EP0 at every enable fix this issue.

---
 drivers/usb/musb-new/sunxi.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/usb/musb-new/sunxi.c +3 -0
index 052e065..4effaaa 100644
@@ -203,6 +203,9 @@ static void sunxi_musb_enable(struct musb *musb)
 {
 	pr_debug("%s():\n", __func__);
 
+	musb_ep_select(musb->mregs, 0);
+	musb_writeb(musb->mregs, MUSB_FADDR, 0);
+
 	if (enabled)
 		return;
 
Signature · 1 line
1.9.1
#26 lore raw

PATCH 11/12 musb: sunxi: Force EP0 on re-enable

Hi,

Quoted 7 lines · Paul Kocialkowski

From: Maxime Ripard <[email protected]>

Currently, the second use of a gadget will fail, while the first one works.

Forcing the EP0 at every enable fix this issue.

Regards,

Hans

Quoted 19 lines
---
  drivers/usb/musb-new/sunxi.c | 3 +++
  1 file changed, 3 insertions(+)
drivers/usb/musb-new/sunxi.c +3 -0
index 052e065..4effaaa 100644
@@ -203,6 +203,9 @@ static void sunxi_musb_enable(struct musb *musb)
  {
  	pr_debug("%s():\n", __func__);
 
+	musb_ep_select(musb->mregs, 0);
+	musb_writeb(musb->mregs, MUSB_FADDR, 0);
+
  	if (enabled)
  		return;
 
#27 lore raw

PATCH 12/12 sunxi: MUSB gadget config provisions, with fastboot and USB mass storage support

In reply to Paul Kocialkowski

This adds some config options to the sunxi-common config to enable the USB download gadget and the fastboot and USB mass storage functions.

---
 include/configs/sunxi-common.h | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
include/configs/sunxi-common.h +30 -0
index 3d57129..b2eb306 100644
@@ -329,6 +329,36 @@ extern int soft_i2c_gpio_scl;
 #define CONFIG_USB_MUSB_PIO_ONLY
 #endif
 
+#ifdef CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW	0
+
+#define CONFIG_USB_GADGET_DOWNLOAD
+#define CONFIG_USB_FUNCTION_FASTBOOT
+#define CONFIG_USB_FUNCTION_MASS_STORAGE
+#endif
+
+#ifdef CONFIG_USB_GADGET_DOWNLOAD
+#define CONFIG_G_DNL_VENDOR_NUM		0x1f3a
+#define CONFIG_G_DNL_PRODUCT_NUM	0x1010
+#define CONFIG_G_DNL_MANUFACTURER	"Allwinner Technology"
+#endif
+
+#ifdef CONFIG_USB_FUNCTION_FASTBOOT
+#define CONFIG_CMD_FASTBOOT
+#define CONFIG_FASTBOOT_BUF_ADDR	CONFIG_SYS_LOAD_ADDR
+#define CONFIG_FASTBOOT_BUF_SIZE	0x2000000
+
+#define CONFIG_FASTBOOT_FLASH
+#define CONFIG_FASTBOOT_FLASH_MMC_DEV	0
+#define CONFIG_EFI_PARTITION
+#endif
+
+#ifdef CONFIG_USB_FUNCTION_MASS_STORAGE
+#define CONFIG_CMD_USB_MASS_STORAGE
+#endif
+
 #if defined CONFIG_USB_EHCI_HCD || defined CONFIG_USB_MUSB_HOST
 #define CONFIG_CMD_USB
 #endif
Signature · 1 line
1.9.1
#28 lore raw

PATCH 12/12 sunxi: MUSB gadget config provisions, with fastboot and USB mass storage support

Hi,

Quoted 4 lines · Paul Kocialkowski

This adds some config options to the sunxi-common config to enable the USB download gadget and the fastboot and USB mass storage functions.

Regards,

Hans

Quoted 46 lines
---
  include/configs/sunxi-common.h | 30 ++++++++++++++++++++++++++++++
  1 file changed, 30 insertions(+)
include/configs/sunxi-common.h +30 -0
index 3d57129..b2eb306 100644
@@ -329,6 +329,36 @@ extern int soft_i2c_gpio_scl;
  #define CONFIG_USB_MUSB_PIO_ONLY
  #endif
 
+#ifdef CONFIG_USB_MUSB_GADGET
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW	0
+
+#define CONFIG_USB_GADGET_DOWNLOAD
+#define CONFIG_USB_FUNCTION_FASTBOOT
+#define CONFIG_USB_FUNCTION_MASS_STORAGE
+#endif
+
+#ifdef CONFIG_USB_GADGET_DOWNLOAD
+#define CONFIG_G_DNL_VENDOR_NUM		0x1f3a
+#define CONFIG_G_DNL_PRODUCT_NUM	0x1010
+#define CONFIG_G_DNL_MANUFACTURER	"Allwinner Technology"
+#endif
+
+#ifdef CONFIG_USB_FUNCTION_FASTBOOT
+#define CONFIG_CMD_FASTBOOT
+#define CONFIG_FASTBOOT_BUF_ADDR	CONFIG_SYS_LOAD_ADDR
+#define CONFIG_FASTBOOT_BUF_SIZE	0x2000000
+
+#define CONFIG_FASTBOOT_FLASH
+#define CONFIG_FASTBOOT_FLASH_MMC_DEV	0
+#define CONFIG_EFI_PARTITION
+#endif
+
+#ifdef CONFIG_USB_FUNCTION_MASS_STORAGE
+#define CONFIG_CMD_USB_MASS_STORAGE
+#endif
+
  #if defined CONFIG_USB_EHCI_HCD || defined CONFIG_USB_MUSB_HOST
  #define CONFIG_CMD_USB
  #endif
#29 lore raw

PATCH 1/12 usb: USB_ARCH_HAS_HCD Kconfig option removal

In reply to Paul Kocialkowski
Quoted 16 lines · Paul Kocialkowski

The USB_ARCH_HAS_HCD currently serves no purpose and adds some confusion to the required Kconfig options that are required to have USB support.

Dropping it makes things easier and doesn't break anything, since it was unused anyways.

---
 drivers/usb/Kconfig | 4 ----
 1 file changed, 4 deletions(-)
drivers/usb/Kconfig +0 -0
index 637ef3d..fe1ef11 100644

drivers/usb/Kconfig line 5

Quoted 9 lines
drivers/usb/Kconfig +0 -4
@@ -1,9 +1,5 @@
-config USB_ARCH_HAS_HCD
-	def_bool y
-
 config USB
 	bool "Support for Host-side USB"
-	depends on USB_ARCH_HAS_HCD
 	---help---
 	  Universal Serial Bus (USB) is a specification for a serial bus
 	  subsystem which offers higher speeds and more features than the

Best regards,
Marek Vasut