[PATCH 2/2] dt-bindings: leds: lp855x: Convert to json-schema

Thierry Reding thierry.reding at gmail.com
Fri Dec 17 17:07:15 UTC 2021


From: Thierry Reding <treding at nvidia.com>

Convert the Texas Instruments LP855x backlight device tree bindings from
the free-form text format to json-schema.

Signed-off-by: Thierry Reding <treding at nvidia.com>
---
 .../bindings/leds/backlight/lp855x.txt        |  72 ---------
 .../bindings/leds/backlight/ti,lp8550.yaml    | 151 ++++++++++++++++++
 2 files changed, 151 insertions(+), 72 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/backlight/lp855x.txt
 create mode 100644 Documentation/devicetree/bindings/leds/backlight/ti,lp8550.yaml

diff --git a/Documentation/devicetree/bindings/leds/backlight/lp855x.txt b/Documentation/devicetree/bindings/leds/backlight/lp855x.txt
deleted file mode 100644
index 88f56641fc28..000000000000
--- a/Documentation/devicetree/bindings/leds/backlight/lp855x.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-lp855x bindings
-
-Required properties:
-  - compatible: "ti,lp8550", "ti,lp8551", "ti,lp8552", "ti,lp8553",
-                "ti,lp8555", "ti,lp8556", "ti,lp8557"
-  - reg: I2C slave address (u8)
-  - dev-ctrl: Value of DEVICE CONTROL register (u8). It depends on the device.
-
-Optional properties:
-  - bl-name: Backlight device name (string)
-  - init-brt: Initial value of backlight brightness (u8)
-  - pwm-period: PWM period value. Set only PWM input mode used (u32)
-  - rom-addr: Register address of ROM area to be updated (u8)
-  - rom-val: Register value to be updated (u8)
-  - power-supply: Regulator which controls the 3V rail
-  - enable-supply: Regulator which controls the EN/VDDIO input
-
-Example:
-
-	/* LP8555 */
-	backlight at 2c {
-		compatible = "ti,lp8555";
-		reg = <0x2c>;
-
-		dev-ctrl = /bits/ 8 <0x00>;
-		pwm-period = <10000>;
-
-		/* 4V OV, 4 output LED0 string enabled */
-		rom_14h {
-			rom-addr = /bits/ 8 <0x14>;
-			rom-val = /bits/ 8 <0xcf>;
-		};
-
-		/* Heavy smoothing, 24ms ramp time step */
-		rom_15h {
-			rom-addr = /bits/ 8 <0x15>;
-			rom-val = /bits/ 8 <0xc7>;
-		};
-
-		/* 4 output LED1 string enabled */
-		rom_19h {
-			rom-addr = /bits/ 8 <0x19>;
-			rom-val = /bits/ 8 <0x0f>;
-		};
-	};
-
-	/* LP8556 */
-	backlight at 2c {
-		compatible = "ti,lp8556";
-		reg = <0x2c>;
-
-		bl-name = "lcd-bl";
-		dev-ctrl = /bits/ 8 <0x85>;
-		init-brt = /bits/ 8 <0x10>;
-	};
-
-	/* LP8557 */
-	backlight at 2c {
-		compatible = "ti,lp8557";
-		reg = <0x2c>;
-		enable-supply = <&backlight_vddio>;
-		power-supply = <&backlight_vdd>;
-
-		dev-ctrl = /bits/ 8 <0x41>;
-		init-brt = /bits/ 8 <0x0a>;
-
-		/* 4V OV, 4 output LED string enabled */
-		rom_14h {
-			rom-addr = /bits/ 8 <0x14>;
-			rom-val = /bits/ 8 <0xcf>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/leds/backlight/ti,lp8550.yaml b/Documentation/devicetree/bindings/leds/backlight/ti,lp8550.yaml
new file mode 100644
index 000000000000..412779a5462b
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/backlight/ti,lp8550.yaml
@@ -0,0 +1,151 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/backlight/ti,lp8550.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments LP855x family devicetree bindings
+
+maintainers:
+  - Milo Kim <milo.kim at ti.com>
+  - Rob Herring <robh+dt at kernel.org>
+
+properties:
+  compatible:
+    enum:
+      - ti,lp8550
+      - ti,lp8551
+      - ti,lp8552
+      - ti,lp8553
+      - ti,lp8555
+      - ti,lp8556
+      - ti,lp8557
+
+  reg:
+    maxItems: 1
+
+  dev-ctrl:
+    $ref: /schemas/types.yaml#/definitions/uint8
+    description: Value of DEVICE CONTROL register. It depends on the device.
+
+  bl-name:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: Backlight device name
+
+  init-brt:
+    $ref: /schemas/types.yaml#/definitions/uint8
+    description: Initial value of backlight brightness
+
+  pwm-period:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: PWM period value. Set only PWM input mode used
+
+  pwm-names:
+    maxItems: 1
+
+  pwms:
+    maxItems: 1
+
+  power-supply:
+    description: Regulator which controls the 3V rail
+
+  enable-supply:
+    description: Regulator which controls the EN/VDDIO input
+
+patternProperties:
+  '^rom_[0-9a-f]{2}h$':
+    type: object
+    properties:
+      rom-addr:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        description: Register address of ROM area to be updated
+
+      rom-val:
+        $ref: /schemas/types.yaml#/definitions/uint8
+        description: Register value to be updated
+
+    additionalProperties: false
+
+    required:
+      - rom-addr
+      - rom-val
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - dev-ctrl
+
+examples:
+  # LP8555
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      backlight at 2c {
+        compatible = "ti,lp8555";
+        reg = <0x2c>;
+
+        dev-ctrl = /bits/ 8 <0x00>;
+        pwm-period = <10000>;
+
+        /* 4V OV, 4 output LED0 string enabled */
+        rom_14h {
+          rom-addr = /bits/ 8 <0x14>;
+          rom-val = /bits/ 8 <0xcf>;
+        };
+
+        /* Heavy smoothing, 24ms ramp time step */
+        rom_15h {
+          rom-addr = /bits/ 8 <0x15>;
+          rom-val = /bits/ 8 <0xc7>;
+        };
+
+        /* 4 output LED1 string enabled */
+        rom_19h {
+          rom-addr = /bits/ 8 <0x19>;
+          rom-val = /bits/ 8 <0x0f>;
+        };
+      };
+    };
+
+  # LP8556
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      backlight at 2c {
+        compatible = "ti,lp8556";
+        reg = <0x2c>;
+
+        bl-name = "lcd-bl";
+        dev-ctrl = /bits/ 8 <0x85>;
+        init-brt = /bits/ 8 <0x10>;
+      };
+    };
+
+  # LP8557
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      backlight at 2c {
+        compatible = "ti,lp8557";
+        reg = <0x2c>;
+        enable-supply = <&backlight_vddio>;
+        power-supply = <&backlight_vdd>;
+
+        dev-ctrl = /bits/ 8 <0x41>;
+        init-brt = /bits/ 8 <0x0a>;
+
+        /* 4V OV, 4 output LED string enabled */
+        rom_14h {
+          rom-addr = /bits/ 8 <0x14>;
+          rom-val = /bits/ 8 <0xcf>;
+        };
+      };
+    };
-- 
2.34.1



More information about the dri-devel mailing list