[PATCH v1 1/2] dt-bindings: mfd: Document TI LM3533 MFD
Svyatoslav Ryhel
clamor95 at gmail.com
Wed Feb 12 07:58:41 UTC 2025
Add bindings for the LM3533 - a complete power source for
backlight, keypad, and indicator LEDs in smartphone handsets.
The high-voltage inductive boost converter provides the
power for two series LED strings display backlight and keypad
functions.
Signed-off-by: Svyatoslav Ryhel <clamor95 at gmail.com>
---
.../devicetree/bindings/mfd/ti,lm3533.yaml | 221 ++++++++++++++++++
include/dt-bindings/mfd/lm3533.h | 19 ++
2 files changed, 240 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/ti,lm3533.yaml
create mode 100644 include/dt-bindings/mfd/lm3533.h
diff --git a/Documentation/devicetree/bindings/mfd/ti,lm3533.yaml b/Documentation/devicetree/bindings/mfd/ti,lm3533.yaml
new file mode 100644
index 000000000000..d0307e5894f8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti,lm3533.yaml
@@ -0,0 +1,221 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/ti,lm3533.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI LM3533 Complete Lighting Power Solution
+
+description: |
+ The LM3533 is a complete power source for backlight,
+ keypad, and indicator LEDs in smartphone handsets. The
+ high-voltage inductive boost converter provides the
+ power for two series LED strings display backlight and
+ keypad functions.
+ https://www.ti.com/product/LM3533
+
+maintainers:
+ - Johan Hovold <jhovold at gmail.com>
+
+properties:
+ compatible:
+ const: ti,lm3533
+
+ reg:
+ maxItems: 1
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ enable-gpios:
+ description: GPIO to use to enable/disable the backlight (HWEN pin).
+ maxItems: 1
+
+ ti,boost-ovp:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Boost OVP select (16V, 24V, 32V, 40V)
+ enum: [ 0, 1, 2, 3 ]
+ default: 0
+
+ ti,boost-freq:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Boost frequency select (500KHz or 1MHz)
+ enum: [ 0, 1 ]
+ default: 0
+
+required:
+ - compatible
+ - reg
+ - '#address-cells'
+ - '#size-cells'
+ - enable-gpios
+
+patternProperties:
+ "^backlight@[01]$":
+ type: object
+ description:
+ Properties for a backlight device.
+
+ properties:
+ compatible:
+ const: lm3533-backlight
+
+ reg:
+ description: |
+ The control bank that is used to program the two current sinks. The
+ LM3533 has two control banks (A and B) and are represented as 0 or 1
+ in this property. The two current sinks can be controlled
+ independently with both banks, or bank A can be configured to control
+ both sinks with the led-sources property.
+ minimum: 0
+ maximum: 1
+
+ max-current-microamp:
+ description:
+ Maximum current in µA with a 800 µA step.
+ enum: [ 5000, 5800, 6600, 7400, 8200, 9000, 9800,
+ 10600, 11400, 12200, 13000, 13800, 14600,
+ 15400, 16200, 17000, 17800, 18600, 19400,
+ 20200, 21000, 21800, 22600, 23400, 24200,
+ 25000, 25800, 26600, 27400, 28200, 29000,
+ 29800 ]
+ default: 5000
+
+ default-brightness:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Default brightness level on boot.
+ minimum: 0
+ maximum: 255
+ default: 255
+
+ pwm:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Default pwm level on boot.
+ minimum: 0
+ maximum: 63
+ default: 0
+
+ required:
+ - compatible
+ - reg
+
+ additionalProperties: false
+
+ "^led@[0-3]$":
+ type: object
+ description:
+ Properties for a led device.
+
+ properties:
+ compatible:
+ const: lm3533-leds
+
+ reg:
+ description:
+ 4 led banks
+ minimum: 0
+ maximum: 3
+
+ max-current-microamp:
+ description:
+ Maximum current in µA with a 800 µA step.
+ enum: [ 5000, 5800, 6600, 7400, 8200, 9000, 9800,
+ 10600, 11400, 12200, 13000, 13800, 14600,
+ 15400, 16200, 17000, 17800, 18600, 19400,
+ 20200, 21000, 21800, 22600, 23400, 24200,
+ 25000, 25800, 26600, 27400, 28200, 29000,
+ 29800 ]
+ default: 5000
+
+ default-trigger:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: |
+ This parameter, if present, is a string defining
+ the trigger assigned to the LED. Check linux,default-trigger.
+
+ pwm:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Default pwm level on boot.
+ minimum: 0
+ maximum: 63
+ default: 0
+
+ required:
+ - compatible
+ - reg
+
+ additionalProperties: false
+
+ "^light-sensor@[0]$":
+ type: object
+ description:
+ Properties for an illumination sensor.
+
+ properties:
+ compatible:
+ const: lm3533-als
+
+ reg:
+ const: 0
+
+ resistor-value:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ PWM resistor value a linear step in currents
+ of 10 µA per code based upon 2V/R_ALS.
+ minimum: 1
+ maximum: 127
+ default: 1
+
+ pwm-mode:
+ type: boolean
+ description: Mode in which ALS is running
+
+ required:
+ - compatible
+ - reg
+
+ additionalProperties: false
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/mfd/lm3533.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led-controller at 36 {
+ compatible = "ti,lm3533";
+ reg = <0x36>;
+
+ enable-gpios = <&gpio 110 GPIO_ACTIVE_HIGH>;
+
+ ti,boost-ovp = <LM3533_BOOST_OVP_24V>;
+ ti,boost-freq = <LM3533_BOOST_FREQ_500KHZ>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ backlight at 0 {
+ compatible = "lm3533-backlight";
+ reg = <0>;
+
+ max-current-microamp = <23400>;
+ default-brightness = <113>;
+ pwm = <0x00>;
+ };
+ };
+ };
+...
diff --git a/include/dt-bindings/mfd/lm3533.h b/include/dt-bindings/mfd/lm3533.h
new file mode 100644
index 000000000000..929988190c52
--- /dev/null
+++ b/include/dt-bindings/mfd/lm3533.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * This header provides macros for TI LM3533 device bindings.
+ */
+
+#ifndef _DT_BINDINGS_MFD_LM3533_H
+#define _DT_BINDINGS_MFD_LM3533_H
+
+/* LM3533 boost freq */
+#define LM3533_BOOST_FREQ_500KHZ 0
+#define LM3533_BOOST_FREQ_1000KHZ 1
+
+/* LM3533 boost ovp */
+#define LM3533_BOOST_OVP_16V 0
+#define LM3533_BOOST_OVP_24V 1
+#define LM3533_BOOST_OVP_32V 2
+#define LM3533_BOOST_OVP_40V 3
+
+#endif
--
2.43.0
More information about the dri-devel
mailing list