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

Hans de Goede
2015-03-29T11:18:31Z

Hi,

On 28-03-15 18:26, Paul Kocialkowski wrote:
> 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>

Nack, I'm not going to take any patch which removes config USB_KEYBOARD,
having USB_KEYBOARD always enabled on devices with usb host capability
causes a significant penalty in boot time, and some people may want to turn
it off because of that.

Regards,

Hans

> ---
> 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
>