Commit 64826db1 authored by Harrison Carter's avatar Harrison Carter Committed by Lee Jones
Browse files

dt-bindings: leds: as3645: Convert to DT schema



Convert the ams,as3645a.txt to DT Schema format.

Signed-off-by: default avatarHarrison Carter <hcarter@thegoodpenguin.co.uk>
Reviewed-by: default avatar"Rob Herring (Arm)" <robh@kernel.org>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent ef381e17
Loading
Loading
Loading
Loading
+0 −85
Original line number Diff line number Diff line
Analog devices AS3645A device tree bindings

The AS3645A flash LED controller can drive two LEDs, one high current
flash LED and one indicator LED. The high current flash LED can be
used in torch mode as well.

Ranges below noted as [a, b] are closed ranges between a and b, i.e. a
and b are included in the range.

Please also see common.txt in the same directory.


Required properties
===================

compatible	: Must be "ams,as3645a".
reg		: The I2C address of the device. Typically 0x30.
#address-cells	: 1
#size-cells	: 0


Required properties of the flash child node (0)
===============================================

reg: 0
flash-timeout-us: Flash timeout in microseconds. The value must be in
		  the range [100000, 850000] and divisible by 50000.
flash-max-microamp: Maximum flash current in microamperes. Has to be
		    in the range between [200000, 500000] and
		    divisible by 20000.
led-max-microamp: Maximum torch (assist) current in microamperes. The
		  value must be in the range between [20000, 160000] and
		  divisible by 20000.
ams,input-max-microamp: Maximum flash controller input current. The
			value must be in the range [1250000, 2000000]
			and divisible by 50000.


Optional properties of the flash child node
===========================================

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).


Required properties of the indicator child node (1)
===================================================

reg: 1
led-max-microamp: Maximum indicator current. The allowed values are
		  2500, 5000, 7500 and 10000.

Optional properties of the indicator child node
===============================================

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).


Example
=======

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

	as3645a@30 {
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x30>;
		compatible = "ams,as3645a";
		led@0 {
			reg = <0x0>;
			flash-timeout-us = <150000>;
			flash-max-microamp = <320000>;
			led-max-microamp = <60000>;
			ams,input-max-microamp = <1750000>;
			function = LED_FUNCTION_FLASH;
		};
		led@1 {
			reg = <0x1>;
			led-max-microamp = <10000>;
			function = LED_FUNCTION_INDICATOR;
		};
	};
+130 −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/ams,as3645a.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AS3645A LED Controller

maintainers:
  - Sakari Ailus <sakari.ailus@iki.fi>

description:
  The AS3645A flash LED controller can drive two LEDs, one
  high current flash LED and one indicator LED. The high
  current flash LED can be used in torch mode as well.

properties:
  compatible:
    const: ams,as3645a

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  reg:
    maxItems: 1

  led@0:
    description: led0 describes the 'flash' feature
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        const: 0

      flash-timeout-us:
        minimum: 100000
        maximum: 850000
        multipleOf: 50000

      flash-max-microamp:
        minimum: 200000
        maximum: 500000
        multipleOf: 20000

      led-max-microamp:
        minimum: 20000
        maximum: 160000
        multipleOf: 20000
        description:
          Maximum current when in torch (assist) mode.

      ams,input-max-microamp:
        minimum: 1250000
        maximum: 2000000
        multipleOf: 50000

    required:
      - reg
      - flash-timeout-us
      - flash-max-microamp
      - led-max-microamp
      - ams,input-max-microamp

  led@1:
    description: led1 describes the 'indicator' feature
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        const: 1

      led-max-microamp:
        enum:
          - 2500
          - 5000
          - 7500
          - 10000
        description:
          Maximum indicator current.

    required:
      - reg
      - led-max-microamp

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

additionalProperties: false

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

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

        led-controller@30 {
            compatible = "ams,as3645a";
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <0x30>;

            led@0 {
                reg = <0>;
                flash-timeout-us = <150000>;
                flash-max-microamp = <320000>;
                led-max-microamp = <60000>;
                ams,input-max-microamp = <1750000>;
                function = LED_FUNCTION_FLASH;
            };

            led@1 {
                reg = <1>;
                led-max-microamp = <10000>;
                function = LED_FUNCTION_INDICATOR;
            };
        };
    };
...