[PATCH v4 1/2] dt-bindings: backlight: Add MPS MP3309C
From: Flavio Suligoi
Date: Tue Oct 10 2023 - 08:16:36 EST
The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
programmable switching frequency to optimize efficiency.
The brightness can be controlled either by I2C commands (called "analog"
mode) or by a PWM input signal (PWM mode).
This driver supports both modes.
For device driver details, please refer to:
- drivers/video/backlight/mp3309c_bl.c
The datasheet is available at:
- https://www.monolithicpower.com/en/mp3309c.html
Signed-off-by: Flavio Suligoi <f.suligoi@xxxxxxx>
---
v4:
- remove not more used allOf keyword
- add brightness-levels and default-brightness properties
- remove max-brightness and default-brightness from required properties
- update example, adding brightness-levels and default-brightness properties
v3:
- add default value for mps,overvoltage-protection-microvolt property
- fix the example, changing from "mps,mp3309c-backlight" to "mps,mp3309c" in
compatible property
v2:
- remove useless properties (dimming-mode, pinctrl-names, pinctrl-0,
switch-on-delay-ms, switch-off-delay-ms, reset-gpios, reset-on-delay-ms,
reset-on-length-ms)
- add common.yaml#
- remove already included properties (default-brightness, max-brightness)
- substitute three boolean properties, used for the overvoltage-protection
values, with a single enum property
- remove some conditional definitions
- remove the 2nd example
v1:
- first version
.../bindings/leds/backlight/mps,mp3309c.yaml | 82 +++++++++++++++++++
1 file changed, 82 insertions(+)
create mode 100644 Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
diff --git a/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
new file mode 100644
index 000000000000..e2f9ae2b3fb4
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
@@ -0,0 +1,82 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/backlight/mps,mp3309c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MPS MP3309C backlight
+
+maintainers:
+ - Flavio Suligoi <f.suligoi@xxxxxxx>
+
+description: |
+ The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
+ programmable switching frequency to optimize efficiency.
+ It supports two different dimming modes:
+
+ - analog mode, via I2C commands, as default mode (32 dimming levels)
+ - PWM controlled mode (optional)
+
+ The datasheet is available at:
+ https://www.monolithicpower.com/en/mp3309c.html
+
+properties:
+ compatible:
+ const: mps,mp3309c
+
+ reg:
+ maxItems: 1
+
+ pwms:
+ description: if present, the backlight is controlled in PWM mode.
+ maxItems: 1
+
+ enable-gpios:
+ description: GPIO used to enable the backlight in "analog-i2c" dimming mode.
+ maxItems: 1
+
+ brightness-levels:
+ description:
+ Array of distinct brightness levels, in PWM dimming mode.
+ Typically these are in the range from 0 to 255, but any range starting
+ at 0 will do.
+ The 0 value means a 0% duty cycle (darkest/off), while the last value in
+ the array represents a 100% duty cycle (brightest).
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+
+ default-brightness:
+ description:
+ The default brightness (index into the levels array).
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ mps,overvoltage-protection-microvolt:
+ description: Overvoltage protection (13.5V, 24V or 35.5V).
+ enum: [ 13500000, 24000000, 35500000 ]
+ default: 35500000
+
+ mps,no-sync-mode:
+ description: disable synchronous rectification mode
+ type: boolean
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Backlight with PWM control */
+ backlight_pwm: backlight@17 {
+ compatible = "mps,mp3309c";
+ reg = <0x17>;
+ pwms = <&pwm1 0 3333333 0>; /* 300 Hz --> (1/f) * 1*10^9 */
+ brightness-levels = <0 1 2 3 4 5 6 7 8 9 10>;
+ default-brightness = <8>;
+ mps,overvoltage-protection-microvolt = <24000000>;
+ };
+ };
--
2.34.1