diff --git a/Documentation/devicetree/bindings/mfd/ti,tps65910.yaml b/Documentation/devicetree/bindings/mfd/ti,tps65910.yaml index f1a76f88fc0c..209dc97909bf 100644 --- a/Documentation/devicetree/bindings/mfd/ti,tps65910.yaml +++ b/Documentation/devicetree/bindings/mfd/ti,tps65910.yaml @@ -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: | diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77620-regulator.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77620-regulator.yaml index 0f2901cab8af..a2778c35919b 100644 --- a/Documentation/devicetree/bindings/regulator/maxim,max77620-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/maxim,max77620-regulator.yaml @@ -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: 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/nvidia,tegra-regulators-coupling.yaml b/Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.yaml new file mode 100644 index 000000000000..f5637a577213 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/nvidia,tegra-regulators-coupling.yaml @@ -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 + - Thierry Reding + +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 diff --git a/Documentation/devicetree/bindings/regulator/ti,tps62360.yaml b/Documentation/devicetree/bindings/regulator/ti,tps62360.yaml index 90c39275c150..6768fc6ea0d3 100644 --- a/Documentation/devicetree/bindings/regulator/ti,tps62360.yaml +++ b/Documentation/devicetree/bindings/regulator/ti,tps62360.yaml @@ -20,6 +20,7 @@ description: | allOf: - $ref: regulator.yaml# + - $ref: /schemas/regulator/nvidia,tegra-regulators-coupling.yaml# properties: compatible: