lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211217170507.2843568-6-thierry.reding@gmail.com>
Date:   Fri, 17 Dec 2021 18:05:07 +0100
From:   Thierry Reding <thierry.reding@...il.com>
To:     Lee Jones <lee.jones@...aro.org>, Rob Herring <robh+dt@...nel.org>
Cc:     devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 6/6] dt-bindings: regulator: tps65090: Convert to json-schema

From: Thierry Reding <treding@...dia.com>

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

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

diff --git a/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml b/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml
new file mode 100644
index 000000000000..9743746475a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml
@@ -0,0 +1,199 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/ti,tps65090.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TPS65090 voltage regulator
+
+maintainers:
+  - Mark Brown <broonie@...nel.org>
+
+properties:
+  compatible:
+    const: ti,tps65090
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  vsys1-supply:
+    description: input supply for DCDC1
+
+  vsys2-supply:
+    description: input supply for DCDC2
+
+  vsys3-supply:
+    description: input supply for DCDC3
+
+  infet1-supply:
+    description: input supply for FET1
+
+  infet2-supply:
+    description: input supply for FET2
+
+  infet3-supply:
+    description: input supply for FET3
+
+  infet4-supply:
+    description: input supply for FET4
+
+  infet5-supply:
+    description: input supply for FET5
+
+  infet6-supply:
+    description: input supply for FET6
+
+  infet7-supply:
+    description: input supply for FET7
+
+  vsys-l1-supply:
+    description: input supply for LDO1
+
+  vsys-l2-supply:
+    description: input supply for LDO2
+
+  charger:
+    $ref: ../power/supply/tps65090-charger.yaml
+
+  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, with valid values listed below. The content of each
+      sub-node is defined by the standard binding for regulators; see regulator.txt.
+
+    patternProperties:
+      "^dcdc[1-3]|fet[1-7]|ldo[1-2]$":
+        $ref: regulator.yaml
+        properties:
+          ti,enable-ext-control:
+            $ref: /schemas/types.yaml#/definitions/flag
+            description: This is applicable for DCDC1, DCDC2 and DCDC3. If DCDCs are externally
+              controlled then this property should be there.
+
+          dcdc-ext-control-gpios:
+            $ref: /schemas/types.yaml#/definitions/phandle-array
+            description: This is applicable for DCDC1, DCDC2 and DCDC3. If DCDCs are externally
+              controlled and if it is from GPIO then GPIO number should be provided. If it is
+              externally controlled and no GPIO entry then driver will just configure this rails
+              as external control and will not provide any enable/disable APIs.
+
+          ti,overcurrent-wait:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: This is applicable to FET registers, which have a poorly defined
+              "overcurrent wait" field.  If this property is present it should be between 0 - 3.
+              If this property isn't present we won't touch the "overcurrent wait" field and we'll
+              leave it to the BIOS/EC to deal with.
+            enum: [ 0, 1, 2, 3 ]
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - regulators
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      pmic@48 {
+        compatible = "ti,tps65090";
+        reg = <0x48>;
+        interrupts = <0 88 0x4>;
+
+        vsys1-supply = <&some_reg>;
+        vsys2-supply = <&some_reg>;
+        vsys3-supply = <&some_reg>;
+        infet1-supply = <&some_reg>;
+        infet2-supply = <&some_reg>;
+        infet3-supply = <&some_reg>;
+        infet4-supply = <&some_reg>;
+        infet5-supply = <&some_reg>;
+        infet6-supply = <&some_reg>;
+        infet7-supply = <&some_reg>;
+        vsys-l1-supply = <&some_reg>;
+        vsys-l2-supply = <&some_reg>;
+
+        regulators {
+          dcdc1 {
+            regulator-name = "dcdc1";
+            regulator-boot-on;
+            regulator-always-on;
+            ti,enable-ext-control;
+            dcdc-ext-control-gpios = <&gpio 10 0>;
+          };
+
+          dcdc2 {
+            regulator-name = "dcdc2";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          dcdc3 {
+            regulator-name = "dcdc3";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet1 {
+            regulator-name = "fet1";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet2 {
+            regulator-name = "fet2";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet3 {
+            regulator-name = "fet3";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet4 {
+            regulator-name = "fet4";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet5 {
+            regulator-name = "fet5";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet6 {
+            regulator-name = "fet6";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          fet7 {
+            regulator-name = "fet7";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          ldo1 {
+            regulator-name = "ldo1";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+
+          ldo2 {
+            regulator-name = "ldo2";
+            regulator-boot-on;
+            regulator-always-on;
+          };
+        };
+      };
+    };
diff --git a/Documentation/devicetree/bindings/regulator/tps65090.txt b/Documentation/devicetree/bindings/regulator/tps65090.txt
deleted file mode 100644
index ae326f263597..000000000000
--- a/Documentation/devicetree/bindings/regulator/tps65090.txt
+++ /dev/null
@@ -1,126 +0,0 @@
-TPS65090 regulators
-
-Required properties:
-- compatible: "ti,tps65090"
-- reg: I2C slave address
-- interrupts: the interrupt outputs of the 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, with valid
-  values listed below. The content of each sub-node is defined by the
-  standard binding for regulators; see regulator.txt.
-  dcdc[1-3], fet[1-7] and ldo[1-2] respectively.
-- vsys[1-3]-supply: The input supply for DCDC[1-3] respectively.
-- infet[1-7]-supply: The input supply for FET[1-7] respectively.
-- vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively.
-
-Optional properties:
-- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
-  If DCDCs are externally controlled then this property should be there.
-- dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.
-  If DCDCs are externally controlled and if it is from GPIO then GPIO
-  number should be provided. If it is externally controlled and no GPIO
-  entry then driver will just configure this rails as external control
-  and will not provide any enable/disable APIs.
-- ti,overcurrent-wait: This is applicable to FET registers, which have a
-  poorly defined "overcurrent wait" field.  If this property is present it
-  should be between 0 - 3.  If this property isn't present we won't touch the
-  "overcurrent wait" field and we'll leave it to the BIOS/EC to deal with.
-
-Each regulator is defined using the standard binding for regulators.
-
-Example:
-
-	tps65090@48 {
-		compatible = "ti,tps65090";
-		reg = <0x48>;
-		interrupts = <0 88 0x4>;
-
-		vsys1-supply = <&some_reg>;
-		vsys2-supply = <&some_reg>;
-		vsys3-supply = <&some_reg>;
-		infet1-supply = <&some_reg>;
-		infet2-supply = <&some_reg>;
-		infet3-supply = <&some_reg>;
-		infet4-supply = <&some_reg>;
-		infet5-supply = <&some_reg>;
-		infet6-supply = <&some_reg>;
-		infet7-supply = <&some_reg>;
-		vsys-l1-supply = <&some_reg>;
-		vsys-l2-supply = <&some_reg>;
-
-		regulators {
-			dcdc1 {
-				regulator-name = "dcdc1";
-				regulator-boot-on;
-				regulator-always-on;
-				ti,enable-ext-control;
-				dcdc-ext-control-gpios = <&gpio 10 0>;
-			};
-
-			dcdc2 {
-				regulator-name = "dcdc2";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			dcdc3 {
-				regulator-name = "dcdc3";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet1 {
-				regulator-name = "fet1";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet2 {
-				regulator-name = "fet2";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet3 {
-				regulator-name = "fet3";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet4 {
-				regulator-name = "fet4";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet5 {
-				regulator-name = "fet5";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet6 {
-				regulator-name = "fet6";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			fet7 {
-				regulator-name = "fet7";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			ldo1 {
-				regulator-name = "ldo1";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-
-			ldo2 {
-				regulator-name = "ldo2";
-				regulator-boot-on;
-				regulator-always-on;
-			};
-		};
-	};
-- 
2.34.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ