19243f296SRob Herring# SPDX-License-Identifier: GPL-2.0-only
29243f296SRob Herring%YAML 1.2
39243f296SRob Herring---
49243f296SRob Herring$id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
59243f296SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
69243f296SRob Herring
79243f296SRob Herringtitle: LEDs connected to GPIO lines
89243f296SRob Herring
99243f296SRob Herringmaintainers:
109243f296SRob Herring  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
119243f296SRob Herring  - Pavel Machek <pavel@ucw.cz>
129243f296SRob Herring
139243f296SRob Herringdescription:
149243f296SRob Herring  Each LED is represented as a sub-node of the gpio-leds device.  Each
159243f296SRob Herring  node's name represents the name of the corresponding LED.
169243f296SRob Herring
179243f296SRob Herringproperties:
189243f296SRob Herring  compatible:
199243f296SRob Herring    const: gpio-leds
209243f296SRob Herring
219243f296SRob HerringpatternProperties:
229243f296SRob Herring  # The first form is preferred, but fall back to just 'led' anywhere in the
239243f296SRob Herring  # node name to at least catch some child nodes.
249243f296SRob Herring  "(^led-[0-9a-f]$|led)":
259243f296SRob Herring    type: object
263d21a460SRob Herring    $ref: common.yaml#
27*fe469e83SKrzysztof Kozlowski    unevaluatedProperties: false
289243f296SRob Herring
299243f296SRob Herring    properties:
309243f296SRob Herring      gpios:
319243f296SRob Herring        maxItems: 1
329243f296SRob Herring
339243f296SRob Herring      retain-state-suspended:
349243f296SRob Herring        description:
359243f296SRob Herring          The suspend state can be retained.Such as charge-led gpio.
369243f296SRob Herring        type: boolean
379243f296SRob Herring
389243f296SRob Herring      retain-state-shutdown:
399243f296SRob Herring        description:
409243f296SRob Herring          Retain the state of the LED on shutdown. Useful in BMC systems, for
419243f296SRob Herring          example when the BMC is rebooted while the host remains up.
429243f296SRob Herring        type: boolean
439243f296SRob Herring
449243f296SRob Herring    required:
459243f296SRob Herring      - gpios
469243f296SRob Herring
479243f296SRob HerringadditionalProperties: false
489243f296SRob Herring
499243f296SRob Herringexamples:
509243f296SRob Herring  - |
519243f296SRob Herring
529243f296SRob Herring    #include <dt-bindings/gpio/gpio.h>
539243f296SRob Herring    #include <dt-bindings/leds/common.h>
549243f296SRob Herring
559243f296SRob Herring    leds {
569243f296SRob Herring        compatible = "gpio-leds";
579243f296SRob Herring        led-0 {
589243f296SRob Herring            gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
599243f296SRob Herring            linux,default-trigger = "disk-activity";
609243f296SRob Herring            function = LED_FUNCTION_DISK;
619243f296SRob Herring        };
629243f296SRob Herring
639243f296SRob Herring        led-1 {
649243f296SRob Herring            gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
659243f296SRob Herring            /* Keep LED on if BIOS detected hardware fault */
669243f296SRob Herring            default-state = "keep";
679243f296SRob Herring            function = LED_FUNCTION_FAULT;
689243f296SRob Herring        };
699243f296SRob Herring    };
709243f296SRob Herring
719243f296SRob Herring    run-control {
729243f296SRob Herring        compatible = "gpio-leds";
739243f296SRob Herring        led-0 {
749243f296SRob Herring            gpios = <&mpc8572 6 GPIO_ACTIVE_HIGH>;
759243f296SRob Herring            color = <LED_COLOR_ID_RED>;
769243f296SRob Herring            default-state = "off";
779243f296SRob Herring        };
789243f296SRob Herring        led-1 {
799243f296SRob Herring            gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
809243f296SRob Herring            color = <LED_COLOR_ID_GREEN>;
819243f296SRob Herring            default-state = "on";
829243f296SRob Herring        };
839243f296SRob Herring    };
849243f296SRob Herring
859243f296SRob Herring...
86