[U-Boot] [PATCH v2] sunxi: Avoid any assumption between musb gadget and host but fallback to host

Paul Kocialkowski
2015-03-28T17:26:24Z

musb might be used in gadget mode on sunxi, so we don't want to assume anything
related to host mode, especially USB keyboard support. Thus, there is no reason
to keep USB_KEYBOARD always enabled and in Kconfig: it is much better fit to
enable it in the common sunxi config header, when needed (some devices also have
no USB support at all).

In case gadget mode is not explicitly enabled, this will fallback to host mode.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
board/sunxi/Kconfig | 7 -------
configs/MSI_Primo73_defconfig | 1 -
configs/MSI_Primo81_defconfig | 1 -
include/configs/sunxi-common.h | 5 ++++-
4 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 57e7529..75e3fb3 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -452,13 +452,6 @@ config USB_MUSB_SUNXI
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
- ---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"
default 0
diff --git a/configs/MSI_Primo73_defconfig b/configs/MSI_Primo73_defconfig
index 5227b6f..f621237 100644
--- a/configs/MSI_Primo73_defconfig
+++ b/configs/MSI_Primo73_defconfig
@@ -14,7 +14,6 @@ CONFIG_VIDEO_LCD_DCLK_PHASE=0
CONFIG_VIDEO_LCD_POWER="PH8"
CONFIG_VIDEO_LCD_BL_EN="PH7"
CONFIG_VIDEO_LCD_BL_PWM="PB2"
-CONFIG_USB_KEYBOARD=n
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUN7I=y
diff --git a/configs/MSI_Primo81_defconfig b/configs/MSI_Primo81_defconfig
index b6aa876..4e1d167 100644
--- a/configs/MSI_Primo81_defconfig
+++ b/configs/MSI_Primo81_defconfig
@@ -20,7 +20,6 @@ CONFIG_VIDEO_LCD_SPI_MOSI="PH11"
CONFIG_VIDEO_LCD_SPI_MISO="PH12"
CONFIG_VIDEO_LCD_BL_EN="PA25"
CONFIG_VIDEO_LCD_BL_PWM="PH13"
-CONFIG_USB_KEYBOARD=n
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUN6I=y
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index b9bb971..61a45e1 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -298,13 +298,16 @@ extern int soft_i2c_gpio_scl;
#endif

#ifdef CONFIG_USB_MUSB_SUNXI
+#ifndef CONFIG_MUSB_GADGET
#define CONFIG_MUSB_HOST
+#endif
#define CONFIG_MUSB_PIO_ONLY
#endif

-#if defined CONFIG_USB_EHCI || defined CONFIG_USB_MUSB_SUNXI
+#if defined CONFIG_USB_EHCI || defined CONFIG_MUSB_HOST
#define CONFIG_CMD_USB
#define CONFIG_USB_STORAGE
+#define CONFIG_USB_KEYBOARD
#endif

#ifdef CONFIG_USB_KEYBOARD
--
1.9.1