menu "UFS Host Controller Support"

config UFS
	bool "Support UFS controllers"
	depends on SCSI
	select CHARSET
	help
	  This selects support for Universal Flash Subsystem (UFS).
	  Say Y here if you want UFS Support.

config CADENCE_UFS
	bool "Cadence platform driver for UFS"
	depends on UFS
        help
	  This selects the platform driver for the Cadence UFS host
	  controller present on present TI's J721e devices.

config UFS_PCI
	bool "PCI bus based UFS Controller support"
	depends on PCI && UFS
	help
	  This selects the PCI UFS Host Controller Interface. Select this if
	  you have UFS Host Controller with PCI Interface.

	  If you have a controller with this interface, say Y here.

	  If unsure, say N.

config QCOM_UFS
	bool "Qualcomm Host Controller driver for UFS"
	depends on UFS && ARCH_SNAPDRAGON
        help
	  This selects the platform driver for the UFS host
	  controller present on Qualcomm Snapdragon SoCs.

config TI_J721E_UFS
	bool "Glue Layer driver for UFS on TI J721E devices"
	help
	  This selects the glue layer driver for Cadence controller
	  present on TI's J721E devices.

config UFS_RENESAS
	bool "Renesas specific hooks to UFS controller platform driver"
	depends on UFS
	select BOUNCE_BUFFER
	help
	  This selects the Renesas specific additions to UFSHCD platform driver.
	  UFS host on Renesas needs some vendor specific configuration before
	  accessing the hardware.

config UFS_AMD_VERSAL2
	bool "AMD Versal Gen 2 UFS controller platform driver"
	depends on UFS && ZYNQMP_FIRMWARE
	help
	  This selects the AMD specific additions to UFSHCD platform driver.
	  UFS host on AMD needs some vendor specific configuration before accessing
	  the hardware.

endmenu
