diff mbox series

dt-bindings: leds: pca963x: Convert text bindings to YAML

Message ID 20240305004501.849-1-laurent.pinchart@ideasonboard.com
State New
Headers show
Series dt-bindings: leds: pca963x: Convert text bindings to YAML | expand

Commit Message

Laurent Pinchart March 5, 2024, 12:45 a.m. UTC
Convert the pca963x DT bindings to YAML schema. The existing properties
are kept without modification, but the example is adapted to the latest
common bindings for LEDs.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
If someone wants to volunteer as a maintainer, by all means, please
replace me :-)
---
 .../devicetree/bindings/leds/nxp,pca963x.yaml | 140 ++++++++++++++++++
 .../devicetree/bindings/leds/pca963x.txt      |  52 -------
 2 files changed, 140 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
 delete mode 100644 Documentation/devicetree/bindings/leds/pca963x.txt

Comments

Lee Jones March 21, 2024, 2:59 p.m. UTC | #1
On Tue, 05 Mar 2024 02:45:01 +0200, Laurent Pinchart wrote:
> Convert the pca963x DT bindings to YAML schema. The existing properties
> are kept without modification, but the example is adapted to the latest
> common bindings for LEDs.
> 
> 

Applied, thanks!

[1/1] dt-bindings: leds: pca963x: Convert text bindings to YAML
      commit: 779027a0a7392610cbfd3210836d6b0e6ddef434

--
Lee Jones [李琼斯]
Laurent Pinchart March 21, 2024, 6:09 p.m. UTC | #2
Hi Lee,

On Thu, Mar 21, 2024 at 02:59:18PM +0000, Lee Jones wrote:
> On Tue, 05 Mar 2024 02:45:01 +0200, Laurent Pinchart wrote:
> > Convert the pca963x DT bindings to YAML schema. The existing properties
> > are kept without modification, but the example is adapted to the latest
> > common bindings for LEDs.
> 
> Applied, thanks!
> 
> [1/1] dt-bindings: leds: pca963x: Convert text bindings to YAML
>       commit: 779027a0a7392610cbfd3210836d6b0e6ddef434

Thank you. https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git/
doesn't contain that commit, have you just not pushed yet, or am I
looking at the wrong tree ?
Lee Jones March 21, 2024, 6:17 p.m. UTC | #3
On Thu, 21 Mar 2024, Laurent Pinchart wrote:

> Hi Lee,
> 
> On Thu, Mar 21, 2024 at 02:59:18PM +0000, Lee Jones wrote:
> > On Tue, 05 Mar 2024 02:45:01 +0200, Laurent Pinchart wrote:
> > > Convert the pca963x DT bindings to YAML schema. The existing properties
> > > are kept without modification, but the example is adapted to the latest
> > > common bindings for LEDs.
> > 
> > Applied, thanks!
> > 
> > [1/1] dt-bindings: leds: pca963x: Convert text bindings to YAML
> >       commit: 779027a0a7392610cbfd3210836d6b0e6ddef434
> 
> Thank you. https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git/
> doesn't contain that commit, have you just not pushed yet, or am I
> looking at the wrong tree ?

I haven't pushed anything publicly today yet.  Still collecting.

When pushed in a few moments, it'll show up in `for-leds-next-next`.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml b/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
new file mode 100644
index 000000000000..938d0e48fe51
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
@@ -0,0 +1,140 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/nxp,pca963x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP PCA963x LED controllers
+
+maintainers:
+  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+
+description: |
+  The NXP PCA963x are I2C-controlled LED drivers optimized for
+  Red/Green/Blue/Amber (RGBA) color mixing applications. Each LED is
+  individually controllable and has its own PWM controller.
+
+  Datasheets are available at
+
+  - https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf
+  - https://www.nxp.com/docs/en/data-sheet/PCA9633.pdf
+  - https://www.nxp.com/docs/en/data-sheet/PCA9634.pdf
+  - https://www.nxp.com/docs/en/data-sheet/PCA9635.pdf
+
+properties:
+  compatible:
+    enum:
+      - nxp,pca9632
+      - nxp,pca9633
+      - nxp,pca9634
+      - nxp,pca9635
+
+  reg:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+  nxp,hw-blink:
+    type: boolean
+    description:
+      Use hardware blinking instead of software blinking
+
+  nxp,inverted-out:
+    type: boolean
+    description:
+      Invert the polarity of the generated PWM.
+
+  nxp,period-scale:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      In some configurations, the chip blinks faster than expected. This
+      parameter provides a scaling ratio (fixed point, decimal divided by 1000)
+      to compensate, e.g. 1300=1.3x and 750=0.75x.
+
+  nxp,totem-pole:
+    type: boolean
+    description:
+      Use totem pole (push-pull) instead of open-drain (pca9632 defaults to
+      open-drain, newer chips to totem pole).
+
+patternProperties:
+  "^led@[0-9a-f]+$":
+    type: object
+    $ref: common.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      reg:
+        minimum: 0
+
+    required:
+      - reg
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nxp,pca9632
+              - nxp,pca9633
+    then:
+      patternProperties:
+        "^led@[0-9a-f]+$":
+          properties:
+            reg:
+              maximum: 3
+    else:
+      patternProperties:
+        "^led@[0-9a-f]+$":
+          properties:
+            reg:
+              maximum: 7
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/leds/common.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        led-controller@62 {
+            compatible = "nxp,pca9632";
+            reg = <0x62>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            led@0 {
+                    reg = <0>;
+                    color = <LED_COLOR_ID_RED>;
+                    function = LED_FUNCTION_STATUS;
+            };
+
+            led@1 {
+                    reg = <1>;
+                    color = <LED_COLOR_ID_GREEN>;
+                    function = LED_FUNCTION_STATUS;
+            };
+
+            led@2 {
+                    reg = <2>;
+                    color = <LED_COLOR_ID_BLUE>;
+                    function = LED_FUNCTION_STATUS;
+            };
+
+            led@3 {
+                    reg = <3>;
+                    color = <LED_COLOR_ID_WHITE>;
+                    function = LED_FUNCTION_STATUS;
+            };
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/leds/pca963x.txt b/Documentation/devicetree/bindings/leds/pca963x.txt
deleted file mode 100644
index 4eee41482041..000000000000
--- a/Documentation/devicetree/bindings/leds/pca963x.txt
+++ /dev/null
@@ -1,52 +0,0 @@ 
-LEDs connected to pca9632, pca9633 or pca9634
-
-Required properties:
-- compatible : should be : "nxp,pca9632", "nxp,pca9633", "nxp,pca9634" or "nxp,pca9635"
-
-Optional properties:
-- nxp,totem-pole : use totem pole (push-pull) instead of open-drain (pca9632 defaults
-  to open-drain, newer chips to totem pole)
-- nxp,hw-blink : use hardware blinking instead of software blinking
-- nxp,period-scale : In some configurations, the chip blinks faster than expected.
-		     This parameter provides a scaling ratio (fixed point, decimal divided
-		     by 1000) to compensate, e.g. 1300=1.3x and 750=0.75x.
-- nxp,inverted-out: invert the polarity of the generated PWM
-
-Each led is represented as a sub-node of the nxp,pca963x device.
-
-LED sub-node properties:
-- label : (optional) see Documentation/devicetree/bindings/leds/common.txt
-- reg : number of LED line (could be from 0 to 3 in pca9632 or pca9633,
-		0 to 7 in pca9634, or 0 to 15 in pca9635)
-- linux,default-trigger : (optional)
-   see Documentation/devicetree/bindings/leds/common.txt
-
-Examples:
-
-pca9632: pca9632 {
-	compatible = "nxp,pca9632";
-	#address-cells = <1>;
-	#size-cells = <0>;
-	reg = <0x62>;
-
-	red@0 {
-		label = "red";
-		reg = <0>;
-		linux,default-trigger = "none";
-	};
-	green@1 {
-		label = "green";
-		reg = <1>;
-		linux,default-trigger = "none";
-	};
-	blue@2 {
-		label = "blue";
-		reg = <2>;
-		linux,default-trigger = "none";
-	};
-	unused@3 {
-		label = "unused";
-		reg = <3>;
-		linux,default-trigger = "none";
-	};
-};