18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciconfig USB_ISP1760
48c2ecf20Sopenharmony_ci	tristate "NXP ISP 1760/1761 support"
58c2ecf20Sopenharmony_ci	depends on USB || USB_GADGET
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  Say Y or M here if your system as an ISP1760 USB host controller
88c2ecf20Sopenharmony_ci	  or an ISP1761 USB dual-role controller.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci	  This driver does not support isochronous transfers or OTG.
118c2ecf20Sopenharmony_ci	  This USB controller is usually attached to a non-DMA-Master
128c2ecf20Sopenharmony_ci	  capable bus. NXP's eval kit brings this chip on PCI card
138c2ecf20Sopenharmony_ci	  where the chip itself is behind a PLB to simulate such
148c2ecf20Sopenharmony_ci	  a bus.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
178c2ecf20Sopenharmony_ci	  module will be called isp1760.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciconfig USB_ISP1760_HCD
208c2ecf20Sopenharmony_ci	bool
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciconfig USB_ISP1761_UDC
238c2ecf20Sopenharmony_ci	bool
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciif USB_ISP1760
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cichoice
288c2ecf20Sopenharmony_ci	bool "ISP1760 Mode Selection"
298c2ecf20Sopenharmony_ci	default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET)
308c2ecf20Sopenharmony_ci	default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET)
318c2ecf20Sopenharmony_ci	default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET)
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciconfig USB_ISP1760_HOST_ROLE
348c2ecf20Sopenharmony_ci	bool "Host only mode"
358c2ecf20Sopenharmony_ci	depends on USB=y || USB=USB_ISP1760
368c2ecf20Sopenharmony_ci	select USB_ISP1760_HCD
378c2ecf20Sopenharmony_ci	help
388c2ecf20Sopenharmony_ci	  Select this if you want to use the ISP1760 in host mode only. The
398c2ecf20Sopenharmony_ci	  gadget function will be disabled.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig USB_ISP1760_GADGET_ROLE
428c2ecf20Sopenharmony_ci	bool "Gadget only mode"
438c2ecf20Sopenharmony_ci	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
448c2ecf20Sopenharmony_ci	select USB_ISP1761_UDC
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  Select this if you want to use the ISP1760 in peripheral mode only.
478c2ecf20Sopenharmony_ci	  The host function will be disabled.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig USB_ISP1760_DUAL_ROLE
508c2ecf20Sopenharmony_ci	bool "Dual Role mode"
518c2ecf20Sopenharmony_ci	depends on USB=y || USB=USB_ISP1760
528c2ecf20Sopenharmony_ci	depends on USB_GADGET=y || USB_GADGET=USB_ISP1760
538c2ecf20Sopenharmony_ci	select USB_ISP1760_HCD
548c2ecf20Sopenharmony_ci	select USB_ISP1761_UDC
558c2ecf20Sopenharmony_ci	help
568c2ecf20Sopenharmony_ci	  Select this if you want to use the ISP1760 in both host and
578c2ecf20Sopenharmony_ci	  peripheral modes.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciendchoice
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciendif
62