Commit dbc801b4 authored by Vincent Knecht's avatar Vincent Knecht Committed by Rob Herring
Browse files

dt-bindings: leds: Convert is31fl319x to dtschema



Convert leds-is31fl319x.txt to dtschema.
Set license to the one recommended by DT project
and set myself as maintainer.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarVincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220712100841.1538395-2-vincent.knecht@mailoo.org
parent 3ed4b599
Loading
Loading
Loading
Loading
+113 −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/issi,is31fl319x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ISSI LED controllers bindings for IS31FL319{0,1,3,6,9}

maintainers:
  - Vincent Knecht <vincent.knecht@mailoo.org>

description: |
  The IS31FL319X are LED controllers with I2C interface.
  Previously known as Si-En SN319{0,1,3,6,9}.

  For more product information please see the links below:
    https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
    https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf

properties:
  compatible:
    enum:
      - issi,is31fl3190
      - issi,is31fl3191
      - issi,is31fl3193
      - issi,is31fl3196
      - issi,is31fl3199
      - si-en,sn3199

  reg:
    maxItems: 1

  shutdown-gpios:
    maxItems: 1
    description: GPIO attached to the SDB pin.

  audio-gain-db:
    $ref: /schemas/types.yaml#/definitions/uint32
    default: 0
    description: Audio gain selection for external analog modulation input.
    enum: [0, 3, 6, 9, 12, 15, 18, 21]

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^led@[1-9]$":
    type: object
    $ref: common.yaml#

    properties:
      reg:
        description: Index of the LED.
        minimum: 1
        maximum: 9

      led-max-microamp:
        default: 20000
        enum: [5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000]
        description:
          Note that a driver will take the lowest of all LED limits
          since the chip has a single global setting. The lowest value
          will be chosen due to the PWM specificity, where lower
          brightness is achieved by reducing the duty-cycle of pulses
          and not the current, which will always have its peak value
          equal to led-max-microamp.

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

additionalProperties: false

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

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

        led-controller@65 {
            compatible = "issi,is31fl3196";
            reg = <0x65>;
            #address-cells = <1>;
            #size-cells = <0>;

            shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;

            led@1 {
                reg = <1>;
                label = "red:aux";
                led-max-microamp = <10000>;
            };

            led@5 {
                reg = <5>;
                label = "green:power";
                linux,default-trigger = "default-on";
            };
        };
    };
...
+0 −61
Original line number Diff line number Diff line
LEDs connected to is31fl319x LED controller chip

Required properties:
- compatible : Should be any of
	"issi,is31fl3190"
	"issi,is31fl3191"
	"issi,is31fl3193"
	"issi,is31fl3196"
	"issi,is31fl3199"
	"si-en,sn3199".
- #address-cells: Must be 1.
- #size-cells: Must be 0.
- reg: 0x64, 0x65, 0x66, or 0x67.

Optional properties:
- audio-gain-db : audio gain selection for external analog modulation input.
	Valid values: 0 - 21, step by 3 (rounded down)
	Default: 0
- shutdown-gpios : Specifier of the GPIO connected to SDB pin of the chip.

Each led is represented as a sub-node of the issi,is31fl319x device.
There can be less leds subnodes than the chip can support but not more.

Required led sub-node properties:
- reg : number of LED line
	Valid values: 1 - number of leds supported by the chip variant.

Optional led sub-node properties:
- label : see Documentation/devicetree/bindings/leds/common.txt.
- linux,default-trigger :
	see Documentation/devicetree/bindings/leds/common.txt.
- led-max-microamp : (optional)
	Valid values: 5000 - 40000, step by 5000 (rounded down)
	Default: 20000 (20 mA)
	Note: a driver will take the lowest of all led limits since the
	chip has a single global setting. The lowest value will be chosen
	due to the PWM specificity, where lower brightness is achieved
	by reducing the dury-cycle of pulses and not the current, which
	will always have its peak value equal to led-max-microamp.

Examples:

fancy_leds: leds@65 {
	compatible = "issi,is31fl3196";
	#address-cells = <1>;
	#size-cells = <0>;
	reg = <0x65>;
	shutdown-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;

	red_aux: led@1 {
		label = "red:aux";
		reg = <1>;
		led-max-microamp = <10000>;
	};

	green_power: led@5 {
		label = "green:power";
		reg = <5>;
		linux,default-trigger = "default-on";
	};
};