blob: 51f876cd7115dd1285a6f0ffffd283cacc23bf9e [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
Samuel Dionne-Rielf4642e52019-11-27 14:56:02 -050071 select USB_MUSB_PIO_ONLY
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020072 default y
73 ---help---
74 Say y here to enable support for the sunxi OTG / DRC USB controller
Hans de Goede7806b752015-08-16 11:15:29 +020075 used on almost all sunxi boards.
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020076
Stephan Gerhold845d9cf2021-07-08 20:33:50 +020077config USB_MUSB_UX500
78 bool "Enable ST-Ericsson Ux500 USB controller"
79 depends on DM_USB && DM_USB_GADGET && ARCH_U8500
80 default y
81 help
82 Say y to enable support for the MUSB OTG USB controller used in
83 ST-Ericsson Ux500. The driver supports either gadget or host mode
84 based on the selection of CONFIG_USB_MUSB_HOST.
85
Alex Kiernanad991472019-04-12 10:51:05 +000086config USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
87 bool "Disable MUSB bulk split/combine"
88 default y
89 help
90 On TI AM335x devices, MUSB has bulk split/combine feature enabled
91 in the ConfigData register, but the current MUSB driver does not
92 support it yet. Select this option to disable the feature until the
93 driver adds the support.
94
Paul Kocialkowski6bed24c2015-08-04 17:04:08 +020095endif
Adam Ford86362222017-12-29 08:16:05 -060096
97config USB_MUSB_PIO_ONLY
98 bool "Disable DMA (always use PIO)"
Stephan Gerhold845d9cf2021-07-08 20:33:50 +020099 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 -0600100 help
101 All data is copied between memory and FIFO by the CPU.
102 DMA controllers are ignored.
Andre Przywara1027f282021-05-05 13:51:03 +0100103
104config USB_MUSB_FIXED_CONFIGDATA
105 bool "Hardcode MUSB CONFIGDATA register"
106 depends on USB_MUSB_SUNXI
107 default n if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I_A23
108 default y
109 help
110 Newer Allwinner SoCs do not implement the MUSB_CONFIGDATA register,
111 so it always reads 0. Select this option to override this and
112 return a hardcoded value instead.