174 lines
4.1 KiB
YAML
174 lines
4.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/leds/awinic,aw200xx.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: AWINIC AW200XX LED
|
|
|
|
maintainers:
|
|
- Martin Kurbanov <mmkurbanov@sberdevices.ru>
|
|
|
|
description: |
|
|
It is a matrix LED driver programmed via an I2C interface. Devices have
|
|
a set of individually controlled leds and support 3 pattern controllers
|
|
for auto breathing or group dimming control. Supported devices:
|
|
- AW20036 (3x12) 36 LEDs
|
|
- AW20054 (6x9) 54 LEDs
|
|
- AW20072 (6x12) 72 LEDs
|
|
- AW20108 (9x12) 108 LEDs
|
|
|
|
For more product information please see the link below:
|
|
aw20036 - https://www.awinic.com/en/productDetail/AW20036QNR#tech-docs
|
|
aw20054 - https://www.awinic.com/en/productDetail/AW20054QNR#tech-docs
|
|
aw20072 - https://www.awinic.com/en/productDetail/AW20072QNR#tech-docs
|
|
aw20108 - https://www.awinic.com/en/productDetail/AW20108QNR#tech-docs
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- awinic,aw20036
|
|
- awinic,aw20054
|
|
- awinic,aw20072
|
|
- awinic,aw20108
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
enable-gpios:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
"^led@[0-9a-f]+$":
|
|
type: object
|
|
$ref: common.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
reg:
|
|
description:
|
|
LED number
|
|
maxItems: 1
|
|
|
|
led-max-microamp:
|
|
default: 9780
|
|
description: |
|
|
Note that a driver will take the minimum of all LED limits
|
|
since the chip has a single global setting.
|
|
The maximum output current of each LED is calculated by the
|
|
following formula:
|
|
IMAXled = 160000 * (592 / 600.5) * (1 / max-current-switch-number)
|
|
And the minimum output current formula:
|
|
IMINled = 3300 * (592 / 600.5) * (1 / max-current-switch-number)
|
|
where max-current-switch-number is determinated by led configuration
|
|
and depends on how leds are physically connected to the led driver.
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: awinic,aw20036
|
|
then:
|
|
patternProperties:
|
|
"^led@[0-9a-f]+$":
|
|
properties:
|
|
reg:
|
|
items:
|
|
minimum: 0
|
|
maximum: 36
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: awinic,aw20054
|
|
then:
|
|
patternProperties:
|
|
"^led@[0-9a-f]+$":
|
|
properties:
|
|
reg:
|
|
items:
|
|
minimum: 0
|
|
maximum: 54
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: awinic,aw20072
|
|
then:
|
|
patternProperties:
|
|
"^led@[0-9a-f]+$":
|
|
properties:
|
|
reg:
|
|
items:
|
|
minimum: 0
|
|
maximum: 72
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: awinic,aw20108
|
|
then:
|
|
patternProperties:
|
|
"^led@[0-9a-f]+$":
|
|
properties:
|
|
reg:
|
|
items:
|
|
minimum: 0
|
|
maximum: 108
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
led-controller@3a {
|
|
compatible = "awinic,aw20036";
|
|
reg = <0x3a>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
enable-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
|
|
|
|
led@0 {
|
|
reg = <0x0>;
|
|
color = <LED_COLOR_ID_RED>;
|
|
led-max-microamp = <9780>;
|
|
};
|
|
|
|
led@1 {
|
|
reg = <0x1>;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
led-max-microamp = <9780>;
|
|
};
|
|
|
|
led@2 {
|
|
reg = <0x2>;
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
led-max-microamp = <9780>;
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|