2015-08-04 15:04:07 +00:00
|
|
|
#
|
|
|
|
# MUSB Controller Driver
|
|
|
|
#
|
|
|
|
comment "MUSB Controller Driver"
|
|
|
|
|
|
|
|
config USB_MUSB_HOST
|
|
|
|
bool "MUSB host mode support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on DM && OF_CONTROL
|
2018-04-19 04:32:57 +00:00
|
|
|
select SPL_SPRINTF if SPL
|
|
|
|
select TPL_SPRINTF if TPL
|
2021-07-09 14:11:56 +00:00
|
|
|
select USB_HOST
|
2015-08-04 15:04:07 +00:00
|
|
|
help
|
|
|
|
Enables the MUSB USB dual-role controller in host mode.
|
|
|
|
|
|
|
|
config USB_MUSB_GADGET
|
|
|
|
bool "MUSB gadget mode support"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on USB_GADGET
|
2016-04-13 11:20:25 +00:00
|
|
|
select USB_GADGET_DUALSPEED
|
2018-04-19 04:32:57 +00:00
|
|
|
select SPL_SPRINTF if SPL
|
|
|
|
select TPL_SPRINTF if TPL
|
2015-08-04 15:04:07 +00:00
|
|
|
help
|
|
|
|
Enables the MUSB USB dual-role controller in gadget mode.
|
2015-08-04 15:04:08 +00:00
|
|
|
|
2021-07-09 14:11:56 +00:00
|
|
|
if USB_MUSB_HOST || USB_MUSB_GADGET
|
2019-07-10 18:59:10 +00:00
|
|
|
config USB_MUSB_DA8XX
|
|
|
|
bool "Enable DA8xx MUSB Controller"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on ARCH_DAVINCI
|
2019-07-10 18:59:10 +00:00
|
|
|
help
|
|
|
|
Say y here to enable support for the dual role high
|
|
|
|
speed USB controller based on the Mentor Graphics
|
|
|
|
silicon IP.
|
|
|
|
|
2016-11-17 09:08:08 +00:00
|
|
|
config USB_MUSB_TI
|
|
|
|
bool "Enable TI OTG USB controller"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on AM33XX
|
2019-04-18 11:10:50 +00:00
|
|
|
select USB_MUSB_DSPS
|
2016-11-17 09:08:08 +00:00
|
|
|
help
|
|
|
|
Say y here to enable support for the dual role high
|
|
|
|
speed USB controller based on the Mentor Graphics
|
|
|
|
silicon IP.
|
|
|
|
|
2017-12-29 14:16:05 +00:00
|
|
|
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"
|
|
|
|
|
2020-01-16 08:11:37 +00:00
|
|
|
config USB_MUSB_MT85XX
|
|
|
|
bool "Enable Mediatek MT85XX DRC USB controller"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on ARCH_MEDIATEK
|
2020-01-16 08:11:37 +00:00
|
|
|
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.
|
2015-08-04 15:04:08 +00:00
|
|
|
|
2016-03-21 07:35:42 +00:00
|
|
|
config USB_MUSB_PIC32
|
|
|
|
bool "Enable Microchip PIC32 DRC USB controller"
|
2021-07-09 14:11:56 +00:00
|
|
|
depends on MACH_PIC32
|
2016-03-21 07:35:42 +00:00
|
|
|
help
|
|
|
|
Say y to enable PIC32 USB DRC controller support
|
|
|
|
if it is available on your Microchip PIC32 platform.
|
|
|
|
|
2015-08-04 15:04:08 +00:00
|
|
|
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
|
2015-08-16 09:15:29 +00:00
|
|
|
used on almost all sunxi boards.
|
2015-08-04 15:04:08 +00:00
|
|
|
|
2021-07-08 18:33:50 +00:00
|
|
|
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.
|
|
|
|
|
2019-04-12 10:51:05 +00:00
|
|
|
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.
|
|
|
|
|
2015-08-04 15:04:08 +00:00
|
|
|
endif
|
2017-12-29 14:16:05 +00:00
|
|
|
|
|
|
|
config USB_MUSB_PIO_ONLY
|
|
|
|
bool "Disable DMA (always use PIO)"
|
2021-07-08 18:33:50 +00:00
|
|
|
default y if USB_MUSB_AM35X || USB_MUSB_PIC32 || USB_MUSB_OMAP2PLUS || USB_MUSB_DSPS || USB_MUSB_SUNXI || USB_MUSB_MT85XX || USB_MUSB_UX500
|
2017-12-29 14:16:05 +00:00
|
|
|
help
|
|
|
|
All data is copied between memory and FIFO by the CPU.
|
|
|
|
DMA controllers are ignored.
|
usb: musb-new: Extend and move Allwinner quirk into Kconfig
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>
2021-05-05 12:51:03 +00:00
|
|
|
|
|
|
|
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.
|