[PATCH] regulator: dt-bindings: ti,tps6586x: Convert to DT schema
From: Bhargav Joshi
Date: Fri Aug 21 2026 - 15:11:19 EST
Convert Texas Instruments tps6586x regulator binding from text to DT
schema. Add child regulator node properties nvidia,tegra-cpu-regulator,
nvidia,tegra-core-regulator, and nvidia,tegra-rtc-regulator that were
missing in text binding but used in existing DTS.
Signed-off-by: Bhargav Joshi <j.bhargav.u@xxxxxxxxx>
---
.../devicetree/bindings/regulator/ti,tps6586x.yaml | 224 +++++++++++++++++++++
.../devicetree/bindings/regulator/tps6586x.txt | 135 -------------
2 files changed, 224 insertions(+), 135 deletions(-)
diff --git a/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
new file mode 100644
index 000000000000..82c3a3c81120
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
@@ -0,0 +1,224 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,tps6586x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI TPS6586x family of regulators
+
+maintainers:
+ - Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx>
+
+properties:
+ compatible:
+ const: ti,tps6586x
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ "#gpio-cells":
+ const: 2
+
+ gpio-controller: true
+
+ sys-supply:
+ description: The input supply for SYS.
+
+ ti,system-power-controller:
+ type: boolean
+ description:
+ Whether or not this PMIC is controlling the system power.
+
+ regulators:
+ type: object
+ additionalProperties: false
+ description:
+ list of regulators provided by this controller, LDO5 and LDO_RTC is
+ supplied by SYS regulator internally and driver take care of making
+ proper parent child relationship.
+
+ properties:
+ sys:
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ patternProperties:
+ "^ldo([0-9]|_rtc)$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ nvidia,tegra-cpu-regulator:
+ type: boolean
+ description:
+ designates regulator as the "CPU domain" voltage regulator.
+
+ nvidia,tegra-core-regulator:
+ type: boolean
+ description:
+ designates regulator as the "Core domain" voltage regulator.
+
+ nvidia,tegra-rtc-regulator:
+ type: boolean
+ description:
+ designates regulator as the "RTC domain" voltage regulator.
+
+ "^sm[0-2]$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ nvidia,tegra-cpu-regulator:
+ type: boolean
+ description:
+ designates regulator as the "CPU domain" voltage regulator.
+
+ nvidia,tegra-core-regulator:
+ type: boolean
+ description:
+ designates regulator as the "Core domain" voltage regulator.
+
+ nvidia,tegra-rtc-regulator:
+ type: boolean
+ description:
+ designates regulator as the "RTC domain" voltage regulator.
+
+patternProperties:
+ "^vin-sm[0-2]-supply$":
+ description: The input supply for the corresponding SM (SM0, SM1, or SM2).
+
+ "^vinldo(01|23|4|678|9)-supply$":
+ description: The input supply for the corresponding LDO or group of LDOs.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - regulators
+ - "#gpio-cells"
+ - gpio-controller
+ - sys-supply
+ - vin-sm0-supply
+ - vin-sm1-supply
+ - vin-sm2-supply
+ - vinldo01-supply
+ - vinldo23-supply
+ - vinldo4-supply
+ - vinldo678-supply
+ - vinldo9-supply
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmic@34 {
+ compatible = "ti,tps6586x";
+ reg = <0x34>;
+ interrupts = <0 88 0x4>;
+
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ ti,system-power-controller;
+
+ sys-supply = <&vdd_5v0_sys>;
+ vin-sm0-supply = <&sys_reg>;
+ vin-sm1-supply = <&sys_reg>;
+ vin-sm2-supply = <&sys_reg>;
+ vinldo01-supply = <&sm2_reg>;
+ vinldo23-supply = <&sm2_reg>;
+ vinldo4-supply = <&sm2_reg>;
+ vinldo678-supply = <&sm2_reg>;
+ vinldo9-supply = <&sm2_reg>;
+
+ regulators {
+ sys {
+ regulator-name = "vdd_sys";
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ sm0 {
+ regulator-min-microvolt = < 725000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ sm1 {
+ regulator-min-microvolt = < 725000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ sm2 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <4550000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo0 {
+ regulator-name = "PCIE CLK";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo1 {
+ regulator-min-microvolt = < 725000>;
+ regulator-max-microvolt = <1500000>;
+ };
+
+ ldo2 {
+ regulator-min-microvolt = < 725000>;
+ regulator-max-microvolt = <1500000>;
+ };
+
+ ldo3 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo4 {
+ regulator-min-microvolt = <1700000>;
+ regulator-max-microvolt = <2475000>;
+ };
+
+ ldo5 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo6 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo7 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo8 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ ldo9 {
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt
deleted file mode 100644
index 8b40cac24d93..000000000000
--- a/Documentation/devicetree/bindings/regulator/tps6586x.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-TPS6586x family of regulators
-
-Required properties:
-- compatible: "ti,tps6586x"
-- reg: I2C slave address
-- interrupts: the interrupt outputs of the controller
-- #gpio-cells: number of cells to describe a GPIO
-- gpio-controller: mark the device as a GPIO controller
-- regulators: A node that houses a sub-node for each regulator within the
- device. Each sub-node is identified using the node's name (or the deprecated
- regulator-compatible property if present), with valid values listed below.
- The content of each sub-node is defined by the standard binding for
- regulators; see regulator.txt.
- sys, sm[0-2], ldo[0-9] and ldo_rtc
-- sys-supply: The input supply for SYS.
-- vin-sm0-supply: The input supply for the SM0.
-- vin-sm1-supply: The input supply for the SM1.
-- vin-sm2-supply: The input supply for the SM2.
-- vinldo01-supply: The input supply for the LDO1 and LDO2
-- vinldo23-supply: The input supply for the LDO2 and LDO3
-- vinldo4-supply: The input supply for the LDO4
-- vinldo678-supply: The input supply for the LDO6, LDO7 and LDO8
-- vinldo9-supply: The input supply for the LDO9
-
-Optional properties:
-- ti,system-power-controller: Telling whether or not this pmic is controlling
- the system power.
-
-Each regulator is defined using the standard binding for regulators.
-
-Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver
- take care of making proper parent child relationship.
-
-Example:
-
- pmu: tps6586x@34 {
- compatible = "ti,tps6586x";
- reg = <0x34>;
- interrupts = <0 88 0x4>;
-
- #gpio-cells = <2>;
- gpio-controller;
-
- ti,system-power-controller;
-
- sys-supply = <&some_reg>;
- vin-sm0-supply = <&some_reg>;
- vin-sm1-supply = <&some_reg>;
- vin-sm2-supply = <&some_reg>;
- vinldo01-supply = <...>;
- vinldo23-supply = <...>;
- vinldo4-supply = <...>;
- vinldo678-supply = <...>;
- vinldo9-supply = <...>;
-
- regulators {
- sys_reg: sys {
- regulator-name = "vdd_sys";
- regulator-boot-on;
- regulator-always-on;
- };
-
- sm0_reg: sm0 {
- regulator-min-microvolt = < 725000>;
- regulator-max-microvolt = <1500000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- sm1_reg: sm1 {
- regulator-min-microvolt = < 725000>;
- regulator-max-microvolt = <1500000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- sm2_reg: sm2 {
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <4550000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo0_reg: ldo0 {
- regulator-name = "PCIE CLK";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo1_reg: ldo1 {
- regulator-min-microvolt = < 725000>;
- regulator-max-microvolt = <1500000>;
- };
-
- ldo2_reg: ldo2 {
- regulator-min-microvolt = < 725000>;
- regulator-max-microvolt = <1500000>;
- };
-
- ldo3_reg: ldo3 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo4_reg: ldo4 {
- regulator-min-microvolt = <1700000>;
- regulator-max-microvolt = <2475000>;
- };
-
- ldo5_reg: ldo5 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo6_reg: ldo6 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo7_reg: ldo7 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo8_reg: ldo8 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ldo9_reg: ldo9 {
- regulator-min-microvolt = <1250000>;
- regulator-max-microvolt = <3300000>;
- };
- };
- };
---
base-commit: 818bebeb63dd6bf5f4e07e145f6cdbace520a34c
change-id: 20260821-ti-tps6586x-b54e7111917c
Best regards,
--
Bhargav