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