# 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
    description: |
      Array of <min max> operating frequencies in Hz stored in the same order
      as the clocks property. If this property 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.

  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.

dependencies:
  freq-table-hz: [ 'clocks' ]

required:
  - interrupts

additionalProperties: true
