1# SPDX-License-Identifier: GPL-2.0
2
3config USB_ISP1760
4	tristate "NXP ISP 1760/1761/1763 support"
5	depends on USB || USB_GADGET
6	select REGMAP_MMIO
7	help
8	  Say Y or M here if your system as an ISP1760/1763 USB host controller
9	  or an ISP1761 USB dual-role controller.
10
11	  This driver does not support isochronous transfers or OTG.
12	  This USB controller is usually attached to a non-DMA-Master
13	  capable bus. NXP's eval kit brings this chip on PCI card
14	  where the chip itself is behind a PLB to simulate such
15	  a bus.
16
17	  To compile this driver as a module, choose M here: the
18	  module will be called isp1760.
19
20config USB_ISP1760_HCD
21	bool
22
23config USB_ISP1761_UDC
24	bool
25
26if USB_ISP1760
27
28choice
29	bool "ISP1760 Mode Selection"
30	default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET)
31	default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET)
32	default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET)
33
34config USB_ISP1760_HOST_ROLE
35	bool "Host only mode"
36	depends on USB=y || USB=USB_ISP1760
37	select USB_ISP1760_HCD
38	help
39	  Select this if you want to use the ISP1760 in host mode only. The
40	  gadget function will be disabled.
41
42config USB_ISP1760_GADGET_ROLE
43	bool "Gadget only mode"
44	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
45	select USB_ISP1761_UDC
46	help
47	  Select this if you want to use the ISP1760 in peripheral mode only.
48	  The host function will be disabled.
49
50config USB_ISP1760_DUAL_ROLE
51	bool "Dual Role mode"
52	depends on USB=y || USB=USB_ISP1760
53	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
54	select USB_ISP1760_HCD
55	select USB_ISP1761_UDC
56	help
57	  Select this if you want to use the ISP1760 in both host and
58	  peripheral modes.
59
60endchoice
61
62endif
63