blob: c52afd41a7532486c57bc2fa9d532757b45d8e83 [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 help
38 Say y here to enable support for the dual role high
39 speed USB controller based on the Mentor Graphics
40 silicon IP.
41
Adam Ford86362222017-12-29 08:16:05 -060042config USB_MUSB_OMAP2PLUS
43 tristate "OMAP2430 and onwards"
44 depends on ARCH_OMAP2PLUS
45
46config USB_MUSB_AM35X
47 bool "AM35x"
48
49config USB_MUSB_DSPS
50 bool "TI DSPS platforms"
51
mingming lee7d017d62020-01-16 16:11:37 +080052config USB_MUSB_MT85XX
53 bool "Enable Mediatek MT85XX DRC USB controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040054 depends on ARCH_MEDIATEK
mingming lee7d017d62020-01-16 16:11:37 +080055 help
56 Say y to enable Mediatek MT85XX USB DRC controller support
57 if it is available on your Mediatek MUSB IP based platform.
58 DMA controllers are ignored. This driver follow musb-new
59 driver and usb gadget framework.
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020060
Purna Chandra Mandal03b8e042016-03-21 13:05:42 +053061config USB_MUSB_PIC32
62 bool "Enable Microchip PIC32 DRC USB controller"
Tom Rinibe5c0602021-07-09 10:11:56 -040063 depends on MACH_PIC32
Purna Chandra Mandal03b8e042016-03-21 13:05:42 +053064 help
65 Say y to enable PIC32 USB DRC controller support
66 if it is available on your Microchip PIC32 platform.
67
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020068config USB_MUSB_SUNXI
69 bool "Enable sunxi OTG / DRC USB controller"
70 depends on ARCH_SUNXI
Andre Przywarafcd92202023-06-12 00:32:37 +010071 depends on PHY_SUN4I_USB
Samuel Dionne-Rielf4642e52019-11-27 14:56:02 -050072 select USB_MUSB_PIO_ONLY
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020073 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.