Commit e5ae4083 authored by Frank Li's avatar Frank Li Committed by Lee Jones
Browse files

dt-bindings: leds: Convert leds-lm3692x to YAML format



Additional changes:

 - Add ref to common.yaml for child node.
 - Add I2C node at example.

Fix below warning:
  arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dtb: /soc@0/bus@30800000/i2c@30a40000/backlight@36:
	failed to match any schema with compatible: ['ti,lm36922']

Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240821222001.591111-1-Frank.Li@nxp.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 4968f672
Loading
Loading
Loading
Loading
+0 −65
Original line number Diff line number Diff line
* Texas Instruments - LM3692x Highly Efficient White LED Driver

The LM3692x is an ultra-compact, highly efficient,
white-LED driver designed for LCD display backlighting.

The main difference between the LM36922 and LM36923 is the number of
LED strings it supports.  The LM36922 supports two strings while the LM36923
supports three strings.

Required properties:
	- compatible:
		"ti,lm36922"
		"ti,lm36923"
	- reg :  I2C slave address
	- #address-cells : 1
	- #size-cells : 0

Optional properties:
	- enable-gpios : gpio pin to enable/disable the device.
	- vled-supply : LED supply
	- ti,ovp-microvolt: Overvoltage protection in
	    micro-volt, can be 17000000, 21000000, 25000000 or
	    29000000. If ti,ovp-microvolt is not specified it
	    defaults to 29000000.

Required child properties:
	- reg : 0 - Will enable all LED sync paths
		1 - Will enable the LED1 sync
		2 - Will enable the LED2 sync
		3 - Will enable the LED3 sync (LM36923 only)

Optional child properties:
	- function : see Documentation/devicetree/bindings/leds/common.txt
	- color : see Documentation/devicetree/bindings/leds/common.txt
	- label : see Documentation/devicetree/bindings/leds/common.txt (deprecated)
	- linux,default-trigger :
	   see Documentation/devicetree/bindings/leds/common.txt
	- led-max-microamp :
	   see Documentation/devicetree/bindings/leds/common.txt

Example:

#include <dt-bindings/leds/common.h>

led-controller@36 {
	compatible = "ti,lm3692x";
	reg = <0x36>;
	#address-cells = <1>;
	#size-cells = <0>;

	enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
	vled-supply = <&vbatt>;
	ti,ovp-microvolt = <29000000>;

	led@0 {
		reg = <0>;
		function = LED_FUNCTION_BACKLIGHT;
		color = <LED_COLOR_ID_WHITE>;
		linux,default-trigger = "backlight";
		led-max-microamp = <20000>;
	};
}

For more product information please see the link below:
https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf
+110 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/ti.lm36922.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments - LM3692x Highly Efficient White LED Driver

maintainers:
  - Dan Murphy <dmurphy@ti.com>

description: |
  The LM3692x is an ultra-compact, highly efficient,
  white-LED driver designed for LCD display backlighting.

  The main difference between the LM36922 and LM36923 is the number of
  LED strings it supports. The LM36922 supports two strings while the LM36923
  supports three strings.

  For more product information please see the link below:
  https://www.ti.com/lit/ds/snvsa29/snvsa29.pdf

properties:
  compatible:
    enum:
      - ti,lm36922
      - ti,lm36923

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  enable-gpios:
    description: gpio pin to enable/disable the device.

  vled-supply:
    description: LED supply

  ti,ovp-microvolt:
    description: Overvoltage protection.
    default: 29000000
    enum: [17000000, 21000000, 25000000, 29000000]

patternProperties:
  '^led@[0-3]$':
    type: object
    $ref: common.yaml
    properties:
      reg:
        enum: [0, 1, 2, 3]
        description: |
          0 - Will enable all LED sync paths
          1 - Will enable the LED1 sync
          2 - Will enable the LED2 sync
          3 - Will enable the LED3 sync (LM36923 only)

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: ti,lm36922
    then:
      properties:
        led@3: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/leds/common.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        led-controller@36 {
            compatible = "ti,lm36922";
            reg = <0x36>;
            #address-cells = <1>;
            #size-cells = <0>;

            enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
            vled-supply = <&vbatt>;
            ti,ovp-microvolt = <29000000>;

            led@0 {
                reg = <0>;
                function = LED_FUNCTION_BACKLIGHT;
                color = <LED_COLOR_ID_WHITE>;
                linux,default-trigger = "backlight";
                led-max-microamp = <20000>;
            };
        };
    };