mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
1027f28bd4
All newer Allwinner SoCs (since about 2013) miss the CONFIGDATA register in their MUSB implementation, so they need a quirk to hardcode this. Currently this quirk depends on listing the SoCs affected in musb_reg.h, which means that this list needs to grow with every new chip. Move the quirk feature into Kconfig, next to PIO_ONLY, and change the default to y (for Allwinner builds), while listing the early implementations as exceptions. This fixes USB peripheral operation on some newer SoCs, which were not explicitly listed before. Tested on H6, H616, R40 (which were broken before), and also on the H5 and A20, for regressions. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
101 lines
2.8 KiB
Text
101 lines
2.8 KiB
Text
#
|
|
# MUSB Controller Driver
|
|
#
|
|
comment "MUSB Controller Driver"
|
|
|
|
config USB_MUSB_HOST
|
|
bool "MUSB host mode support"
|
|
select SPL_SPRINTF if SPL
|
|
select TPL_SPRINTF if TPL
|
|
help
|
|
Enables the MUSB USB dual-role controller in host mode.
|
|
|
|
config USB_MUSB_GADGET
|
|
bool "MUSB gadget mode support"
|
|
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.
|
|
|
|
config USB_MUSB_DA8XX
|
|
bool "Enable DA8xx MUSB Controller"
|
|
depends on DM_USB
|
|
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 DM_USB
|
|
select USB_MUSB_DSPS
|
|
default n
|
|
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"
|
|
|
|
if USB_MUSB_HOST || USB_MUSB_GADGET
|
|
config USB_MUSB_MT85XX
|
|
bool "Enable Mediatek MT85XX DRC USB controller"
|
|
depends on DM_USB && ARCH_MEDIATEK
|
|
default n
|
|
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 DM_USB && 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
|
|
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_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
|
|
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.
|