1#
2# MUSB Controller Driver
3#
4comment "MUSB Controller Driver"
5
6config USB_MUSB_HOST
7	bool "MUSB host mode support"
8	depends on DM && OF_CONTROL
9	select SPL_SPRINTF if SPL
10	select TPL_SPRINTF if TPL
11	select USB_HOST
12	help
13	  Enables the MUSB USB dual-role controller in host mode.
14
15config USB_MUSB_GADGET
16	bool "MUSB gadget mode support"
17	depends on USB_GADGET
18	select USB_GADGET_DUALSPEED
19	select SPL_SPRINTF if SPL
20	select TPL_SPRINTF if TPL
21	help
22	  Enables the MUSB USB dual-role controller in gadget mode.
23
24if USB_MUSB_HOST || USB_MUSB_GADGET
25config USB_MUSB_DA8XX
26	bool "Enable DA8xx MUSB Controller"
27	depends on ARCH_DAVINCI
28	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
33config USB_MUSB_TI
34	bool "Enable TI OTG USB controller"
35	depends on AM33XX
36	select USB_MUSB_DSPS
37	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
42config 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
52config USB_MUSB_MT85XX
53	bool "Enable Mediatek MT85XX DRC USB controller"
54	depends on ARCH_MEDIATEK
55	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.
60
61config USB_MUSB_PIC32
62	bool "Enable Microchip PIC32 DRC USB controller"
63	depends on MACH_PIC32
64	help
65	  Say y to enable PIC32 USB DRC controller support
66	  if it is available on your Microchip PIC32 platform.
67
68config USB_MUSB_SUNXI
69	bool "Enable sunxi OTG / DRC USB controller"
70	depends on ARCH_SUNXI
71	default y
72	---help---
73	Say y here to enable support for the sunxi OTG / DRC USB controller
74	used on almost all sunxi boards.
75
76config USB_MUSB_UX500
77	bool "Enable ST-Ericsson Ux500 USB controller"
78	depends on DM_USB && DM_USB_GADGET && ARCH_U8500
79	default y
80	help
81	  Say y to enable support for the MUSB OTG USB controller used in
82	  ST-Ericsson Ux500. The driver supports either gadget or host mode
83	  based on the selection of CONFIG_USB_MUSB_HOST.
84
85config USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
86	bool "Disable MUSB bulk split/combine"
87	default y
88	help
89	  On TI AM335x devices, MUSB has bulk split/combine feature enabled
90	  in the ConfigData register, but the current MUSB driver does not
91	  support it yet. Select this option to disable the feature until the
92	  driver adds the support.
93
94endif
95
96config USB_MUSB_PIO_ONLY
97	bool "Disable DMA (always use PIO)"
98	default y if USB_MUSB_AM35X || USB_MUSB_PIC32 || USB_MUSB_OMAP2PLUS || USB_MUSB_DSPS || USB_MUSB_SUNXI || USB_MUSB_MT85XX || USB_MUSB_UX500
99	help
100	  All data is copied between memory and FIFO by the CPU.
101	  DMA controllers are ignored.
102
103config USB_MUSB_FIXED_CONFIGDATA
104	bool "Hardcode MUSB CONFIGDATA register"
105	depends on USB_MUSB_SUNXI
106	default n if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN7I || MACH_SUN8I_A23
107	default y
108	help
109	  Newer Allwinner SoCs do not implement the MUSB_CONFIGDATA register,
110	  so it always reads 0. Select this option to override this and
111	  return a hardcoded value instead.
112