# Configure Use the following storage configurations and device tree parameters for UFS and SD card functionalities. ## Kernel configuration Qualcomm Linux supports the UFS kernel and SD card kernel configurations in the kernel build. ### UFS kernel configuration The following table lists the default values of the kernel configuration that enables UFS functionality. UFS kernel configuration | Configuration | Enabled (yes/no) | Description | | --- | --- | --- | | `CONFIG_UFS_FAULT_INJECTION` | No | Injects the failure command for debugging. | | `CONFIG_SCSI_UFSHCD` | Yes | Enables the UFS host control driver in the kernel. | | `CONFIG_SCSI_UFSHCD_PLATFORM` | Yes | Supports the UFS controller from the platform bus. | | `CONFIG_SCSI_UFS_QCOM` | Yes | Enables a Qualcomm-specific addition to access the PHY configuration and vendor-specific registers. | | `CONFIG_PHY_QCOM_QMP` | Yes | Supports UFS QMP PHY driver. | | `CONFIG_SCSI_UFS_BSG` | Yes | Enables UFS BSG device node. | | `CONFIG_SCSI_UFS_CRYPTO` | Yes | Supports UFS crypto engine. | ### SD card kernel configuration The following table lists the default values of kernel configuration that enables SD card functionality. SDHC kernel configuration | Configuration | Enabled (yes/no) | Description | | --- | --- | --- | | `CONFIG_MMC` | Yes | Enables MMC driver. | | `CONFIG_MMC_DEBUG` | No | Enables driver debug messages. | | `CONFIG_MMC_SDHCI` | Yes | Detects SDHCI driver. | | `CONFIG_MMC_CQHCI` | Yes | Enables command queue host control interface. | | `CONFIG_MMC_SDHCI_MSM` | Yes | Enables MSM SDHCI driver. | | `CONFIG_MMC_BLOCK` | Yes | Enables MMC block driver. | ## Power management states UFS and SD cards offer multiple power states to optimize power consumption. ### UFS power management states You can modify these states as needed. However, altering the states can cause changes in power consumption. Note For more information on how to run SSH, see the [Use SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-254/how_to.html) section. UFS power management states | State | Description | | --- | --- | | Auto-hibern8 (AH8) | >
>
>



>
>
> cat /sys/devices/platform/soc@0/1d84000.ufs/auto_hibern8
> Copy to clipboard


| | Clock gating | >
>
>



>
>
> cat /sys/devices/platform/soc@0/1d84000.ufs/clkgate_enable
> Copy to clipboard





echo 0 > /sys/devices/platform/soc@0/1d84000.ufs/clkgate_enable
Copy to clipboard | | Clock scaling | >
>
>



>
>
> cat /sys/devices/platform/soc@0/1d84000.ufs/clkscale_enable
> Copy to clipboard





echo 0 > /sys/devices/platform/soc@0/1d84000.ufs/clkscale_enable
Copy to clipboard | | Runtime suspend or resume | | | System suspend or resume | | ### SD card power management states SD card power management states | State | Description | | --- | --- | | Runtime suspend or resume | | | System suspend or resume | | ## Boot loader and UEFI device tree The device tree specifies the UFS host configuration parameters such as number of gears and lanes, rate value, and timeout values. ### UFS The device tree is at `\boot_images\boot\Settings\Soc\Kodiak\Core\Storage\UFS\ufs.dtsi`. For QCS9075, see `\boot_images\boot\Setting\soc\LeMans\Core\Storage\UFS\ufs.dtsi`. The following is an example of the UFS device tree node in UEFI. | Device tree node/key | Subnode | Device tree value | Description | | --- | --- | --- | --- | | `init_speed_params` | `EnableHighSpeed` | 1 | Enables high speed mode | | `init_speed_params` | `NumGears` | 4 | Specifies the maximum gear to be used. | | `init_speed_params` | `NumLanes` | 2 | Number of lanes used in UFS | | `init_speed_params` | `Rate` | 2 | Values are:

| | `perf_speed_params` | `EnableHighSpeed` | 1 | Enables high speed mode while in perf mode | | `perf_speed_params` | `NumGears` | 4 | Specifies the maximum gear to be used in perf mode | | `perf_speed_params` | `NumLanes` | 2 | Number of lanes used in UFS in perf mode | | `perf_speed_params` | `Rate` | 2 | Series in perf mode
- 1 = Rate A
- 2 = Rate B | | `timeout_values` | `fDeviceInitTimeoutUs` | 2500000 | Denotes timeout (µs) during device init | | `timeout_values` | `UTRDPollTimeoutUs` | 30000000 | Denotes timeout (µs) for UTRD | | `BatteryThresholdMv` | – | 3600 | Battery threshold (in milli volts) to move to Gear1 | | `LinkStartupRetryCount` | – | 5 | Retry count for Link startup | | `FUA_Value` | – | 1 | Forced unit access | | `EnableLogging` | – | 0 | Enables DT serial debug logging in loader
- 1 - Enable
- 0 - Disable | | `RefClock` | – | 19200000 | UFS controller reference clock 19.2 MHz | | `MphyInitTable` | – | – | Denotes MphyInit table | | `MphyInitEndTable` | – | – | Denotes MphyInitEnd table | | `MphyLaneInitTable` | – | – | Denotes Mphy 2 Lane Init table | | | | | | | | | | | | | | | | Any change in the `.dtsi` must be compiled into `xbl_config.elf` and the image reflashed on to the device. `MphyInitTable`, `MphyInitEndTable`, and `MphyLaneInitTable` are used for UFS PHY initialization and these values are tuned by Qualcomm. For debugging and tuning any PHY-level issue, these values should be changed with guidance from Qualcomm. The default values are for UFS 3.1-compliant part. For UFS 2.x-compliant part, `NumGears` value should be 3. Other parameters need not be changed for UFS 2.x part. ### SD card The device tree specifies the SD card parameters such as drive strength, maximum speed mode, and HSR settings. The device tree is at `\boot_images\boot\Settings\Soc\Kodiak\Core\Storage\SDCC\sdcc.dtsi`. The following is an example of the SD card device tree node in UEFI. | Device tree node/key | Device tree value | Description | | --- | --- | --- | | `DriveStrength` | 0x1FE4 | `DriveStrength` as recommended, sets SDC CLK, CMD, and data drive strengths to 7, 4, 4, respectively. | | `MaxSpeedMode` | `SDCC_SDR104_MODE` | Defines maximum speed mode. For SD card, the value is `SDCC_SDR104_MODE`. | ## Linux kernel device tree The Linux kernel device tree nodes define properties used for storage. ### UFS The SoC DTSI node specifies register address space, clocks, interrupts, and reset information. The platform DTSI node specifies power supply, voltage, and current levels. The `Ufs_mem_hc` node that describes the on-chip UFS host controller is at `/sources/kernel/kernel_platform/kernel/arch/arm64/boot/dts/qcom/sc7280.dtsi`. For `Ufs_mem_hc` node in QCS9075, see `/sources/kernel/kernel_platform/kernel/arch/arm64/boot/dts/qcom/sa8775p.dtsi`. Note These parameters are only for information purposes. Do not modify them. | Property | Description | | --- | --- | | `Compatible` | For Qualcomm SoCs, must contain strings such as `qcom`, `ufshc`. | | `Interrupts` | Interrupt mapping for UFS host controller IRQ. | | `Reg` | UFS host registers address mapping. | | `Phys` | `phandle` to UFS PHY node. | | `lanes-per-direction` | Specify the number of lanes available per direction. Either 1 or 2. | | `clock-names` | List of clock input name strings. | | `Clocks` | List of `phandle` and clock specifier pairs. | | `freq-table-hz` | Array of <minimum maximum> operating frequencies stored in the same order as the clocks property. | | `reset-gpios` | A `phandle` and GPIO specifier denoting the GPIO that is connected. | | `Resets` | Reset node register. | The `Ufs_mem_phy` node describes on-chip UFS PHY hardware and this node is in `/sources/kernel/kernel_platform/kernel/arch/arm64/boot/dts/qcom/sc7280.dtsi` file. | Property | Description | | --- | --- | | `Compatible` | Specify compatible string such as `qcom`, `qmp-ufs-phy`. | | `#phy-cells` | Set the property to 0. | | `Reg` | Should contain PHY register address space. | | `reg-names` |

  • Indicates various resources passed to driver (through the reg property) by name.


  • The required reg-names is phy_mem.


| | `lanes-per-direction` | Number of lanes available per direction; either 1 or 2. | | `clock-names` | List of clock input name strings. | | `clocks` | List of phandle and clock specifier pairs. | | `vdda-phy-supply` | `phandle` to main PHY supply for analog domain. | | `vdda-pll-supply` | `phandle` to PHY PLL and Power-Gen block power supply. | | `Resets` | Specifies the PHY reset in the UFS controller. | For more information on DTS parameters, see `/kernel_platform/msm-kernel/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml`. ### SD card The SoC DTSI node specifies register address space, clocks, interrupts, and reset information. The platform DTSI node specifies power supply, voltage, and current levels. `sdhc_2: mmc@8804000` node describes the on-chip SD host controller and this node is in the `/sources/kernel/kernel_platform/kernel/arch/arm64/boot/dts/qcom/sc7280.dtsi` file. Note These parameters are only for information purposes. Do not modify them. | Property | Description | | --- | --- | | `Compatible` | Specify compatible strings such as `qcom,sc7280-sdhci`, `qcom,sdhci-msm-v5`. | | `Pinctrl-names` | Defines name of the pin control states. | | `Pinctrl-0 &1` | Points to pin control settings, this is an array defines pin control settings for multiple states. | | `Interrupts` | Interrupt mapping for SDHC IRQ. | | `Interrupt-names` | Lists the names corresponding to each interrupt defined in the `interrupts` property. | | `reg` | SDHC host registers address mapping. | | `iommus` | `Iommus` specifies the IOMMU node and stream ID. | | `clock-names` | List of clock input name strings. | | `clocks` | List of phandle and clock specifier pairs. | | `interconnects` | Define the interconnect paths for the device. | | `interrupt-names` | Lists the names to each interconnect path defined in `interconnects` property. | | `power-domains` | Specifies the power domain used by the SDHC. | | `bus-width` | Specifies the number of data lines used for communication. | | `dma-coherent` | Specifies that the SDHCI and CPU maintain cache coherency. | | `qcom,dll-config` | Platform specific settings for `DLL_CONFIG` reg. | | `resets` | Reset node register. | | `sdhc2_opp_table` | This table defines various operating points supported by the SDHCI. | ## UFS provisioning Creating and defining LUNs on a new UFS card is called Provisioning. A UFS device contains one or more Logical Units. A logical unit is an independent processing entity within the device. Each logical unit has an address within the UFS device called a Logical Unit Number (LUN). The configuration file for provisioning is at `

`bNumberLU` does not include well-known logical units | | `bBootEnable` | Indicates whether the device is enabled for boot:

  • 00h: Boot feature disabled


  • 01h: Bootable feature enabled


| | `bDescrAccessEn` | Indicates whether the Device Descriptor can be read after the partial initialization phase of the boot sequence:

  • 00h: Device Descriptor access disabled


  • 01h: Device Descriptor access enabled


| | `BInitPowerMode` | Defines the Power Mode after device initialization or hardware reset:

  • 00h: UFS-Sleep Mode


  • 01h: Active Mode


| | `bHighPriorityLUN` | Defines the high-priority logical unit | | `bSecureRemovalType` |

  • 00h: Information removed by an erase of the physical memory


  • 01h: Information removed by overwriting the addressed locations with a single character followed by an erase


  • 02h: Information removed by overwriting the addressed locations with a character, its complement, then a random character


  • 03h: Information removed using a vendor-defined mechanism


| | `bConfigDescrLock` |

  • 0h: Configuration Descriptor not locked


  • 1h: Configuration Descriptor locked


| UFS reprovision is possible only if this device parameter, which is part of the provision xml file, is set: `bConfigDescrLock="0"`. To prevent reprovisioning, set `bConfigDescrLock="1"` after the UFS configuration and provisioning is finalized. UFS LUN parameters description | Parameter | Description | | --- | --- | | `LUNum` | Logical Unit Number | | `bLUEnable` | Enables/disables the logical unit:

  • 00h: Disables the logical unit


  • 01h: Enables the logical unit


| | `bBootLunID` | Boot LUN ID:

  • 00h: Not bootable


  • 01h: Boot LU A


  • 02h: Boot LU B


| | `size_in_kb` | Specifies LUN size in KBs | | `bLUWriteProtect` | Logical Unit Write Protect:

  • 00h: LU is not write protected


  • 01h: LU write protected when fPowerOnWPEn = 1


| | `bMemoryType` | Defines logical unit memory type:

  • 00h: Normal memory


  • 01h: System code memory type


  • 02h: Non-Persistent memory type


  • 03h: Enhanced memory type 1


  • 04h: Enhanced memory type 2


  • 05h: Enhanced memory type 3


  • 06h: Enhanced memory type 4


| | `bProvisioningType` | Provisioning type

  • 00h: Thin Provisioning is disabled


  • 02h: Enables thin provisioning with TPRZ = 0


| ## UFS partition layout The default UFS provisioning creates eight LUNs (LUN0 to LUN7). - The Linux data and all Linux file system images are stored in LUN0. - Boot well-known LUN (WLUN) 0xB0 alternates between LUN1 and LUN2 to provide a fail-safe backup for the XBL. - The rest of the boot chain is stored in LUN4. - The LUN6 and LUN7 are unused by default. ![../../_images/ufs-provisioning-layout.png](data:image/png;base64,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) **Default UFS layout** Last Published: Dec 30, 2024 [Previous Topic Features](https://docs.qualcomm.com/bundle/publicresource/80-70017-6/topics/features.md) [Next Topic Customize](https://docs.qualcomm.com/bundle/publicresource/80-70017-6/topics/customize.md) Source: [https://docs.qualcomm.com/doc/80-70017-6/topic/configuration.html](https://docs.qualcomm.com/doc/80-70017-6/topic/configuration.html)