blob: 2ed2b73291d181c04dfeb2a30519b8c7af218a61 [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0
config USB_ISP1760
tristate "NXP ISP 1760/1761/1763 support"
depends on USB || USB_GADGET
select REGMAP_MMIO
help
Say Y or M here if your system as an ISP1760/1763 USB host controller
or an ISP1761 USB dual-role controller.
This driver does not support isochronous transfers or OTG.
This USB controller is usually attached to a non-DMA-Master
capable bus. NXP's eval kit brings this chip on PCI card
where the chip itself is behind a PLB to simulate such
a bus.
To compile this driver as a module, choose M here: the
module will be called isp1760.
config USB_ISP1760_HCD
bool
config USB_ISP1761_UDC
bool
if USB_ISP1760
choice
bool "ISP1760 Mode Selection"
default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET)
default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET)
default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET)
config USB_ISP1760_HOST_ROLE
bool "Host only mode"
depends on USB=y || USB=USB_ISP1760
select USB_ISP1760_HCD
help
Select this if you want to use the ISP1760 in host mode only. The
gadget function will be disabled.
config USB_ISP1760_GADGET_ROLE
bool "Gadget only mode"
depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
select USB_ISP1761_UDC
help
Select this if you want to use the ISP1760 in peripheral mode only.
The host function will be disabled.
config USB_ISP1760_DUAL_ROLE
bool "Dual Role mode"
depends on USB=y || USB=USB_ISP1760
depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
select USB_ISP1760_HCD
select USB_ISP1761_UDC
help
Select this if you want to use the ISP1760 in both host and
peripheral modes.
endchoice
endif