| # | |
| # Kernel configuration file for the UFS Host Controller | |
| # | |
| # This code is based on drivers/scsi/ufs/Kconfig | |
| # Copyright (C) 2011-2013 Samsung India Software Operations | |
| # | |
| # Authors: | |
| # Santosh Yaraganavi <santosh.sy@samsung.com> | |
| # Vinayak Holikatti <h.vinayak@samsung.com> | |
| # | |
| # This program is free software; you can redistribute it and/or | |
| # modify it under the terms of the GNU General Public License | |
| # as published by the Free Software Foundation; either version 2 | |
| # of the License, or (at your option) any later version. | |
| # See the COPYING file in the top-level directory or visit | |
| # <http://www.gnu.org/licenses/gpl-2.0.html> | |
| # | |
| # This program is distributed in the hope that it will be useful, | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| # GNU General Public License for more details. | |
| # | |
| # This program is provided "AS IS" and "WITH ALL FAULTS" and | |
| # without warranty of any kind. You are solely responsible for | |
| # determining the appropriateness of using and distributing | |
| # the program and assume all risks associated with your exercise | |
| # of rights with respect to the program, including but not limited | |
| # to infringement of third party rights, the risks and costs of | |
| # program errors, damage to or loss of data, programs or equipment, | |
| # and unavailability or interruption of operations. Under no | |
| # circumstances will the contributor of this Program be liable for | |
| # any damages of any kind arising from your use or distribution of | |
| # this program. | |
| config SCSI_UFSHCD | |
| tristate "Universal Flash Storage Controller Driver Core" | |
| depends on SCSI && SCSI_DMA | |
| select PM_DEVFREQ | |
| select DEVFREQ_GOV_SIMPLE_ONDEMAND | |
| select NLS | |
| help | |
| This selects the support for UFS devices in Linux, say Y and make | |
| sure that you know the name of your UFS host adapter (the card | |
| inside your computer that "speaks" the UFS protocol, also | |
| called UFS Host Controller), because you will be asked for it. | |
| The module will be called ufshcd. | |
| To compile this driver as a module, choose M here and read | |
| <file:Documentation/scsi/ufs.rst>. | |
| However, do not compile this as a module if your root file system | |
| (the one containing the directory /) is located on a UFS device. | |
| config SCSI_UFSHCD_PCI | |
| tristate "PCI bus based UFS Controller support" | |
| depends on SCSI_UFSHCD && PCI | |
| 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 or M here. | |
| If unsure, say N. | |
| config SCSI_UFS_DWC_TC_PCI | |
| tristate "DesignWare pci support using a G210 Test Chip" | |
| depends on SCSI_UFSHCD_PCI | |
| help | |
| Synopsys Test Chip is a PHY for prototyping purposes. | |
| If unsure, say N. | |
| config SCSI_UFSHCD_PLATFORM | |
| tristate "Platform bus based UFS Controller support" | |
| depends on SCSI_UFSHCD | |
| depends on HAS_IOMEM | |
| help | |
| This selects the UFS host controller support. Select this if | |
| you have an UFS controller on Platform bus. | |
| If you have a controller with this interface, say Y or M here. | |
| If unsure, say N. | |
| config SCSI_UFS_CDNS_PLATFORM | |
| tristate "Cadence UFS Controller platform driver" | |
| depends on SCSI_UFSHCD_PLATFORM | |
| help | |
| This selects the Cadence-specific additions to UFSHCD platform driver. | |
| If unsure, say N. | |
| config SCSI_UFS_DWC_TC_PLATFORM | |
| tristate "DesignWare platform support using a G210 Test Chip" | |
| depends on SCSI_UFSHCD_PLATFORM | |
| help | |
| Synopsys Test Chip is a PHY for prototyping purposes. | |
| If unsure, say N. | |
| config SCSI_UFS_QCOM | |
| tristate "QCOM specific hooks to UFS controller platform driver" | |
| depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM | |
| select QCOM_SCM if SCSI_UFS_CRYPTO | |
| select RESET_CONTROLLER | |
| help | |
| This selects the QCOM specific additions to UFSHCD platform driver. | |
| UFS host on QCOM needs some vendor specific configuration before | |
| accessing the hardware which includes PHY configuration and vendor | |
| specific registers. | |
| Select this if you have UFS controller on QCOM chipset. | |
| If unsure, say N. | |
| config SCSI_UFS_MEDIATEK | |
| tristate "Mediatek specific hooks to UFS controller platform driver" | |
| depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK | |
| select PHY_MTK_UFS | |
| help | |
| This selects the Mediatek specific additions to UFSHCD platform driver. | |
| UFS host on Mediatek needs some vendor specific configuration before | |
| accessing the hardware which includes PHY configuration and vendor | |
| specific registers. | |
| Select this if you have UFS controller on Mediatek chipset. | |
| If unsure, say N. | |
| config SCSI_UFS_HISI | |
| tristate "Hisilicon specific hooks to UFS controller platform driver" | |
| depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM | |
| help | |
| This selects the Hisilicon specific additions to UFSHCD platform driver. | |
| Select this if you have UFS controller on Hisilicon chipset. | |
| If unsure, say N. | |
| config SCSI_UFS_TI_J721E | |
| tristate "TI glue layer for Cadence UFS Controller" | |
| depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST) | |
| help | |
| This selects driver for TI glue layer for Cadence UFS Host | |
| Controller IP. | |
| Selects this if you have TI platform with UFS controller. | |
| If unsure, say N. | |
| config SCSI_UFS_BSG | |
| bool "Universal Flash Storage BSG device node" | |
| depends on SCSI_UFSHCD | |
| select BLK_DEV_BSGLIB | |
| help | |
| Universal Flash Storage (UFS) is SCSI transport specification for | |
| accessing flash storage on digital cameras, mobile phones and | |
| consumer electronic devices. | |
| A UFS controller communicates with a UFS device by exchanging | |
| UFS Protocol Information Units (UPIUs). | |
| UPIUs can not only be used as a transport layer for the SCSI protocol | |
| but are also used by the UFS native command set. | |
| This transport driver supports exchanging UFS protocol information units | |
| with a UFS device. See also the ufshcd driver, which is a SCSI driver | |
| that supports UFS devices. | |
| Select this if you need a bsg device node for your UFS controller. | |
| If unsure, say N. | |
| config SCSI_UFS_EXYNOS | |
| tristate "EXYNOS specific hooks to UFS controller platform driver" | |
| depends on SCSI_UFSHCD_PLATFORM && (ARCH_EXYNOS || COMPILE_TEST) | |
| help | |
| This selects the EXYNOS specific additions to UFSHCD platform driver. | |
| UFS host on EXYNOS includes HCI and UNIPRO layer, and associates with | |
| UFS-PHY driver. | |
| Select this if you have UFS host controller on EXYNOS chipset. | |
| If unsure, say N. | |
| config SCSI_UFS_CRYPTO | |
| bool "UFS Crypto Engine Support" | |
| depends on SCSI_UFSHCD && BLK_INLINE_ENCRYPTION | |
| help | |
| Enable Crypto Engine Support in UFS. | |
| Enabling this makes it possible for the kernel to use the crypto | |
| capabilities of the UFS device (if present) to perform crypto | |
| operations on data being transferred to/from the device. |