blob: a9a7c2675ef1c6f302606a486cf59a4ebf5d2d71 [file] [log] [blame]
Paul Kocialkowski5d6c2f42015-08-04 17:04:07 +02001#
2# MUSB Controller Driver
3#
4comment "MUSB Controller Driver"
5
6config USB_MUSB_HOST
7 bool "MUSB host mode support"
Tom Rinibe5c0602021-07-09 10:11:56 -04008 depends on DM && OF_CONTROL
Alex Kiernanab9e12f2018-04-19 04:32:57 +00009 select SPL_SPRINTF if SPL
10 select TPL_SPRINTF if TPL
Tom Rinibe5c0602021-07-09 10:11:56 -040011 select USB_HOST
Paul Kocialkowski5d6c2f42015-08-04 17:04:07 +020012 help
13 Enables the MUSB USB dual-role controller in host mode.
14
15config USB_MUSB_GADGET
16 bool "MUSB gadget mode support"
Tom Rinibe5c0602021-07-09 10:11:56 -040017 depends on USB_GADGET
Sam Protsenko3457bba2016-04-13 14:20:25 +030018 select USB_GADGET_DUALSPEED
Alex Kiernanab9e12f2018-04-19 04:32:57 +000019 select SPL_SPRINTF if SPL
20 select TPL_SPRINTF if TPL
Paul Kocialkowski5d6c2f42015-08-04 17:04:07 +020021 help
22 Enables the MUSB USB dual-role controller in gadget mode.
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020023
Tom Rinibe5c0602021-07-09 10:11:56 -040024if USB_MUSB_HOST || USB_MUSB_GADGET
Adam Ford56083312019-07-10 13:59:10 -050025config USB_MUSB_DA8XX
26 bool "Enable DA8xx MUSB Controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040027 depends on ARCH_DAVINCI
Adam Ford56083312019-07-10 13:59:10 -050028 help
29 Say y here to enable support for the dual role high
30 speed USB controller based on the Mentor Graphics
31 silicon IP.
32
Mugunthan V N28b8d5f2016-11-17 14:38:08 +053033config USB_MUSB_TI
34 bool "Enable TI OTG USB controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040035 depends on AM33XX
Alex Kiernan17982a22019-04-18 11:10:50 +000036 select USB_MUSB_DSPS
Mugunthan V N28b8d5f2016-11-17 14:38:08 +053037 default n
38 help
39 Say y here to enable support for the dual role high
40 speed USB controller based on the Mentor Graphics
41 silicon IP.
42
Adam Ford86362222017-12-29 08:16:05 -060043config USB_MUSB_OMAP2PLUS
44 tristate "OMAP2430 and onwards"
45 depends on ARCH_OMAP2PLUS
46
47config USB_MUSB_AM35X
48 bool "AM35x"
49
50config USB_MUSB_DSPS
51 bool "TI DSPS platforms"
52
mingming lee7d017d62020-01-16 16:11:37 +080053config USB_MUSB_MT85XX
54 bool "Enable Mediatek MT85XX DRC USB controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040055 depends on ARCH_MEDIATEK
mingming lee7d017d62020-01-16 16:11:37 +080056 default n
57 help
58 Say y to enable Mediatek MT85XX USB DRC controller support
59 if it is available on your Mediatek MUSB IP based platform.
60 DMA controllers are ignored. This driver follow musb-new
61 driver and usb gadget framework.
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020062
Purna Chandra Mandal03b8e042016-03-21 13:05:42 +053063config USB_MUSB_PIC32
64 bool "Enable Microchip PIC32 DRC USB controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040065 depends on MACH_PIC32
Purna Chandra Mandal03b8e042016-03-21 13:05:42 +053066 help
67 Say y to enable PIC32 USB DRC controller support
68 if it is available on your Microchip PIC32 platform.
69
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020070config USB_MUSB_SUNXI
71 bool "Enable sunxi OTG / DRC USB controller"
72 depends on ARCH_SUNXI
73 default y
74 ---help---
75 Say y here to enable support for the sunxi OTG / DRC USB controller
Hans de Goede7806b752015-08-16 11:15:29 +020076 used on almost all sunxi boards.
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020077
Stephan Gerhold845d9cf2021-07-08 20:33:50 +020078config USB_MUSB_UX500
79 bool "Enable ST-Ericsson Ux500 USB controller"
80 depends on DM_USB && DM_USB_GADGET && ARCH_U8500
81 default y
82 help
83 Say y to enable support for the MUSB OTG USB controller used in
84 ST-Ericsson Ux500. The driver supports either gadget or host mode
85 based on the selection of CONFIG_USB_MUSB_HOST.
86
Alex Kiernanad991472019-04-12 10:51:05 +000087config USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
88 bool "Disable MUSB bulk split/combine"
89 default y
90 help
91 On TI AM335x devices, MUSB has bulk split/combine feature enabled
92 in the ConfigData register, but the current MUSB driver does not
93 support it yet. Select this option to disable the feature until the
94 driver adds the support.
95
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020096endif
Adam Ford86362222017-12-29 08:16:05 -060097
98config USB_MUSB_PIO_ONLY
99 bool "Disable DMA (always use PIO)"
Stephan Gerhold845d9cf2021-07-08 20:33:50 +0200100 default y if USB_MUSB_AM35X || USB_MUSB_PIC32 || USB_MUSB_OMAP2PLUS || USB_MUSB_DSPS || USB_MUSB_SUNXI || USB_MUSB_MT85XX || USB_MUSB_UX500
Adam Ford86362222017-12-29 08:16:05 -0600101 help
102 All data is copied between memory and FIFO by the CPU.
103 DMA controllers are ignored.
Andre Przywara1027f282021-05-05 13:51:03 +0100104
105config USB_MUSB_FIXED_CONFIGDATA
106 bool "Hardcode MUSB CONFIGDATA register"
107 depends on USB_MUSB_SUNXI
108 default n if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I_A23
109 default y
110 help
111 Newer Allwinner SoCs do not implement the MUSB_CONFIGDATA register,
112 so it always reads 0. Select this option to override this and
113 return a hardcoded value instead.