| # 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 <alim.akhtar@samsung.com> |
| - Avri Altman <avri.altman@wdc.com> |
| |
| 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 <min max> 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 assume same |
| number of lanes is used 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 |
| |
| 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 |