[PATCH] dt-bindings: regulators: Document Tegra regulator coupling in json-schema

From: Thierry Reding
Date: Mon Dec 06 2021 - 11:01:11 EST


From: Thierry Reding <treding@xxxxxxxxxx>

Move the NVIDIA Tegra regulator coupling bindings from the free-form
text format into the existing json-schema file for regulators.

Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
---
.../nvidia,tegra-regulators-coupling.txt | 65 -------------------
.../bindings/regulator/regulator.yaml | 22 +++++++
2 files changed, 22 insertions(+), 65 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.txt

diff --git a/Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.txt b/Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.txt
deleted file mode 100644
index 4bf2dbf7c6cc..000000000000
--- a/Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.txt
+++ /dev/null
@@ -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;
- };
- };
- };
diff --git a/Documentation/devicetree/bindings/regulator/regulator.yaml b/Documentation/devicetree/bindings/regulator/regulator.yaml
index ed560ee8714e..14f269f1e877 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/regulator.yaml
@@ -224,6 +224,28 @@ properties:
description: Maximum difference between current and target voltages
that can be changed safely in a single step.

+ # 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.
+ #
+ # The 3 coupled regulators on Tegra20 are: CORE, RTC and CPU. The CORE and RTC voltages shall be
+ # in a range of 170 mV of each other and they both shall be higher than the CPU voltage by at
+ # least 120 mV.
+ #
+ # The 2 coupled regulators on Tegra30 are: CORE and CPU. The CORE and CPU voltages shall be in
+ # a range of 300 mV of each other and CORE voltage shall be higher than the CPU by N mV, where
+ # N depends on the CPU voltage.
+ nvidia,tegra-core-regulator:
+ $ref: "/schemas/types.yaml#/definitions/flag"
+ description: if present, designates the regulator as the "CORE domain" voltage regulator
+
+ nvidia,tegra-rtc-regulator:
+ $ref: "/schemas/types.yaml#/definitions/flag"
+ description: if present, designates the regulator as the "RTC domain" voltage regulator
+
+ nvidia,tegra-cpu-regulator:
+ $ref: "/schemas/types.yaml#/definitions/flag"
+ description: if present, designates the regulator as the "CPU domain" voltage regulator
+
patternProperties:
".*-supply$":
description: Input supply phandle(s) for this node
--
2.33.1