# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/ufs/ufs-common.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Common properties for Universal Flash Storage (UFS) Host Controllers maintainers: - Alim Akhtar - Avri Altman properties: clocks: true clock-names: true freq-table-hz: items: items: - description: Minimum frequency for given clock in Hz - description: Maximum frequency for given clock in Hz deprecated: true description: | Preferred is operating-points-v2. Array of operating frequencies in Hz stored in the same order as the clocks property. If either this property or operating-points-v2 is not defined or a value in the array is "0" then it is assumed that the frequency is set by the parent clock or a fixed rate clock source. operating-points-v2: description: Preferred over freq-table-hz. If present, each OPP must contain array of frequencies stored in the same order for each clock. If clock frequency in the array is "0" then it is assumed that the frequency is set by the parent clock or a fixed rate clock source. opp-table: type: object interrupts: maxItems: 1 lanes-per-direction: $ref: /schemas/types.yaml#/definitions/uint32 enum: [1, 2] default: 2 description: Number of lanes available per direction. Note that it is assumed that the same number of lanes are used in both directions at once. vdd-hba-supply: description: Phandle to UFS host controller supply regulator node. vcc-supply: description: Phandle to VCC supply regulator node. vccq-supply: description: Phandle to VCCQ supply regulator node. vccq2-supply: description: Phandle to VCCQ2 supply regulator node. vcc-supply-1p8: type: boolean description: For embedded UFS devices, valid VCC range is 1.7-1.95V or 2.7-3.6V. This boolean property when set, specifies to use low voltage range of 1.7-1.95V. Note for external UFS cards this property is invalid and valid VCC range is always 2.7-3.6V. vcc-max-microamp: description: Specifies max. load that can be drawn from VCC supply. vccq-max-microamp: description: Specifies max. load that can be drawn from VCCQ supply. vccq2-max-microamp: description: Specifies max. load that can be drawn from VCCQ2 supply. msi-parent: true limit-hs-gear: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 1 maximum: 6 default: 6 description: Restricts the maximum HS gear used in both TX and RX directions. limit-gear-rate: $ref: /schemas/types.yaml#/definitions/string enum: [rate-a, rate-b] default: rate-b description: Restricts the UFS controller to rate-a or rate-b for both TX and RX directions. tx-precode-enable-g6: $ref: /schemas/types.yaml#/definitions/uint32-matrix minItems: 1 items: - items: - description: Host_Lane0 precode enum: [0, 1] - description: Device_Lane0 precode enum: [0, 1] - items: - description: Host_Lane1 precode enum: [0, 1] - description: Device_Lane1 precode enum: [0, 1] description: Static TX Precode enable values for HS-G6 only. patternProperties: "^txeq-preshoot-g[1-6]$": $ref: /schemas/types.yaml#/definitions/uint32-matrix minItems: 1 items: - items: - description: Host_Lane0 Preshoot value enum: [0, 1, 2, 3, 4, 5, 6, 7] - description: Device_Lane0 Preshoot value enum: [0, 1, 2, 3, 4, 5, 6, 7] - items: - description: Host_Lane1 Preshoot value enum: [0, 1, 2, 3, 4, 5, 6, 7] - description: Device_Lane1 Preshoot value enum: [0, 1, 2, 3, 4, 5, 6, 7] description: | Static TX Equalization PreShoot settings for High Speed Gears. These values are programmed to the corresponding UniPro PA layer attribute PA_TxEQG[1-6]Setting. Each value selects a Pre-Shoot level as defined by the MIPI M-PHY specification (TX_HS_PreShoot_Setting). "^txeq-deemphasis-g[1-6]$": $ref: /schemas/types.yaml#/definitions/uint32-matrix minItems: 1 items: - items: - description: Host_Lane0 DeEmphasis value enum: [0, 1, 2, 3, 4, 5, 6, 7] - description: Device_Lane0 DeEmphasis value enum: [0, 1, 2, 3, 4, 5, 6, 7] - items: - description: Host_Lane1 DeEmphasis value enum: [0, 1, 2, 3, 4, 5, 6, 7] - description: Device_Lane1 DeEmphasis value enum: [0, 1, 2, 3, 4, 5, 6, 7] description: | Static TX Equalization DeEmphasis settings for High Speed Gears. These values are programmed to the corresponding UniPro PA layer attribute PA_TxEQG[1-6]Setting. Each value selects a De-Emphasis level as defined by the MIPI M-PHY specification (TX_HS_DeEmphasis_Setting). dependencies: freq-table-hz: [ clocks ] operating-points-v2: [ clocks, clock-names ] required: - interrupts allOf: - if: required: - freq-table-hz then: properties: operating-points-v2: false - if: required: - operating-points-v2 then: properties: freq-table-hz: false additionalProperties: true