USB: RK3288 USB CTLR initialization
[firefly-linux-kernel-4.4.55.git] / drivers / usb / Kconfig
1 #
2 # USB device configuration
3 #
4
5 # many non-PCI SOC chips embed OHCI
6 config USB_ARCH_HAS_OHCI
7         boolean
8         # ARM:
9         default y if SA1111
10         default y if ARCH_OMAP
11         default y if ARCH_S3C24XX
12         default y if PXA27x
13         default y if PXA3xx
14         default y if ARCH_EP93XX
15         default y if ARCH_AT91
16         default y if MFD_TC6393XB
17         default y if ARCH_W90X900
18         default y if ARCH_DAVINCI_DA8XX
19         default y if ARCH_CNS3XXX
20         default y if PLAT_SPEAR
21         default y if ARCH_EXYNOS
22         default y if ARCH_ROCKCHIP
23         # PPC:
24         default y if STB03xxx
25         default y if PPC_MPC52xx
26         # MIPS:
27         default y if MIPS_ALCHEMY
28         default y if MACH_JZ4740
29         # more:
30         default PCI
31
32 # some non-PCI hcds implement EHCI
33 config USB_ARCH_HAS_EHCI
34         boolean
35         default y if FSL_SOC
36         default y if PPC_MPC512x
37         default y if ARCH_IXP4XX
38         default y if ARCH_W90X900
39         default y if ARCH_AT91
40         default y if ARCH_MXC
41         default y if ARCH_MXS
42         default y if ARCH_OMAP3
43         default y if ARCH_CNS3XXX
44         default y if ARCH_VT8500
45         default y if PLAT_SPEAR
46         default y if PLAT_S5P
47         default y if ARCH_MSM
48         default y if MICROBLAZE
49         default y if SPARC_LEON
50         default y if ARCH_MMP
51         default y if MACH_LOONGSON1
52         default y if PLAT_ORION
53         default y if ARCH_ROCKCHIP
54         default PCI
55
56 # some non-PCI HCDs implement xHCI
57 config USB_ARCH_HAS_XHCI
58         boolean
59         default PCI
60
61 menuconfig USB_SUPPORT
62         bool "USB support"
63         depends on HAS_IOMEM
64         default y
65         ---help---
66           This option adds core support for Universal Serial Bus (USB).
67           You will also need drivers from the following menu to make use of it.
68
69 if USB_SUPPORT
70
71 config USB_COMMON
72         tristate
73         default y
74         depends on USB || USB_GADGET
75
76 # Host-side USB depends on having a host controller
77 # NOTE:  dummy_hcd is always an option, but it's ignored here ...
78 # NOTE:  SL-811 option should be board-specific ...
79 config USB_ARCH_HAS_HCD
80         boolean
81         default y if USB_ARCH_HAS_OHCI
82         default y if USB_ARCH_HAS_EHCI
83         default y if USB_ARCH_HAS_XHCI
84         default y if PCMCIA && !M32R                    # sl811_cs
85         default y if ARM                                # SL-811
86         default y if BLACKFIN                           # SL-811
87         default y if SUPERH                             # r8a66597-hcd
88         default PCI
89
90 # ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
91 config USB
92         tristate "Support for Host-side USB"
93         depends on USB_ARCH_HAS_HCD
94         select NLS  # for UTF-8 strings
95         ---help---
96           Universal Serial Bus (USB) is a specification for a serial bus
97           subsystem which offers higher speeds and more features than the
98           traditional PC serial port.  The bus supplies power to peripherals
99           and allows for hot swapping.  Up to 127 USB peripherals can be
100           connected to a single USB host in a tree structure.
101           
102           The USB host is the root of the tree, the peripherals are the
103           leaves and the inner nodes are special USB devices called hubs.
104           Most PCs now have USB host ports, used to connect peripherals
105           such as scanners, keyboards, mice, modems, cameras, disks,
106           flash memory, network links, and printers to the PC.
107
108           Say Y here if your computer has a host-side USB port and you want
109           to use USB devices.  You then need to say Y to at least one of the
110           Host Controller Driver (HCD) options below.  Choose a USB 1.1
111           controller, such as "UHCI HCD support" or "OHCI HCD support",
112           and "EHCI HCD (USB 2.0) support" except for older systems that
113           do not have USB 2.0 support.  It doesn't normally hurt to select
114           them all if you are not certain.
115
116           If your system has a device-side USB port, used in the peripheral
117           side of the USB protocol, see the "USB Gadget" framework instead.
118
119           After choosing your HCD, then select drivers for the USB peripherals
120           you'll be using.  You may want to check out the information provided
121           in <file:Documentation/usb/> and especially the links given in
122           <file:Documentation/usb/usb-help.txt>.
123
124           To compile this driver as a module, choose M here: the
125           module will be called usbcore.
126
127 if USB
128
129 source "drivers/usb/core/Kconfig"
130
131 source "drivers/usb/mon/Kconfig"
132
133 source "drivers/usb/wusbcore/Kconfig"
134
135 source "drivers/usb/host/Kconfig"
136
137 source "drivers/usb/musb/Kconfig"
138
139 source "drivers/usb/renesas_usbhs/Kconfig"
140
141 source "drivers/usb/class/Kconfig"
142
143 source "drivers/usb/storage/Kconfig"
144
145 source "drivers/usb/image/Kconfig"
146
147 endif
148
149 source "drivers/usb/dwc3/Kconfig"
150
151 source "drivers/usb/chipidea/Kconfig"
152
153 comment "USB port drivers"
154
155 if USB
156
157 config USB_USS720
158         tristate "USS720 parport driver"
159         depends on PARPORT
160         select PARPORT_NOT_PC
161         ---help---
162           This driver is for USB parallel port adapters that use the Lucent
163           Technologies USS-720 chip. These cables are plugged into your USB
164           port and provide USB compatibility to peripherals designed with
165           parallel port interfaces.
166
167           The chip has two modes: automatic mode and manual mode. In automatic
168           mode, it looks to the computer like a standard USB printer. Only
169           printers may be connected to the USS-720 in this mode. The generic
170           USB printer driver ("USB Printer support", above) may be used in
171           that mode, and you can say N here if you want to use the chip only
172           in this mode.
173
174           Manual mode is not limited to printers, any parallel port
175           device should work. This driver utilizes manual mode.
176           Note however that some operations are three orders of magnitude
177           slower than on a PCI/ISA Parallel Port, so timing critical
178           applications might not work.
179
180           Say Y here if you own an USS-720 USB->Parport cable and intend to
181           connect anything other than a printer to it.
182
183           To compile this driver as a module, choose M here: the
184           module will be called uss720.
185
186 source "drivers/usb/serial/Kconfig"
187
188 source "drivers/usb/misc/Kconfig"
189
190 source "drivers/usb/atm/Kconfig"
191
192 endif # USB
193
194 source "drivers/usb/phy/Kconfig"
195
196 source "drivers/usb/gadget/Kconfig"
197
198 # Rockchips otg20 and host20 both use DWC_OTG controller,
199 # DWC_OTG_274 is an old usb driver version, used for RK3188 and earlier platform
200 # DWC_OTG_310 is a new usb driver version, used for RK3188 and newer platform
201
202 menu "Dwc Otg Support"
203 depends on ARCH_ROCKCHIP
204
205 choice
206 prompt "Dwc Otg Driver Version Select"
207 config DWC_OTG_274
208         bool "DWC_OTG_274"
209         ---help---
210           This driver is an old dwc_otg driver version, only used for
211           RK3188 and earlier platform.
212
213 config DWC_OTG_310
214         bool "DWC_OTG_310"
215         ---help---
216           This driver is a new dwc_otg driver version, only used for
217           RK3188 and newer platform
218
219 endchoice
220
221 if DWC_OTG_310
222 source "drivers/usb/dwc_otg_310/Kconfig"
223 endif # DWC_OTG_310
224
225 if DWC_OTG_274
226 source "drivers/usb/dwc_otg/Kconfig"
227 endif # DWC_OTG_274
228
229 endmenu
230
231 endif # USB_SUPPORT