Commit 29bd2d21 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull LED fixes from Pavel Machek:
 "This pull is due to 'leds: trigger: fix potential deadlock with
  libata' -- people find the warn annoying.

  It also contains new driver and two trivial fixes"

* 'for-rc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
  leds: rt8515: Add Richtek RT8515 LED driver
  dt-bindings: leds: Add DT binding for Richtek RT8515
  leds: trigger: fix potential deadlock with libata
  leds: leds-ariel: convert comma to semicolon
  leds: leds-lm3533: convert comma to semicolon
parents c178fae3 e1c6edcb
Loading
Loading
Loading
Loading
+111 −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/richtek,rt8515.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT8515 1.5A dual channel LED driver

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

description: |
  The Richtek RT8515 is a dual channel (two mode) LED driver that
  supports driving a white LED in flash or torch mode. The maximum
  current for each mode is defined in hardware using two resistors
  RFS and RTS.

properties:
  compatible:
    const: richtek,rt8515

  enf-gpios:
    maxItems: 1
    description: A connection to the 'ENF' (enable flash) pin.

  ent-gpios:
    maxItems: 1
    description: A connection to the 'ENT' (enable torch) pin.

  richtek,rfs-ohms:
    minimum: 7680
    maximum: 367000
    description: The resistance value of the RFS resistor. This
      resistors limits the maximum flash current. This must be set
      for the property flash-max-microamp to work, the RFS resistor
      defines the range of the dimmer setting (brightness) of the
      flash LED.

  richtek,rts-ohms:
    minimum: 7680
    maximum: 367000
    description: The resistance value of the RTS resistor. This
      resistors limits the maximum torch current. This must be set
      for the property torch-max-microamp to work, the RTS resistor
      defines the range of the dimmer setting (brightness) of the
      torch LED.

  led:
    type: object
    $ref: common.yaml#
    properties:
      function: true
      color: true
      flash-max-timeout-us: true

      flash-max-microamp:
        maximum: 700000
        description: The maximum current for flash mode
          is hardwired to the component using the RFS resistor to
          ground. The maximum hardware current setting is calculated
          according to the formula Imax = 5500 / RFS. The lowest
          allowed resistance value is 7.86 kOhm giving an absolute
          maximum current of 700mA. By setting this attribute in
          the device tree, you can further restrict the maximum
          current below the hardware limit. This requires the RFS
          to be defined as it defines the maximum range.

      led-max-microamp:
        maximum: 700000
        description: The maximum current for torch mode
          is hardwired to the component using the RTS resistor to
          ground. The maximum hardware current setting is calculated
          according to the formula Imax = 5500 / RTS. The lowest
          allowed resistance value is 7.86 kOhm giving an absolute
          maximum current of 700mA. By setting this attribute in
          the device tree, you can further restrict the maximum
          current below the hardware limit. This requires the RTS
          to be defined as it defines the maximum range.

    additionalProperties: false

required:
  - compatible
  - ent-gpios
  - enf-gpios
  - led

additionalProperties: false

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

    led-controller {
        compatible = "richtek,rt8515";
        enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
        ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
        richtek,rfs-ohms = <16000>;
        richtek,rts-ohms = <100000>;

        led {
            function = LED_FUNCTION_FLASH;
            color = <LED_COLOR_ID_WHITE>;
            flash-max-timeout-us = <250000>;
            flash-max-microamp = <150000>;
            led-max-microamp = <25000>;
        };
    };

...
+3 −0
Original line number Diff line number Diff line
@@ -928,6 +928,9 @@ config LEDS_ACER_A500
	  This option enables support for the Power Button LED of
	  Acer Iconia Tab A500.

comment "Flash and Torch LED drivers"
source "drivers/leds/flash/Kconfig"

comment "LED Triggers"
source "drivers/leds/trigger/Kconfig"

+3 −0
Original line number Diff line number Diff line
@@ -103,5 +103,8 @@ obj-$(CONFIG_LEDS_SPI_BYTE) += leds-spi-byte.o
# LED Userspace Drivers
obj-$(CONFIG_LEDS_USER)			+= uleds.o

# Flash and Torch LED Drivers
obj-$(CONFIG_LEDS_CLASS_FLASH)		+= flash/

# LED Triggers
obj-$(CONFIG_LEDS_TRIGGERS)		+= trigger/
+15 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

if LEDS_CLASS_FLASH

config LEDS_RT8515
	tristate "LED support for Richtek RT8515 flash/torch LED"
	depends on GPIOLIB
	help
	  This option enables support for the Richtek RT8515 flash
	  and torch LEDs found on some mobile phones.

	  To compile this driver as a module, choose M here: the module
	  will be called leds-rt8515.

endif # LEDS_CLASS_FLASH
+3 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

obj-$(CONFIG_LEDS_RT8515)	+= leds-rt8515.o
Loading