Commit c8a684e2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull LED updates from Pavel Machek:
 "A new driver for bcm63138, is31fl319x updates, fixups for multicolor.

  The clevo-mail driver got disabled, it needs an API fix"

* tag 'leds-5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (23 commits)
  leds: is31fl319x: use simple i2c probe function
  leds: is31fl319x: Fix devm vs. non-devm ordering
  leds: is31fl319x: Make use of dev_err_probe()
  leds: is31fl319x: Make use of device properties
  leds: is31fl319x: Cleanup formatting and dev_dbg calls
  leds: is31fl319x: Add support for is31fl319{0,1,3} chips
  leds: is31fl319x: Move chipset-specific values in chipdef struct
  leds: is31fl319x: Use non-wildcard names for vars, structs and defines
  leds: is31fl319x: Add missing si-en compatibles
  dt-bindings: leds: pwm-multicolor: document max-brigthness
  leds: turris-omnia: convert to use dev_groups
  leds: leds-bcm63138: get rid of LED_OFF
  leds: add help info about BCM63138 module name
  dt-bindings: leds: leds-bcm63138: unify full stops in descriptions
  dt-bindings: leds: lp50xx: fix LED children names
  dt-bindings: leds: class-multicolor: reference class directly in multi-led node
  leds: bcm63138: add support for BCM63138 controller
  dt-bindings: leds: add Broadcom's BCM63138 controller
  leds: clevo-mail: Mark as broken pending interface fix
  leds: pwm-multicolor: Support active-low LEDs
  ...
parents 607ca0f7 38ba0bb2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ patternProperties:
  "^multi-led@[0-9a-b]$":
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    description:
      This node represents one of the RGB LED devices on Turris Omnia.
      No subnodes need to be added for subchannels since this controller only
+95 −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/leds-bcm63138.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom's BCM63138 LEDs controller

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

description: |
  This LEDs controller was first used on BCM63138 and later reused on BCM4908,
  BCM6848, BCM6858, BCM63138, BCM63148, BCM63381 and BCM68360 SoCs.

  It supports up to 32 LEDs that can be connected parallelly or serially. It
  also includes limited support for hardware blinking.

  Binding serially connected LEDs isn't documented yet.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - brcm,bcm4908-leds
              - brcm,bcm6848-leds
              - brcm,bcm6858-leds
              - brcm,bcm63148-leds
              - brcm,bcm63381-leds
              - brcm,bcm68360-leds
          - const: brcm,bcm63138-leds
      - const: brcm,bcm63138-leds

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^led@[a-f0-9]+$":
    type: object

    $ref: common.yaml#

    properties:
      reg:
        maxItems: 1
        description: LED pin number

      active-low:
        type: boolean
        description: Makes LED active low

    required:
      - reg

    unevaluatedProperties: false

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

additionalProperties: false

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

    leds@ff800800 {
        compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
        reg = <0xff800800 0xdc>;

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

        led@0 {
            reg = <0x0>;
            function = LED_FUNCTION_POWER;
            color = <LED_COLOR_ID_GREEN>;
            default-state = "on";
        };

        led@3 {
            reg = <0x3>;
            function = LED_FUNCTION_STATUS;
            color = <LED_COLOR_ID_GREEN>;
            active-low;
        };
    };
+16 −16
Original line number Diff line number Diff line
@@ -19,11 +19,10 @@ description: |
  LED class.  Common LED nodes and properties are inherited from the common.yaml
  within this documentation directory.

patternProperties:
  "^multi-led(@[0-9a-f])?$":
    type: object
    description: Represents the LEDs that are to be grouped.
properties:
  $nodename:
    pattern: "^multi-led(@[0-9a-f])?$"

  color:
    description: |
      For multicolor LED support this property should be defined as either
@@ -31,11 +30,12 @@ patternProperties:
      include/linux/leds/common.h.
    enum: [ 8, 9 ]

    $ref: "common.yaml#"

required:
  - color

allOf:
  - $ref: "common.yaml#"

additionalProperties: true

...
+9 −1
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ patternProperties:
  '^multi-led@[0-9a-f]$':
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        minItems: 1
@@ -65,8 +67,14 @@ patternProperties:
          for the child node.  The LED modules can either be used stand alone
          or grouped into a module bank.

      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

    patternProperties:
      "(^led-[0-9a-f]$|led)":
      "^led@[0-9a-f]+$":
        type: object
        $ref: common.yaml#

+12 −3
Original line number Diff line number Diff line
@@ -19,6 +19,14 @@ properties:

  multi-led:
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    properties:
      max-brightness:
        description:
          Maximum brightness possible for the LED
        $ref: /schemas/types.yaml#/definitions/uint32

    patternProperties:
      "^led-[0-9a-z]+$":
@@ -33,6 +41,10 @@ properties:

          pwm-names: true

          active-low:
            description: For PWMs where the LED is wired to supply rather than ground.
            type: boolean

          color: true

        required:
@@ -42,9 +54,6 @@ properties:
required:
  - compatible

allOf:
  - $ref: leds-class-multicolor.yaml#

additionalProperties: false

examples:
Loading