blob: ad9072a532767b94d4171d1236ffc99f48330206 [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
Nathan Barrett-Morrison4db018a2025-02-26 12:30:27 -050025config USB_MUSB_SC5XX
26 bool "Analog Devices MUSB support"
27 depends on (SC57X || SC58X)
28 help
29 Say y here to enable support for the USB controller on
30 ADI SC57X/SC58X processors.
31
Adam Fordb894d872019-07-10 13:59:10 -050032config USB_MUSB_DA8XX
33 bool "Enable DA8xx MUSB Controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040034 depends on ARCH_DAVINCI
Adam Fordb894d872019-07-10 13:59:10 -050035 help
36 Say y here to enable support for the dual role high
37 speed USB controller based on the Mentor Graphics
38 silicon IP.
39
Mugunthan V N5b5479c2016-11-17 14:38:08 +053040config USB_MUSB_TI
41 bool "Enable TI OTG USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040042 depends on AM33XX
Alex Kiernane8d02b62019-04-18 11:10:50 +000043 select USB_MUSB_DSPS
Mugunthan V N5b5479c2016-11-17 14:38:08 +053044 help
45 Say y here to enable support for the dual role high
46 speed USB controller based on the Mentor Graphics
47 silicon IP.
48
Adam Ford9d3e6c32017-12-29 08:16:05 -060049config USB_MUSB_OMAP2PLUS
50 tristate "OMAP2430 and onwards"
51 depends on ARCH_OMAP2PLUS
52
53config USB_MUSB_AM35X
54 bool "AM35x"
55
56config USB_MUSB_DSPS
57 bool "TI DSPS platforms"
58
developer64800e02020-01-16 16:11:37 +080059config USB_MUSB_MT85XX
60 bool "Enable Mediatek MT85XX DRC USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040061 depends on ARCH_MEDIATEK
developer64800e02020-01-16 16:11:37 +080062 help
63 Say y to enable Mediatek MT85XX USB DRC controller support
64 if it is available on your Mediatek MUSB IP based platform.
65 DMA controllers are ignored. This driver follow musb-new
66 driver and usb gadget framework.
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020067
Purna Chandra Mandal05bc3f42016-03-21 13:05:42 +053068config USB_MUSB_PIC32
69 bool "Enable Microchip PIC32 DRC USB controller"
Tom Rini5b9e6162021-07-09 10:11:56 -040070 depends on MACH_PIC32
Purna Chandra Mandal05bc3f42016-03-21 13:05:42 +053071 help
72 Say y to enable PIC32 USB DRC controller support
73 if it is available on your Microchip PIC32 platform.
74
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020075config USB_MUSB_SUNXI
76 bool "Enable sunxi OTG / DRC USB controller"
77 depends on ARCH_SUNXI
Andre Przywara7eb54e92023-06-12 00:32:37 +010078 depends on PHY_SUN4I_USB
Samuel Dionne-Rielc851cc02019-11-27 14:56:02 -050079 select USB_MUSB_PIO_ONLY
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020080 default y
81 ---help---
82 Say y here to enable support for the sunxi OTG / DRC USB controller
Hans de Goededa6c37b2015-08-16 11:15:29 +020083 used on almost all sunxi boards.
Paul Kocialkowskie16ab872015-08-04 17:04:08 +020084
Stephan Gerholdd2519592021-07-08 20:33:50 +020085config USB_MUSB_UX500
86 bool "Enable ST-Ericsson Ux500 USB controller"
87 depends on DM_USB && DM_USB_GADGET && ARCH_U8500
88 default y
89 help
90 Say y to enable support for the MUSB OTG USB controller used in
91 ST-Ericsson Ux500. The driver supports either gadget or host mode
92 based on the selection of CONFIG_USB_MUSB_HOST.
93
Alex Kiernane1269f42019-04-12 10:51:05 +000094config USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
95 bool "Disable MUSB bulk split/combine"
96 default y
97 help
98 On TI AM335x devices, MUSB has bulk split/combine feature enabled
99 in the ConfigData register, but the current MUSB driver does not
100 support it yet. Select this option to disable the feature until the
101 driver adds the support.
102
Paul Kocialkowskie16ab872015-08-04 17:04:08 +0200103endif
Adam Ford9d3e6c32017-12-29 08:16:05 -0600104
105config USB_MUSB_PIO_ONLY
106 bool "Disable DMA (always use PIO)"
Stephan Gerholdd2519592021-07-08 20:33:50 +0200107 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 -0600108 help
109 All data is copied between memory and FIFO by the CPU.
110 DMA controllers are ignored.
Andre Przywara9b28e5a2021-05-05 13:51:03 +0100111
112config USB_MUSB_FIXED_CONFIGDATA
113 bool "Hardcode MUSB CONFIGDATA register"
114 depends on USB_MUSB_SUNXI
115 default n if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I_A23
116 default y
117 help
118 Newer Allwinner SoCs do not implement the MUSB_CONFIGDATA register,
119 so it always reads 0. Select this option to override this and
120 return a hardcoded value instead.