blob: 51f876cd7115dd1285a6f0ffffd283cacc23bf9e [file] [log] [blame]
Paul Kocialkowskif4865f52015-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 Rini5b9e6162021-07-09 10:11:56 -04008 depends on DM && OF_CONTROL
Alex Kiernan236fc692018-04-19 04:32:57 +00009 select SPL_SPRINTF if SPL
10 select TPL_SPRINTF if TPL
Tom Rini5b9e6162021-07-09 10:11:56 -040011 select USB_HOST
Paul Kocialkowskif4865f52015-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 Rini5b9e6162021-07-09 10:11:56 -040017 depends on USB_GADGET
Sam Protsenkob4a0bf72016-04-13 14:20:25 +030018 select USB_GADGET_DUALSPEED
Alex Kiernan236fc692018-04-19 04:32:57 +000019 select SPL_SPRINTF if SPL
20 select TPL_SPRINTF if TPL
Paul Kocialkowskif4865f52015-08-04 17:04:07 +020021 help
22 Enables the MUSB USB dual-role controller in gadget mode.
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020023
Tom Rini5b9e6162021-07-09 10:11:56 -040024if USB_MUSB_HOST || USB_MUSB_GADGET
Adam Fordb894d872019-07-10 13:59:10 -050025config USB_MUSB_DA8XX
26 bool "Enable DA8xx MUSB Controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040027 depends on ARCH_DAVINCI
Adam Fordb894d872019-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 N5b5479c2016-11-17 14:38:08 +053033config USB_MUSB_TI
34 bool "Enable TI OTG USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040035 depends on AM33XX
Alex Kiernane8d02b62019-04-18 11:10:50 +000036 select USB_MUSB_DSPS
Mugunthan V N5b5479c2016-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 Ford9d3e6c32017-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
developer64800e02020-01-16 16:11:37 +080052config USB_MUSB_MT85XX
53 bool "Enable Mediatek MT85XX DRC USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040054 depends on ARCH_MEDIATEK
developer64800e02020-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 Kocialkowskie16ab872015-08-04 17:04:08 +020060
Purna Chandra Mandal05bc3f42016-03-21 13:05:42 +053061config USB_MUSB_PIC32
62 bool "Enable Microchip PIC32 DRC USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040063 depends on MACH_PIC32
Purna Chandra Mandal05bc3f42016-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 Kocialkowskie16ab872015-08-04 17:04:08 +020068config USB_MUSB_SUNXI
69 bool "Enable sunxi OTG / DRC USB controller"
70 depends on ARCH_SUNXI
Samuel Dionne-Rielc851cc02019-11-27 14:56:02 -050071 select USB_MUSB_PIO_ONLY
Paul Kocialkowskie16ab872015-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 Goededa6c37b2015-08-16 11:15:29 +020075 used on almost all sunxi boards.
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020076
Stephan Gerholdd2519592021-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 Kiernane1269f42019-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 Kocialkowskie16ab872015-08-04 17:04:08 +020095endif
Adam Ford9d3e6c32017-12-29 08:16:05 -060096
97config USB_MUSB_PIO_ONLY
98 bool "Disable DMA (always use PIO)"
Stephan Gerholdd2519592021-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 Ford9d3e6c32017-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 Przywara9b28e5a2021-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.