92 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/leds/cznic,turris-omnia-leds.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: CZ.NIC's Turris Omnia LEDs driver8 9maintainers:10 - Marek Behún <kabel@kernel.org>11 12description:13 This module adds support for the RGB LEDs found on the front panel of the14 Turris Omnia router. There are 12 RGB LEDs that are controlled by a15 microcontroller that communicates via the I2C bus. Each LED is described16 as a subnode of this I2C device.17 18properties:19 compatible:20 const: cznic,turris-omnia-leds21 22 reg:23 description: I2C slave address of the microcontroller.24 maxItems: 125 26 "#address-cells":27 const: 128 29 "#size-cells":30 const: 031 32patternProperties:33 "^multi-led@[0-9a-b]$":34 type: object35 $ref: leds-class-multicolor.yaml#36 unevaluatedProperties: false37 38 description:39 This node represents one of the RGB LED devices on Turris Omnia.40 No subnodes need to be added for subchannels since this controller only41 supports RGB LEDs.42 43 properties:44 reg:45 minimum: 046 maximum: 1147 description:48 This property identifies one of the LEDs on the front panel of the49 Turris Omnia router.50 51 required:52 - reg53 54additionalProperties: false55 56examples:57 - |58 59 #include <dt-bindings/leds/common.h>60 61 i2c {62 #address-cells = <1>;63 #size-cells = <0>;64 65 led-controller@2b {66 compatible = "cznic,turris-omnia-leds";67 reg = <0x2b>;68 #address-cells = <1>;69 #size-cells = <0>;70 71 multi-led@0 {72 /*73 * No subnodes are needed, this controller only supports RGB74 * LEDs.75 */76 reg = <0>;77 color = <LED_COLOR_ID_MULTI>;78 function = LED_FUNCTION_POWER;79 linux,default-trigger = "heartbeat";80 };81 82 multi-led@a {83 reg = <0xa>;84 color = <LED_COLOR_ID_MULTI>;85 function = LED_FUNCTION_INDICATOR;86 function-enumerator = <1>;87 };88 };89 };90 91...92