[U-Boot] [PATCH] usb: dwc3: Kconfig: get rid of obsolete mode selection
Neil Armstrong
narmstrong at baylibre.com
Thu Aug 8 08:19:01 UTC 2019
On 07/08/2019 17:55, Jean-Jacques Hiblot wrote:
> The mode selection for the DWC3 is kind of obsolete. The driver does not
> have to be host only or gadget only. This choice is confusing.
> All the remaining callers of dwc3_uboot_init() explicitly set dr_mode
> before calling the function, so none rely on a default behavior.
>
> Remove the choice menu and keep only the USB_DWC3_GADGET option. Enable it
> by default if USB_GADGET and USB_DWC3 are enabled.
> It must be disabled for the evb-rk3328 and odroid-n2 as it uses DWC2 for
> the gadget and DWC3 for the host.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>
> ---
>
> This patch applies on top of git://git.denx.de/u-boot-usb.git master
>
> This patch was a part of a larger series. The changes since are:
> - Fix the test of the USB_DWC3_GADGET option. IS_ENABLED() requires the
> whole option name including the 'CONFIG_' prefix
> - disable the CONFIG_USB_DWC3_GADGET option for the new odroid-n2 config
>
>
> configs/evb-rk3328_defconfig | 1 +
> configs/odroid-n2_defconfig | 1 +
> drivers/usb/dwc3/Kconfig | 18 ++----------------
> drivers/usb/dwc3/core.c | 4 ++--
> 4 files changed, 6 insertions(+), 18 deletions(-)
>
> diff --git a/configs/evb-rk3328_defconfig b/configs/evb-rk3328_defconfig
> index fcc04f27ec..373ddf2f7f 100644
> --- a/configs/evb-rk3328_defconfig
> +++ b/configs/evb-rk3328_defconfig
> @@ -63,6 +63,7 @@ CONFIG_USB_OHCI_HCD=y
> CONFIG_USB_OHCI_GENERIC=y
> CONFIG_USB_DWC2=y
> CONFIG_USB_DWC3=y
> +# CONFIG_USB_DWC3_GADGET is not set
> CONFIG_USB_GADGET=y
> CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
> CONFIG_USB_GADGET_VENDOR_NUM=0x2207
> diff --git a/configs/odroid-n2_defconfig b/configs/odroid-n2_defconfig
> index 38d1549375..40b491e170 100644
> --- a/configs/odroid-n2_defconfig
> +++ b/configs/odroid-n2_defconfig
> @@ -49,6 +49,7 @@ CONFIG_USB_GADGET_DWC2_OTG_PHY_BUS_WIDTH_8=y
> CONFIG_USB_XHCI_HCD=y
> CONFIG_USB_XHCI_DWC3=y
> CONFIG_USB_DWC3=y
> +# CONFIG_USB_DWC3_GADGET is not set
> CONFIG_USB_DWC3_MESON_G12A=y
> CONFIG_CMD_USB=y
> CONFIG_CMD_USB_MASS_STORAGE=y
For odroid-n2_defconfig :
Acked-by: Neil Armstrong <narmstrong at baylibre.com>
> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
> index 25e1a38aee..c302486291 100644
> --- a/drivers/usb/dwc3/Kconfig
> +++ b/drivers/usb/dwc3/Kconfig
> @@ -7,25 +7,11 @@ config USB_DWC3
>
> if USB_DWC3
>
> -choice
> - bool "DWC3 Mode Selection"
> -
> -config USB_DWC3_HOST
> - bool "Host only mode"
> - depends on USB
> - help
> - Select this when you want to use DWC3 in host mode only,
> - thereby the gadget feature will be regressed.
> -
> config USB_DWC3_GADGET
> - bool "Gadget only mode"
> + bool "USB Gadget support for DWC3"
> + default y
> depends on USB_GADGET
> select USB_GADGET_DUALSPEED
> - help
> - Select this when you want to use DWC3 in gadget mode only,
> - thereby the host feature will be regressed.
> -
> -endchoice
>
> comment "Platform Glue Driver Support"
>
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 1baad39796..10b3f837f2 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -707,9 +707,9 @@ int dwc3_uboot_init(struct dwc3_device *dwc3_dev)
> return -ENOMEM;
> }
>
> - if (IS_ENABLED(CONFIG_USB_DWC3_HOST))
> + if (!IS_ENABLED(CONFIG_USB_DWC3_GADGET))
> dwc->dr_mode = USB_DR_MODE_HOST;
> - else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))
> + else if (!IS_ENABLED(CONFIG_USB_HOST))
> dwc->dr_mode = USB_DR_MODE_PERIPHERAL;
>
> if (dwc->dr_mode == USB_DR_MODE_UNKNOWN)
>
More information about the U-Boot
mailing list