mirror of
https://github.com/torvalds/linux.git
synced 2026-05-01 21:12:29 -04:00
Except scaling UFS and bus clocks, it's necessary to scale also the voltages of regulators or power domain performance state levels. Adding Operating Performance Points table allows to adjust power domain performance state, depending on the UFS clock speed. OPPv2 deprecates previous property limited to clock scaling: freq-table-hz. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://lore.kernel.org/r/20231012172129.65172-2-manivannan.sadhasivam@linaro.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
112 lines
2.9 KiB
YAML
112 lines
2.9 KiB
YAML
# 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.
|
|
|
|
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
|