| /linux/Documentation/scsi/ |
| H A D | ufs.rst | 11 2. UFS Architecture Overview 13 2.2 UFS Transport Protocol (UTP) layer 14 2.3 UFS Interconnect (UIC) Layer 16 3.1 UFS controller initialization 18 3.3 UFS error handling 21 5. UFS Reference Clock Frequency configuration 27 Universal Flash Storage (UFS) is a storage specification for flash devices. 31 is defined by JEDEC Solid State Technology Association. UFS is based 32 on the MIPI M-PHY physical layer standard. UFS uses MIPI M-PHY as the 35 The main goals of UFS are to provide: [all …]
|
| /linux/drivers/ufs/core/ |
| H A D | Kconfig | 3 # Kernel configuration file for the UFS Host Controller core. 15 Universal Flash Storage (UFS) is SCSI transport specification for 18 A UFS controller communicates with a UFS device by exchanging 19 UFS Protocol Information Units (UPIUs). 21 but are also used by the UFS native command set. 22 This transport driver supports exchanging UFS protocol information units 23 with a UFS device. See also the ufshcd driver, which is a SCSI driver 24 that supports UFS devices. 26 Select this if you need a bsg device node for your UFS controller. 30 bool "UFS Crypto Engine Support" [all …]
|
| H A D | ufs-rpmb.c | 3 * UFS OP-TEE based RPMB Driver 20 #include <ufs/ufshcd.h> 24 #define UFS_RPMB_SEC_PROTOCOL 0xEC /* JEDEC UFS application */ 25 #define UFS_RPMB_SEC_PROTOCOL_ID 0x01 /* JEDEC UFS RPMB protocol ID, CDB byte3 */ 31 /* UFS RPMB device structure */ 54 /* UFS RPMB route frames implementation */ 134 /* UFS RPMB device registration */ 151 dev_err(hba->dev, "UFS Device ID not available\n"); in ufs_rpmb_probe() 185 dev_err(hba->dev, "Failed to register UFS RPMB device %d\n", region); in ufs_rpmb_probe() 205 dev_err(hba->dev, "Failed to register UFS RPMB device.\n"); in ufs_rpmb_probe() [all …]
|
| /linux/Documentation/devicetree/bindings/ufs/ |
| H A D | samsung,exynos-ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/samsung,exynos-ufs.yaml# 7 title: Samsung SoC series UFS host controller 13 Each Samsung UFS host controller instance should have its own node. 18 - google,gs101-ufs 19 - samsung,exynos7-ufs 20 - samsung,exynosautov9-ufs 21 - samsung,exynosautov9-ufs-vh 22 - tesla,fsd-ufs 29 - description: UFS protector register 41 - description: ufs link core clock [all …]
|
| H A D | hisilicon,ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/hisilicon,ufs.yaml# 7 title: HiSilicon Universal Flash Storage (UFS) Controller 12 # Select only our matches, not all jedec,ufs 18 - hisilicon,hi3660-ufs 19 - hisilicon,hi3670-ufs 24 - $ref: ufs-common.yaml 30 - const: hisilicon,hi3660-ufs 31 - const: jedec,ufs-1.1 34 - hisilicon,hi3670-ufs 35 - const: jedec,ufs-2.1 [all …]
|
| H A D | sprd,ums9620-ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/sprd,ums9620-ufs.yaml# 7 title: Unisoc Universal Flash Storage (UFS) Controller 13 - $ref: ufs-common.yaml 17 const: sprd,ums9620-ufs 43 sprd,ufs-anlg-syscon: 45 description: phandle of syscon used to control ufs analog regs. 65 ufs: ufs@22000000 { 66 compatible = "sprd,ums9620-ufs"; 77 sprd,ufs-anlg-syscon = <&anlg_phy_g12_regs>;
|
| H A D | ti,j721e-ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/ti,j721e-ufs.yaml# 7 title: TI J721e UFS Host Controller Glue Driver 15 - const: ti,j721e-ufs 19 description: address of TI UFS glue registers 49 "^ufs@[0-9a-f]+$": 52 Cadence UFS controller node must be the child node. 66 ufs-wrapper@4e80000 { 67 compatible = "ti,j721e-ufs"; 78 ufs@4000 { 79 compatible = "cdns,ufshc-m31-16nm", "jedec,ufs-2.0";
|
| H A D | mediatek,ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/mediatek,ufs.yaml# 7 title: Mediatek Universal Flash Storage (UFS) Controller 36 mediatek,ufs-disable-mcq: 38 description: The mask to disable MCQ (Multi-Circular Queue) for UFS host. 51 - $ref: ufs-common.yaml 65 - const: ufs 79 - const: ufs 90 ufs@ff3c0000 { 97 clock-names = "ufs";
|
| H A D | cdns,ufshc.yaml | 4 $id: http://devicetree.org/schemas/ufs/cdns,ufshc.yaml# 7 title: Cadence Universal Flash Storage (UFS) Controller 12 # Select only our matches, not all jedec,ufs-2.0 24 - $ref: ufs-common.yaml 31 # CDNS UFS HC + M31 16nm PHY 33 - const: jedec,ufs-2.0 66 ufs@fd030000 { 67 compatible = "cdns,ufshc", "jedec,ufs-2.0";
|
| H A D | renesas,ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/renesas,ufs.yaml# 7 title: Renesas R-Car UFS Host Controller 13 - $ref: ufs-common.yaml 17 const: renesas,r8a779f0-ufs 62 ufs: ufs@e686000 { 63 compatible = "renesas,r8a779f0-ufs";
|
| H A D | snps,tc-dwc-g210.yaml | 4 $id: http://devicetree.org/schemas/ufs/snps,tc-dwc-g210.yaml# 7 title: Synopsys DesignWare Universal Flash Storage (UFS) Controller 12 # Select only our matches, not all jedec,ufs 23 - $ref: ufs-common.yaml 32 - const: jedec,ufs-2.0 45 ufs@d0000000 { 48 "jedec,ufs-2.0";
|
| H A D | amd,versal2-ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/amd,versal2-ufs.yaml# 7 title: AMD Versal Gen 2 UFS Host Controller 13 - $ref: ufs-common.yaml 17 const: amd,versal2-ufs 52 ufs@f10b0000 { 53 compatible = "amd,versal2-ufs";
|
| H A D | ufs-common.yaml | 4 $id: http://devicetree.org/schemas/ufs/ufs-common.yaml# 7 title: Common properties for Universal Flash Storage (UFS) Host Controllers 56 Phandle to UFS host controller supply regulator node. 73 For embedded UFS devices, valid VCC range is 1.7-1.95V or 2.7-3.6V. This 75 1.7-1.95V. Note for external UFS cards this property is invalid and valid 105 Restricts the UFS controller to rate-a or rate-b for both TX and
|
| H A D | qcom,ufs.yaml | 4 $id: http://devicetree.org/schemas/ufs/qcom,ufs.yaml# 7 title: Qualcomm Universal Flash Storage (UFS) Controller 13 # Select only our matches, not all jedec,ufs-2.0 43 - const: jedec,ufs-2.0 63 - $ref: qcom,ufs-common.yaml 188 ufs@1d84000 { 190 "jedec,ufs-2.0";
|
| /linux/drivers/ufs/host/ |
| H A D | ti-j721e-ufs.c | 26 struct ti_j721e_ufs *ufs; in ti_j721e_ufs_probe() local 31 ufs = devm_kzalloc(dev, sizeof(*ufs), GFP_KERNEL); in ti_j721e_ufs_probe() 32 if (!ufs) in ti_j721e_ufs_probe() 35 ufs->regbase = devm_platform_ioremap_resource(pdev, 0); in ti_j721e_ufs_probe() 36 if (IS_ERR(ufs->regbase)) in ti_j721e_ufs_probe() 37 return PTR_ERR(ufs->regbase); in ti_j721e_ufs_probe() 53 ufs->reg |= TI_UFS_SS_CLK_26MHZ; in ti_j721e_ufs_probe() 56 /* Take UFS slave device out of reset */ in ti_j721e_ufs_probe() 57 ufs->reg |= TI_UFS_SS_RST_N_PCS; in ti_j721e_ufs_probe() 58 writel(ufs->reg, ufs->regbase + TI_UFS_SS_CTRL); in ti_j721e_ufs_probe() [all …]
|
| H A D | ufs-exynos.h | 3 * UFS Host Controller driver for Exynos specific extensions 41 * results in non-functioning UFS. 116 #define UNIPRO_PCLK_PERIOD(ufs) (NSEC_PER_SEC / ufs->pclk_rate) argument 186 int (*drv_init)(struct exynos_ufs *ufs); 187 int (*pre_link)(struct exynos_ufs *ufs); 188 int (*post_link)(struct exynos_ufs *ufs); 189 int (*pre_pwr_change)(struct exynos_ufs *ufs, 191 int (*post_pwr_change)(struct exynos_ufs *ufs, 193 int (*pre_hce_enable)(struct exynos_ufs *ufs); 194 int (*post_hce_enable)(struct exynos_ufs *ufs); [all …]
|
| H A D | Makefile | 6 obj-$(CONFIG_SCSI_UFS_QCOM) += ufs-qcom.o 7 obj-$(CONFIG_SCSI_UFS_EXYNOS) += ufs-exynos.o 10 obj-$(CONFIG_SCSI_UFS_HISI) += ufs-hisi.o 11 obj-$(CONFIG_SCSI_UFS_MEDIATEK) += ufs-mediatek.o 12 obj-$(CONFIG_SCSI_UFS_RENESAS) += ufs-renesas.o 13 obj-$(CONFIG_SCSI_UFS_ROCKCHIP) += ufs-rockchip.o 14 obj-$(CONFIG_SCSI_UFS_SPRD) += ufs-sprd.o 15 obj-$(CONFIG_SCSI_UFS_TI_J721E) += ti-j721e-ufs.o 16 obj-$(CONFIG_SCSI_UFS_AMD_VERSAL2) += ufs-amd-versal2.o ufshcd-dwc.o
|
| H A D | cdns-pltfrm.c | 3 * Platform UFS Host driver for Cadence controller 189 * Some UFS devices have issues if LCC is enabled. in cdns_ufs_link_startup_notify() 198 * Disabling Autohibern8 feature in cadence UFS in cdns_ufs_link_startup_notify() 207 * cdns_ufs_init - performs additional ufs initialization 248 .name = "cdns-ufs-pltfm", 256 .name = "cdns-ufs-pltfm", 303 * cdns_ufs_pltfrm_remove - removes the ufs driver 333 MODULE_DESCRIPTION("Cadence UFS host controller platform driver");
|
| /linux/include/ufs/ |
| H A D | ufs_quirks.h | 22 * ufs_dev_quirk - ufs device quirk info 23 * @card: ufs card details 33 * Some vendor's UFS device sends back to back NACs for the DL data frames 35 * such UFS devices send back to back NAC without waiting for new 44 * raised by UFS controller. 51 * If DL NAC error is seen multiple times with some vendor's UFS devices then 58 * Few Toshiba UFS device models advertise RX_MIN_ACTIVATETIME_CAPABILITY as 60 * from UFS device. 67 * It seems some UFS devices may keep drawing more than sleep current 68 * (atleast for 500us) from UFS rails (especially from VCCQ rail). [all …]
|
| /linux/fs/ufs/ |
| H A D | Kconfig | 3 tristate "UFS file system support (read only)" 8 OpenBSD and NeXTstep) use a file system called UFS. Some System V 12 experimental "UFS file system write support", below. Please read the 13 file <file:Documentation/admin-guide/ufs.rst> for more information. 27 To compile the UFS file system support as a module, choose M here: the 28 module will be called ufs. 33 bool "UFS file system write support (DANGEROUS)" 36 Say Y here if you want to try writing to UFS partitions. This is 37 experimental, so you should back up your UFS partitions beforehand. 40 bool "UFS debugging" [all …]
|
| /linux/drivers/ufs/ |
| H A D | Kconfig | 3 # UFS subsystem configuration 14 Enables support for UFS (Universal Flash Storage) host controllers. 15 A UFS host controller is an electronic component that is able to 16 communicate with a UFS card. UFS host controllers occur in 21 <file:Documentation/scsi/ufs.rst>. 23 (the one containing the directory /) is located on a UFS device. 27 source "drivers/ufs/core/Kconfig" 29 source "drivers/ufs/host/Kconfig"
|
| /linux/Documentation/devicetree/bindings/phy/ |
| H A D | mediatek,ufs-phy.yaml | 5 $id: http://devicetree.org/schemas/phy/mediatek,ufs-phy.yaml# 8 title: MediaTek Universal Flash Storage (UFS) M-PHY 16 UFS M-PHY nodes are defined to describe on-chip UFS M-PHY hardware macro. 17 Each UFS M-PHY node should have its own node. 18 To bind UFS M-PHY with UFS host controller, the controller node should 19 contain a phandle reference to UFS M-PHY node. 23 pattern: "^ufs-phy@[0-9a-f]+$" 61 ufsphy: ufs-phy@11fa0000 {
|
| /linux/Documentation/admin-guide/ |
| H A D | ufs.rst | 2 Using UFS 5 mount -t ufs -o ufstype=type_of_ufs device dir 8 UFS Options 12 UFS is a file system widely used in different operating systems. 15 type of ufs automatically. That's why user must specify type of 16 ufs manually by mount option ufstype. Possible values are: 19 old format of ufs 67 Any ufs bug report you can send to daniel.pirkl@email.cz or
|
| /linux/drivers/phy/samsung/ |
| H A D | phy-samsung-ufs.c | 3 * UFS PHY driver for Samsung SoC 22 #include "phy-samsung-ufs.h" 183 dev_err(ss_phy->dev, "failed to enable ufs phy clocks\n"); in samsung_ufs_phy_power_on() 190 dev_err(ss_phy->dev, "ufs phy calibration failed\n"); in samsung_ufs_phy_power_on() 321 dev_err(dev, "failed to create PHY for ufs-phy\n"); in samsung_ufs_phy_probe() 358 .compatible = "google,gs101-ufs-phy", 361 .compatible = "samsung,exynos7-ufs-phy", 364 .compatible = "samsung,exynosautov9-ufs-phy", 367 .compatible = "samsung,exynosautov920-ufs-phy", 370 .compatible = "tesla,fsd-ufs-phy", [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | qcom,gcc-apq8084.yaml | 32 - description: UFS RX symbol 0 clock 33 - description: UFS RX symbol 1 clock 34 - description: UFS TX symbol 0 clock 35 - description: UFS TX symbol 1 clock 60 /* UFS PHY on APQ8084 is not supported (yet), so these bindings just serve an example */
|