xref: /linux/drivers/usb/isp1760/Kconfig (revision 6a34dfa15d6edf7e78b8118d862d2db0889cf669)
1cae8dc3bSGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2cae8dc3bSGreg Kroah-Hartman
37ef077a8SLaurent Pinchartconfig USB_ISP1760
460d789f3SRui Miguel Silva	tristate "NXP ISP 1760/1761/1763 support"
5100832abSLaurent Pinchart	depends on USB || USB_GADGET
61da9e1c0SRui Miguel Silva	select REGMAP_MMIO
77ef077a8SLaurent Pinchart	help
860d789f3SRui Miguel Silva	  Say Y or M here if your system as an ISP1760/1763 USB host controller
97ef077a8SLaurent Pinchart	  or an ISP1761 USB dual-role controller.
107ef077a8SLaurent Pinchart
117ef077a8SLaurent Pinchart	  This driver does not support isochronous transfers or OTG.
127ef077a8SLaurent Pinchart	  This USB controller is usually attached to a non-DMA-Master
137ef077a8SLaurent Pinchart	  capable bus. NXP's eval kit brings this chip on PCI card
147ef077a8SLaurent Pinchart	  where the chip itself is behind a PLB to simulate such
157ef077a8SLaurent Pinchart	  a bus.
167ef077a8SLaurent Pinchart
177ef077a8SLaurent Pinchart	  To compile this driver as a module, choose M here: the
187ef077a8SLaurent Pinchart	  module will be called isp1760.
197ef077a8SLaurent Pinchart
20100832abSLaurent Pinchartconfig USB_ISP1760_HCD
21100832abSLaurent Pinchart	bool
22100832abSLaurent Pinchart
237ef077a8SLaurent Pinchartconfig USB_ISP1761_UDC
24100832abSLaurent Pinchart	bool
25100832abSLaurent Pinchart
26100832abSLaurent Pinchartif USB_ISP1760
27100832abSLaurent Pinchart
28100832abSLaurent Pinchartchoice
29*b95d0899SMasahiro Yamada	prompt "ISP1760 Mode Selection"
30100832abSLaurent Pinchart	default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET)
31100832abSLaurent Pinchart	default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET)
32100832abSLaurent Pinchart	default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET)
33100832abSLaurent Pinchart
34100832abSLaurent Pinchartconfig USB_ISP1760_HOST_ROLE
35100832abSLaurent Pinchart	bool "Host only mode"
36100832abSLaurent Pinchart	depends on USB=y || USB=USB_ISP1760
37100832abSLaurent Pinchart	select USB_ISP1760_HCD
387ef077a8SLaurent Pinchart	help
39100832abSLaurent Pinchart	  Select this if you want to use the ISP1760 in host mode only. The
40100832abSLaurent Pinchart	  gadget function will be disabled.
41100832abSLaurent Pinchart
42100832abSLaurent Pinchartconfig USB_ISP1760_GADGET_ROLE
43100832abSLaurent Pinchart	bool "Gadget only mode"
44100832abSLaurent Pinchart	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
45100832abSLaurent Pinchart	select USB_ISP1761_UDC
46100832abSLaurent Pinchart	help
47100832abSLaurent Pinchart	  Select this if you want to use the ISP1760 in peripheral mode only.
48100832abSLaurent Pinchart	  The host function will be disabled.
49100832abSLaurent Pinchart
50100832abSLaurent Pinchartconfig USB_ISP1760_DUAL_ROLE
51100832abSLaurent Pinchart	bool "Dual Role mode"
52100832abSLaurent Pinchart	depends on USB=y || USB=USB_ISP1760
53100832abSLaurent Pinchart	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
54100832abSLaurent Pinchart	select USB_ISP1760_HCD
55100832abSLaurent Pinchart	select USB_ISP1761_UDC
56100832abSLaurent Pinchart	help
57100832abSLaurent Pinchart	  Select this if you want to use the ISP1760 in both host and
58100832abSLaurent Pinchart	  peripheral modes.
59100832abSLaurent Pinchart
60100832abSLaurent Pinchartendchoice
61100832abSLaurent Pinchart
62100832abSLaurent Pinchartendif
63