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
269243f296SRob Herring
279243f296SRob Herring    allOf:
289243f296SRob Herring      - $ref: common.yaml#
299243f296SRob Herring
309243f296SRob Herring    properties:
319243f296SRob Herring      gpios:
329243f296SRob Herring        maxItems: 1
339243f296SRob Herring
349243f296SRob Herring      retain-state-suspended:
359243f296SRob Herring        description:
369243f296SRob Herring          The suspend state can be retained.Such as charge-led gpio.
379243f296SRob Herring        type: boolean
389243f296SRob Herring
399243f296SRob Herring      retain-state-shutdown:
409243f296SRob Herring        description:
419243f296SRob Herring          Retain the state of the LED on shutdown. Useful in BMC systems, for
429243f296SRob Herring          example when the BMC is rebooted while the host remains up.
439243f296SRob Herring        type: boolean
449243f296SRob Herring
459243f296SRob Herring    required:
469243f296SRob Herring      - gpios
479243f296SRob Herring
489243f296SRob HerringadditionalProperties: false
499243f296SRob Herring
509243f296SRob Herringexamples:
519243f296SRob Herring  - |
529243f296SRob Herring
539243f296SRob Herring    #include <dt-bindings/gpio/gpio.h>
549243f296SRob Herring    #include <dt-bindings/leds/common.h>
559243f296SRob Herring
569243f296SRob Herring    leds {
579243f296SRob Herring        compatible = "gpio-leds";
589243f296SRob Herring        led-0 {
599243f296SRob Herring            gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
609243f296SRob Herring            linux,default-trigger = "disk-activity";
619243f296SRob Herring            function = LED_FUNCTION_DISK;
629243f296SRob Herring        };
639243f296SRob Herring
649243f296SRob Herring        led-1 {
659243f296SRob Herring            gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
669243f296SRob Herring            /* Keep LED on if BIOS detected hardware fault */
679243f296SRob Herring            default-state = "keep";
689243f296SRob Herring            function = LED_FUNCTION_FAULT;
699243f296SRob Herring        };
709243f296SRob Herring    };
719243f296SRob Herring
729243f296SRob Herring    run-control {
739243f296SRob Herring        compatible = "gpio-leds";
749243f296SRob Herring        led-0 {
759243f296SRob Herring            gpios = <&mpc8572 6 GPIO_ACTIVE_HIGH>;
769243f296SRob Herring            color = <LED_COLOR_ID_RED>;
779243f296SRob Herring            default-state = "off";
789243f296SRob Herring        };
799243f296SRob Herring        led-1 {
809243f296SRob Herring            gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
819243f296SRob Herring            color = <LED_COLOR_ID_GREEN>;
829243f296SRob Herring            default-state = "on";
839243f296SRob Herring        };
849243f296SRob Herring    };
859243f296SRob Herring
869243f296SRob Herring...
87