regulator: dt-bindings: Tegra coupling DT conversions and cleanup

Bhargav Joshi <j.bhargav.u@gmail.com> says:

This series adds a shared DT schema for Tegra regulator coupling,
updates relevant PMICs to use it, and converts the TI TPS6586x
bindings to DT schema.

Link: https://patch.msgid.link/20260930-ti-tps6586x-v5-0-aac0273b5da3@gmail.com
This commit is contained in:
Mark Brown 2026-10-06 17:53:10 +02:00
commit 5cc1621621
5 changed files with 52 additions and 69 deletions

View File

@ -97,7 +97,9 @@ properties:
patternProperties:
"^(vrtc|vio|vpll|vdac|vmmc|vbb|vddctrl)$":
type: object
$ref: /schemas/regulator/regulator.yaml#
allOf:
- $ref: /schemas/regulator/regulator.yaml#
- $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
properties:
ti,regulator-ext-sleep-control:
description: |
@ -110,7 +112,9 @@ properties:
"^(vdd[1-3]|vaux([1-2]|33)|vdig[1-2])$":
type: object
$ref: /schemas/regulator/regulator.yaml#
allOf:
- $ref: /schemas/regulator/regulator.yaml#
- $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
properties:
ti,regulator-ext-sleep-control:
description: |
@ -123,7 +127,9 @@ properties:
"^ldo[1-8]$":
type: object
$ref: /schemas/regulator/regulator.yaml#
allOf:
- $ref: /schemas/regulator/regulator.yaml#
- $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
properties:
ti,regulator-ext-sleep-control:
description: |

View File

@ -22,7 +22,10 @@ patternProperties:
"^(sd[0-4]|ldo[0-8])$":
type: object
$ref: /schemas/regulator/regulator.yaml#
allOf:
- $ref: /schemas/regulator/regulator.yaml#
- $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
unevaluatedProperties: false
properties:

View File

@ -1,65 +0,0 @@
NVIDIA Tegra Regulators Coupling
================================
NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators.
Thus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30
there are 2.
Tegra20 voltage coupling
------------------------
On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU.
The CORE and RTC voltages shall be in a range of 170mV from each other
and they both shall be higher than the CPU voltage by at least 120mV.
Tegra30 voltage coupling
------------------------
On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE
and CPU voltages shall be in a range of 300mV from each other and CORE
voltage shall be higher than the CPU by N mV, where N depends on the CPU
voltage.
Required properties:
- nvidia,tegra-core-regulator: Boolean property that designates regulator
as the "Core domain" voltage regulator.
- nvidia,tegra-rtc-regulator: Boolean property that designates regulator
as the "RTC domain" voltage regulator.
- nvidia,tegra-cpu-regulator: Boolean property that designates regulator
as the "CPU domain" voltage regulator.
Example:
pmic {
regulators {
core_vdd_reg: core {
regulator-name = "vdd_core";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1300000>;
regulator-coupled-with = <&rtc_vdd_reg &cpu_vdd_reg>;
regulator-coupled-max-spread = <170000 550000>;
nvidia,tegra-core-regulator;
};
rtc_vdd_reg: rtc {
regulator-name = "vdd_rtc";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1300000>;
regulator-coupled-with = <&core_vdd_reg &cpu_vdd_reg>;
regulator-coupled-max-spread = <170000 550000>;
nvidia,tegra-rtc-regulator;
};
cpu_vdd_reg: cpu {
regulator-name = "vdd_cpu";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1125000>;
regulator-coupled-with = <&core_vdd_reg &rtc_vdd_reg>;
regulator-coupled-max-spread = <550000 550000>;
nvidia,tegra-cpu-regulator;
};
};
};

View File

@ -0,0 +1,38 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Regulators Coupling
description: >
NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. Thus
on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30 there are 2.
On Tegra20 SoC's - there are 3 coupled regulators:CORE, RTC and CPU. The CORE
and RTC voltages shall be in a range of 170mV from each other and they both
shall be higher than the CPU voltage by at least 120mV.
On Tegra30 SoC's - there are 2 coupled regulators:CORE and CPU. The CORE and
CPU voltages shall be in a range of 300mV from each other and CORE voltage
shall be higher than the CPU by N mV, where N depends on the CPU voltage.
maintainers:
- Dmitry Osipenko <digetx@gmail.com>
- Thierry Reding <treding@nvidia.com>
properties:
nvidia,tegra-core-regulator:
description: designates regulator as the "Core domain" voltage regulator.
type: boolean
nvidia,tegra-rtc-regulator:
description: designates regulator as the "RTC domain" voltage regulator.
type: boolean
nvidia,tegra-cpu-regulator:
description: designates regulator as the "CPU domain" voltage regulator.
type: boolean
additionalProperties: true

View File

@ -20,6 +20,7 @@ description: |
allOf:
- $ref: regulator.yaml#
- $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml#
properties:
compatible: