162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: LEDs connected to GPIO lines
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
1162306a36Sopenharmony_ci  - Pavel Machek <pavel@ucw.cz>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription:
1462306a36Sopenharmony_ci  Each LED is represented as a sub-node of the gpio-leds device.  Each
1562306a36Sopenharmony_ci  node's name represents the name of the corresponding LED.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    const: gpio-leds
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cipatternProperties:
2262306a36Sopenharmony_ci  # The first form is preferred, but fall back to just 'led' anywhere in the
2362306a36Sopenharmony_ci  # node name to at least catch some child nodes.
2462306a36Sopenharmony_ci  "(^led-[0-9a-f]$|led)":
2562306a36Sopenharmony_ci    type: object
2662306a36Sopenharmony_ci    $ref: common.yaml#
2762306a36Sopenharmony_ci    unevaluatedProperties: false
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci    properties:
3062306a36Sopenharmony_ci      gpios:
3162306a36Sopenharmony_ci        maxItems: 1
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci      retain-state-suspended:
3462306a36Sopenharmony_ci        description:
3562306a36Sopenharmony_ci          The suspend state can be retained.Such as charge-led gpio.
3662306a36Sopenharmony_ci        type: boolean
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci      retain-state-shutdown:
3962306a36Sopenharmony_ci        description:
4062306a36Sopenharmony_ci          Retain the state of the LED on shutdown. Useful in BMC systems, for
4162306a36Sopenharmony_ci          example when the BMC is rebooted while the host remains up.
4262306a36Sopenharmony_ci        type: boolean
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci    required:
4562306a36Sopenharmony_ci      - gpios
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciadditionalProperties: false
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciexamples:
5062306a36Sopenharmony_ci  - |
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
5362306a36Sopenharmony_ci    #include <dt-bindings/leds/common.h>
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci    leds {
5662306a36Sopenharmony_ci        compatible = "gpio-leds";
5762306a36Sopenharmony_ci        led-0 {
5862306a36Sopenharmony_ci            gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
5962306a36Sopenharmony_ci            linux,default-trigger = "disk-activity";
6062306a36Sopenharmony_ci            function = LED_FUNCTION_DISK;
6162306a36Sopenharmony_ci        };
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci        led-1 {
6462306a36Sopenharmony_ci            gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
6562306a36Sopenharmony_ci            /* Keep LED on if BIOS detected hardware fault */
6662306a36Sopenharmony_ci            default-state = "keep";
6762306a36Sopenharmony_ci            function = LED_FUNCTION_FAULT;
6862306a36Sopenharmony_ci        };
6962306a36Sopenharmony_ci    };
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci    run-control {
7262306a36Sopenharmony_ci        compatible = "gpio-leds";
7362306a36Sopenharmony_ci        led-0 {
7462306a36Sopenharmony_ci            gpios = <&mpc8572 6 GPIO_ACTIVE_HIGH>;
7562306a36Sopenharmony_ci            color = <LED_COLOR_ID_RED>;
7662306a36Sopenharmony_ci            default-state = "off";
7762306a36Sopenharmony_ci        };
7862306a36Sopenharmony_ci        led-1 {
7962306a36Sopenharmony_ci            gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
8062306a36Sopenharmony_ci            color = <LED_COLOR_ID_GREEN>;
8162306a36Sopenharmony_ci            default-state = "on";
8262306a36Sopenharmony_ci        };
8362306a36Sopenharmony_ci    };
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci...
86