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

2021-12-21 Thread Rob Herring
On Fri, Dec 17, 2021 at 06:07:15PM +0100, Thierry Reding wrote:
> From: Thierry Reding 
> 
> Convert the Texas Instruments LP855x backlight device tree bindings from
> the free-form text format to json-schema.
> 
> Signed-off-by: Thierry Reding 
> ---
>  .../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..
> --- 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@2c {
> - compatible = "ti,lp8555";
> - reg = <0x2c>;
> -
> - dev-ctrl = /bits/ 8 <0x00>;
> - pwm-period = <1>;
> -
> - /* 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@2c {
> - compatible = "ti,lp8556";
> - reg = <0x2c>;
> -
> - bl-name = "lcd-bl";
> - dev-ctrl = /bits/ 8 <0x85>;
> - init-brt = /bits/ 8 <0x10>;
> - };
> -
> - /* LP8557 */
> - backlight@2c {
> - compatible = "ti,lp8557";
> - reg = <0x2c>;
> - enable-supply = <_vddio>;
> - power-supply = <_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 ..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 
> +  - Rob Herring 

I don't know anything about this h/w.

> +
> +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
> +
> 

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

2021-12-17 Thread Thierry Reding
From: Thierry Reding 

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

Signed-off-by: Thierry Reding 
---
 .../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..
--- 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@2c {
-   compatible = "ti,lp8555";
-   reg = <0x2c>;
-
-   dev-ctrl = /bits/ 8 <0x00>;
-   pwm-period = <1>;
-
-   /* 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@2c {
-   compatible = "ti,lp8556";
-   reg = <0x2c>;
-
-   bl-name = "lcd-bl";
-   dev-ctrl = /bits/ 8 <0x85>;
-   init-brt = /bits/ 8 <0x10>;
-   };
-
-   /* LP8557 */
-   backlight@2c {
-   compatible = "ti,lp8557";
-   reg = <0x2c>;
-   enable-supply = <_vddio>;
-   power-supply = <_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 ..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 
+  - Rob Herring 
+
+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