[PATCH 1/2] dt-bindings: leds: Document rohm,bd65b60 bindings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

This is my first patch to the kernel, so I expect to have made
some mistakes. I did my best to follow the documentation and
submitting patches guidelines, but if I missed something, please
let me know.

I wasn't sure if I had to add myself to the MAINTAINERS file for such a
small patch, so I didn't.

Patch begins here:

Added devicetree bindings documentation for the rohm,bd65b60
led driver.

Signed-off-by: Bogdan Ionescu <bogdan.ionescu.work@xxxxxxxxx>
---
 .../bindings/leds/rohm,bd65b60-leds.yaml      | 77 +++++++++++++++++++
 include/dt-bindings/leds/leds-bd65b60.h       | 20 +++++
 2 files changed, 97 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/rohm,bd65b60-leds.yaml
 create mode 100644 include/dt-bindings/leds/leds-bd65b60.h

diff --git a/Documentation/devicetree/bindings/leds/rohm,bd65b60-leds.yaml b/Documentation/devicetree/bindings/leds/rohm,bd65b60-leds.yaml
new file mode 100644
index 000000000000..f69d7acd39c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/rohm,bd65b60-leds.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/rohm,bd65b60-leds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ROHM BD65B60 device tree bindings
+
+maintainers:
+  - Bogdan Ionescu <bogdan.ionescu.work+kernel@xxxxxxxxx>
+
+description: |
+  BD65B60 is a white LED driver IC that integrates PWM
+  step-up DC/DC converter with boost-capability of up to
+  maximum 28.5V and current driver with drive capability of up
+  to 25mA(Typ.) maximum setting. Precise brightness can be
+  controlled at wide ranges through the external PWM pulse
+  input.
+
+properties:
+  compatible:
+    const: rohm,bd65b60
+
+  reg:
+    maxItems: 1
+
+  led:
+    type: object
+    $ref: common.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      rohm,enable-outputs:
+        description:
+          Select which leds are being controlled.
+          Values defined in <dt-bindings/leds/leds-bd65b60.h>
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        enum: [ 0, 1, 4, 5 ]
+
+      rohm,ovp:
+        description:
+          Select Over-Voltage-Portection level.
+          Values defined in <dt-bindings/leds/leds-bd65b60.h>
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        enum: [ 0, 8, 16 ]
+        default: 16
+
+    required:
+      - rohm,enable-outputs
+
+required:
+  - compatible
+  - reg
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/leds/common.h>
+    #include <dt-bindings/leds/leds-bd65b60.h>
+
+    i2c {
+
+        led_controler@64 {
+            compatible = "rohm,bd65b60";
+            reg = <0x64>;
+
+            backlight_led: led {
+                function = LED_FUNCTION_BACKLIGHT;
+                color = <LED_COLOR_ID_WHITE>;
+                rohm,enable-outputs = <BD65B60_ENABLE_LED1>;
+                default-state = "keep";
+                linux,default-trigger = "backlight";
+            };
+        };
+    };
+
+...
diff --git a/include/dt-bindings/leds/leds-bd65b60.h b/include/dt-bindings/leds/leds-bd65b60.h
new file mode 100644
index 000000000000..8634faae58f4
--- /dev/null
+++ b/include/dt-bindings/leds/leds-bd65b60.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * This header provides macros for the ROHM BD65B60 device tree bindings.
+ *
+ * Copyright (C) 2023 Bogdan Ionescu <bogdan.ionescu.work+kernel@xxxxxxxxx>
+ */
+
+#ifndef _DT_BINDINGS_LEDS_BD65B60_H
+#define _DT_BINDINGS_LEDS_BD65B60_H
+
+#define BD65B60_ENABLE_NONE 0
+#define BD65B60_ENABLE_LED1 1
+#define BD65B60_ENABLE_LED2 4
+#define BD65B60_ENABLE_BOTH (BD65B60_ENABLE_LED1 | BD65B60_ENABLE_LED2)
+
+#define BD65B60_OVP_25V 0
+#define BD65B60_OVP_30V 0x08
+#define BD65B60_OVP_35V 0x10
+
+#endif /* _DT_BINDINGS_LEDS_BD65B60_H */
-- 
2.39.2




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux