u-boot/drivers/usb/musb-new/Kconfig
Andre Przywara fcd9220d66 sunxi: Kconfig: rework PHY_USB_SUN4I selection
At the moment we use "select" in each Allwinner SoC's Kconfig section to
include the USB PHY driver in the build. This means it cannot be disabled
via Kconfig, although USB is not really a strictly required core
functionality, and a particular board might not even include USB ports.

Rework the Kconfig part by removing the "select" lines for each SoC's
section, and instead letting it default to "y" in the PHY driver section
itself. We use "depends on !" to exclude the few SoCs we don't support
(yet). The Allwinner V3s does not enable USB (PHY) support at the moment,
even though it should work: let the PHY default to "n" to keep the
current behaviour.

Also the MUSB USB driver directly calls some functions from the PHY
driver, so let the former depend on the PHY driver.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Tested-by: Sam Edwards <CFSworks@gmail.com>
2023-07-21 00:26:36 +01:00

113 lines
3.2 KiB
Text

#
# MUSB Controller Driver
#
comment "MUSB Controller Driver"
config USB_MUSB_HOST
bool "MUSB host mode support"
depends on DM && OF_CONTROL
select SPL_SPRINTF if SPL
select TPL_SPRINTF if TPL
select USB_HOST
help
Enables the MUSB USB dual-role controller in host mode.
config USB_MUSB_GADGET
bool "MUSB gadget mode support"
depends on USB_GADGET
select USB_GADGET_DUALSPEED
select SPL_SPRINTF if SPL
select TPL_SPRINTF if TPL
help
Enables the MUSB USB dual-role controller in gadget mode.
if USB_MUSB_HOST || USB_MUSB_GADGET
config USB_MUSB_DA8XX
bool "Enable DA8xx MUSB Controller"
depends on ARCH_DAVINCI
help
Say y here to enable support for the dual role high
speed USB controller based on the Mentor Graphics
silicon IP.
config USB_MUSB_TI
bool "Enable TI OTG USB controller"
depends on AM33XX
select USB_MUSB_DSPS
help
Say y here to enable support for the dual role high
speed USB controller based on the Mentor Graphics
silicon IP.
config USB_MUSB_OMAP2PLUS
tristate "OMAP2430 and onwards"
depends on ARCH_OMAP2PLUS
config USB_MUSB_AM35X
bool "AM35x"
config USB_MUSB_DSPS
bool "TI DSPS platforms"
config USB_MUSB_MT85XX
bool "Enable Mediatek MT85XX DRC USB controller"
depends on ARCH_MEDIATEK
help
Say y to enable Mediatek MT85XX USB DRC controller support
if it is available on your Mediatek MUSB IP based platform.
DMA controllers are ignored. This driver follow musb-new
driver and usb gadget framework.
config USB_MUSB_PIC32
bool "Enable Microchip PIC32 DRC USB controller"
depends on MACH_PIC32
help
Say y to enable PIC32 USB DRC controller support
if it is available on your Microchip PIC32 platform.
config USB_MUSB_SUNXI
bool "Enable sunxi OTG / DRC USB controller"
depends on ARCH_SUNXI
depends on PHY_SUN4I_USB
select USB_MUSB_PIO_ONLY
default y
---help---
Say y here to enable support for the sunxi OTG / DRC USB controller
used on almost all sunxi boards.
config USB_MUSB_UX500
bool "Enable ST-Ericsson Ux500 USB controller"
depends on DM_USB && DM_USB_GADGET && ARCH_U8500
default y
help
Say y to enable support for the MUSB OTG USB controller used in
ST-Ericsson Ux500. The driver supports either gadget or host mode
based on the selection of CONFIG_USB_MUSB_HOST.
config USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
bool "Disable MUSB bulk split/combine"
default y
help
On TI AM335x devices, MUSB has bulk split/combine feature enabled
in the ConfigData register, but the current MUSB driver does not
support it yet. Select this option to disable the feature until the
driver adds the support.
endif
config USB_MUSB_PIO_ONLY
bool "Disable DMA (always use PIO)"
default y if USB_MUSB_AM35X || USB_MUSB_PIC32 || USB_MUSB_OMAP2PLUS || USB_MUSB_DSPS || USB_MUSB_SUNXI || USB_MUSB_MT85XX || USB_MUSB_UX500
help
All data is copied between memory and FIFO by the CPU.
DMA controllers are ignored.
config USB_MUSB_FIXED_CONFIGDATA
bool "Hardcode MUSB CONFIGDATA register"
depends on USB_MUSB_SUNXI
default n if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I_A23
default y
help
Newer Allwinner SoCs do not implement the MUSB_CONFIGDATA register,
so it always reads 0. Select this option to override this and
return a hardcoded value instead.