diff mbox series

[5/6] dt-bindings: regulator: tps6586x: Convert to json-schema

Message ID 20211217170507.2843568-5-thierry.reding@gmail.com
State New
Headers show
Series None | expand

Commit Message

Thierry Reding Dec. 17, 2021, 5:05 p.m. UTC
From: Thierry Reding <treding@nvidia.com>

Convert the Texas Instruments TPS6586x bindings from the free-form text
format to json-schema.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 .../bindings/regulator/ti,tps6586x.yaml       | 184 ++++++++++++++++++
 .../bindings/regulator/tps6586x.txt           | 135 -------------
 2 files changed, 184 insertions(+), 135 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/tps6586x.txt

Comments

Rob Herring Dec. 21, 2021, 6:59 p.m. UTC | #1
On Fri, Dec 17, 2021 at 06:05:06PM +0100, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Convert the Texas Instruments TPS6586x bindings from the free-form text
> format to json-schema.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  .../bindings/regulator/ti,tps6586x.yaml       | 184 ++++++++++++++++++
>  .../bindings/regulator/tps6586x.txt           | 135 -------------
>  2 files changed, 184 insertions(+), 135 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
>  delete mode 100644 Documentation/devicetree/bindings/regulator/tps6586x.txt
> 
> diff --git a/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
> new file mode 100644
> index 000000000000..c5ea7012c653
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
> @@ -0,0 +1,184 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/ti,tps6586x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TPS6586x family of voltage regulator
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>
> +
> +properties:
> +  compatible:
> +    const: ti,tps6586x
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  sys-supply:
> +    description: input supply for SYS
> +
> +  vin-sm0-supply:
> +    description: input supply for SM0
> +
> +  vin-sm1-supply:
> +    description: input supply for SM1
> +
> +  vin-sm2-supply:
> +    description: input supply for SM2
> +
> +  vinldo01-supply:
> +    description: input supply for LDO0 and LDO1
> +
> +  vinldo23-supply:
> +    description: input supply for LDO2 and LDO3
> +
> +  vinldo4-supply:
> +    description: input supply for LDO4
> +
> +  vinldo678-supply:
> +    description: input supply for LDO6, LDO7 and LDO8
> +
> +  vinldo9-supply:
> +    description: input supply for LDO9
> +
> +  ti,system-power-controller:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: If this property exists, it specifies that this PMIC controls the system power.
> +
> +  regulators:
> +    type: object
> +    description: |
> +      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.yaml.
> +
> +      Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and the operating system
> +        needs to take care of establishing the proper parent child relationships.
> +
> +    patternProperties:
> +      "^sys|sm[0-2]|ldo[0-9]|ldo_rtc$":
> +        $ref: regulator.yaml
> +
> +allOf:
> +  - $ref: /schemas/gpio/gpio.yaml

You need to define #gpio-cells value. Usually we don't reference 
gpio.yaml because of that and it's just 'gpio-controller' in addition.

> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +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 = <&dummy>;
> +        vin-sm0-supply = <&dummy>;
> +        vin-sm1-supply = <&dummy>;
> +        vin-sm2-supply = <&dummy>;
> +        vinldo01-supply = <&dummy>;
> +        vinldo23-supply = <&dummy>;
> +        vinldo4-supply = <&dummy>;
> +        vinldo678-supply = <&dummy>;
> +        vinldo9-supply = <&dummy>;
> +
> +        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>;
> -			};
> -		};
> -	};
> -- 
> 2.34.1
> 
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
new file mode 100644
index 000000000000..c5ea7012c653
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml
@@ -0,0 +1,184 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,tps6586x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TPS6586x family of voltage regulator
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  compatible:
+    const: ti,tps6586x
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  sys-supply:
+    description: input supply for SYS
+
+  vin-sm0-supply:
+    description: input supply for SM0
+
+  vin-sm1-supply:
+    description: input supply for SM1
+
+  vin-sm2-supply:
+    description: input supply for SM2
+
+  vinldo01-supply:
+    description: input supply for LDO0 and LDO1
+
+  vinldo23-supply:
+    description: input supply for LDO2 and LDO3
+
+  vinldo4-supply:
+    description: input supply for LDO4
+
+  vinldo678-supply:
+    description: input supply for LDO6, LDO7 and LDO8
+
+  vinldo9-supply:
+    description: input supply for LDO9
+
+  ti,system-power-controller:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: If this property exists, it specifies that this PMIC controls the system power.
+
+  regulators:
+    type: object
+    description: |
+      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.yaml.
+
+      Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and the operating system
+        needs to take care of establishing the proper parent child relationships.
+
+    patternProperties:
+      "^sys|sm[0-2]|ldo[0-9]|ldo_rtc$":
+        $ref: regulator.yaml
+
+allOf:
+  - $ref: /schemas/gpio/gpio.yaml
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+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 = <&dummy>;
+        vin-sm0-supply = <&dummy>;
+        vin-sm1-supply = <&dummy>;
+        vin-sm2-supply = <&dummy>;
+        vinldo01-supply = <&dummy>;
+        vinldo23-supply = <&dummy>;
+        vinldo4-supply = <&dummy>;
+        vinldo678-supply = <&dummy>;
+        vinldo9-supply = <&dummy>;
+
+        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>;
-			};
-		};
-	};