162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/leds/cznic,turris-omnia-leds.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: CZ.NIC's Turris Omnia LEDs driver 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Marek Behún <kabel@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci This module adds support for the RGB LEDs found on the front panel of the 1462306a36Sopenharmony_ci Turris Omnia router. There are 12 RGB LEDs that are controlled by a 1562306a36Sopenharmony_ci microcontroller that communicates via the I2C bus. Each LED is described 1662306a36Sopenharmony_ci as a subnode of this I2C device. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci const: cznic,turris-omnia-leds 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci reg: 2362306a36Sopenharmony_ci description: I2C slave address of the microcontroller. 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci "#address-cells": 2762306a36Sopenharmony_ci const: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci "#size-cells": 3062306a36Sopenharmony_ci const: 0 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_cipatternProperties: 3362306a36Sopenharmony_ci "^multi-led@[0-9a-b]$": 3462306a36Sopenharmony_ci type: object 3562306a36Sopenharmony_ci $ref: leds-class-multicolor.yaml# 3662306a36Sopenharmony_ci unevaluatedProperties: false 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci This node represents one of the RGB LED devices on Turris Omnia. 4062306a36Sopenharmony_ci No subnodes need to be added for subchannels since this controller only 4162306a36Sopenharmony_ci supports RGB LEDs. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci properties: 4462306a36Sopenharmony_ci reg: 4562306a36Sopenharmony_ci minimum: 0 4662306a36Sopenharmony_ci maximum: 11 4762306a36Sopenharmony_ci description: 4862306a36Sopenharmony_ci This property identifies one of the LEDs on the front panel of the 4962306a36Sopenharmony_ci Turris Omnia router. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci required: 5262306a36Sopenharmony_ci - reg 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciadditionalProperties: false 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciexamples: 5762306a36Sopenharmony_ci - | 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci #include <dt-bindings/leds/common.h> 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci i2c { 6262306a36Sopenharmony_ci #address-cells = <1>; 6362306a36Sopenharmony_ci #size-cells = <0>; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci led-controller@2b { 6662306a36Sopenharmony_ci compatible = "cznic,turris-omnia-leds"; 6762306a36Sopenharmony_ci reg = <0x2b>; 6862306a36Sopenharmony_ci #address-cells = <1>; 6962306a36Sopenharmony_ci #size-cells = <0>; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci multi-led@0 { 7262306a36Sopenharmony_ci /* 7362306a36Sopenharmony_ci * No subnodes are needed, this controller only supports RGB 7462306a36Sopenharmony_ci * LEDs. 7562306a36Sopenharmony_ci */ 7662306a36Sopenharmony_ci reg = <0>; 7762306a36Sopenharmony_ci color = <LED_COLOR_ID_MULTI>; 7862306a36Sopenharmony_ci function = LED_FUNCTION_POWER; 7962306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci multi-led@a { 8362306a36Sopenharmony_ci reg = <0xa>; 8462306a36Sopenharmony_ci color = <LED_COLOR_ID_MULTI>; 8562306a36Sopenharmony_ci function = LED_FUNCTION_INDICATOR; 8662306a36Sopenharmony_ci function-enumerator = <1>; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci... 92