1*b113a7f1SAmireddy Mallikarjuna reddy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b113a7f1SAmireddy Mallikarjuna reddy%YAML 1.2
3*b113a7f1SAmireddy Mallikarjuna reddy---
4*b113a7f1SAmireddy Mallikarjuna reddy$id: http://devicetree.org/schemas/leds/leds-lgm.yaml#
5*b113a7f1SAmireddy Mallikarjuna reddy$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b113a7f1SAmireddy Mallikarjuna reddy
7*b113a7f1SAmireddy Mallikarjuna reddytitle: Intel Lightning Mountain (LGM) SoC LED Serial Shift Output (SSO) Controller driver
8*b113a7f1SAmireddy Mallikarjuna reddy
9*b113a7f1SAmireddy Mallikarjuna reddymaintainers:
10*b113a7f1SAmireddy Mallikarjuna reddy  - Zhu, Yi Xin <Yixin.zhu@intel.com>
11*b113a7f1SAmireddy Mallikarjuna reddy  - Amireddy Mallikarjuna reddy <mallikarjunax.reddy@intel.com>
12*b113a7f1SAmireddy Mallikarjuna reddy
13*b113a7f1SAmireddy Mallikarjuna reddyproperties:
14*b113a7f1SAmireddy Mallikarjuna reddy  compatible:
15*b113a7f1SAmireddy Mallikarjuna reddy    const: intel,lgm-ssoled
16*b113a7f1SAmireddy Mallikarjuna reddy
17*b113a7f1SAmireddy Mallikarjuna reddy  gpio-controller: true
18*b113a7f1SAmireddy Mallikarjuna reddy
19*b113a7f1SAmireddy Mallikarjuna reddy  '#gpio-cells':
20*b113a7f1SAmireddy Mallikarjuna reddy    const: 2
21*b113a7f1SAmireddy Mallikarjuna reddy
22*b113a7f1SAmireddy Mallikarjuna reddy  ngpios:
23*b113a7f1SAmireddy Mallikarjuna reddy    minimum: 0
24*b113a7f1SAmireddy Mallikarjuna reddy    maximum: 32
25*b113a7f1SAmireddy Mallikarjuna reddy    description:
26*b113a7f1SAmireddy Mallikarjuna reddy      Number of GPIOs this controller provides.
27*b113a7f1SAmireddy Mallikarjuna reddy
28*b113a7f1SAmireddy Mallikarjuna reddy  intel,sso-update-rate-hz:
29*b113a7f1SAmireddy Mallikarjuna reddy    description:
30*b113a7f1SAmireddy Mallikarjuna reddy      Blink frequency for SOUTs in Hz.
31*b113a7f1SAmireddy Mallikarjuna reddy
32*b113a7f1SAmireddy Mallikarjuna reddy  led-controller:
33*b113a7f1SAmireddy Mallikarjuna reddy    type: object
34*b113a7f1SAmireddy Mallikarjuna reddy    description:
35*b113a7f1SAmireddy Mallikarjuna reddy      This sub-node must contain a sub-node for each leds.
36*b113a7f1SAmireddy Mallikarjuna reddy
37*b113a7f1SAmireddy Mallikarjuna reddy    additionalProperties: false
38*b113a7f1SAmireddy Mallikarjuna reddy
39*b113a7f1SAmireddy Mallikarjuna reddy    patternProperties:
40*b113a7f1SAmireddy Mallikarjuna reddy      "^led@[0-23]$":
41*b113a7f1SAmireddy Mallikarjuna reddy        type: object
42*b113a7f1SAmireddy Mallikarjuna reddy
43*b113a7f1SAmireddy Mallikarjuna reddy        properties:
44*b113a7f1SAmireddy Mallikarjuna reddy          reg:
45*b113a7f1SAmireddy Mallikarjuna reddy            description: Index of the LED.
46*b113a7f1SAmireddy Mallikarjuna reddy            minimum: 0
47*b113a7f1SAmireddy Mallikarjuna reddy            maximum: 2
48*b113a7f1SAmireddy Mallikarjuna reddy
49*b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-hw-trigger:
50*b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
51*b113a7f1SAmireddy Mallikarjuna reddy            description: This property indicates Hardware driven/control LED.
52*b113a7f1SAmireddy Mallikarjuna reddy
53*b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-hw-blink:
54*b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
55*b113a7f1SAmireddy Mallikarjuna reddy            description: This property indicates Enable LED blink by Hardware.
56*b113a7f1SAmireddy Mallikarjuna reddy
57*b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-blink-rate-hz:
58*b113a7f1SAmireddy Mallikarjuna reddy            description: LED HW blink frequency.
59*b113a7f1SAmireddy Mallikarjuna reddy
60*b113a7f1SAmireddy Mallikarjuna reddy          retain-state-suspended:
61*b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
62*b113a7f1SAmireddy Mallikarjuna reddy            description: The suspend state of LED can be retained.
63*b113a7f1SAmireddy Mallikarjuna reddy
64*b113a7f1SAmireddy Mallikarjuna reddy          retain-state-shutdown:
65*b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
66*b113a7f1SAmireddy Mallikarjuna reddy            description: Retain the state of the LED on shutdown.
67*b113a7f1SAmireddy Mallikarjuna reddy
68*b113a7f1SAmireddy Mallikarjuna reddyrequired:
69*b113a7f1SAmireddy Mallikarjuna reddy  - compatible
70*b113a7f1SAmireddy Mallikarjuna reddy  - reg
71*b113a7f1SAmireddy Mallikarjuna reddy  - clocks
72*b113a7f1SAmireddy Mallikarjuna reddy  - clock-names
73*b113a7f1SAmireddy Mallikarjuna reddy  - "#gpio-cells"
74*b113a7f1SAmireddy Mallikarjuna reddy  - gpio-controller
75*b113a7f1SAmireddy Mallikarjuna reddy
76*b113a7f1SAmireddy Mallikarjuna reddyadditionalProperties: false
77*b113a7f1SAmireddy Mallikarjuna reddy
78*b113a7f1SAmireddy Mallikarjuna reddyexamples:
79*b113a7f1SAmireddy Mallikarjuna reddy  - |
80*b113a7f1SAmireddy Mallikarjuna reddy    #include <dt-bindings/clock/intel,lgm-clk.h>
81*b113a7f1SAmireddy Mallikarjuna reddy    #include <dt-bindings/leds/common.h>
82*b113a7f1SAmireddy Mallikarjuna reddy
83*b113a7f1SAmireddy Mallikarjuna reddy    ssogpio: ssogpio@e0d40000 {
84*b113a7f1SAmireddy Mallikarjuna reddy      compatible = "intel,sso-led";
85*b113a7f1SAmireddy Mallikarjuna reddy      reg = <0xE0D40000 0x2E4>;
86*b113a7f1SAmireddy Mallikarjuna reddy      gpio-controller;
87*b113a7f1SAmireddy Mallikarjuna reddy      #gpio-cells = <2>;
88*b113a7f1SAmireddy Mallikarjuna reddy      ngpios = <32>;
89*b113a7f1SAmireddy Mallikarjuna reddy      pinctrl-names = "default";
90*b113a7f1SAmireddy Mallikarjuna reddy      pinctrl-0 = <&pinctrl_ledc>;
91*b113a7f1SAmireddy Mallikarjuna reddy      clocks = <&cgu0 LGM_GCLK_LEDC0>, <&afeclk>;
92*b113a7f1SAmireddy Mallikarjuna reddy      clock-names = "sso", "fpid";
93*b113a7f1SAmireddy Mallikarjuna reddy      intel,sso-update-rate-hz = <250000>;
94*b113a7f1SAmireddy Mallikarjuna reddy
95*b113a7f1SAmireddy Mallikarjuna reddy      led-controller {
96*b113a7f1SAmireddy Mallikarjuna reddy        #address-cells = <1>;
97*b113a7f1SAmireddy Mallikarjuna reddy        #size-cells = <0>;
98*b113a7f1SAmireddy Mallikarjuna reddy
99*b113a7f1SAmireddy Mallikarjuna reddy        led@0 {
100*b113a7f1SAmireddy Mallikarjuna reddy          reg = <0>;
101*b113a7f1SAmireddy Mallikarjuna reddy          function = "gphy";
102*b113a7f1SAmireddy Mallikarjuna reddy          color = <LED_COLOR_ID_GREEN>;
103*b113a7f1SAmireddy Mallikarjuna reddy          led-gpio = <&ssogpio 0 0>;
104*b113a7f1SAmireddy Mallikarjuna reddy        };
105*b113a7f1SAmireddy Mallikarjuna reddy
106*b113a7f1SAmireddy Mallikarjuna reddy        led@23 {
107*b113a7f1SAmireddy Mallikarjuna reddy          reg = <23>;
108*b113a7f1SAmireddy Mallikarjuna reddy          function = LED_FUNCTION_POWER;
109*b113a7f1SAmireddy Mallikarjuna reddy          color = <LED_COLOR_ID_GREEN>;
110*b113a7f1SAmireddy Mallikarjuna reddy          led-gpio = <&ssogpio 23 0>;
111*b113a7f1SAmireddy Mallikarjuna reddy        };
112*b113a7f1SAmireddy Mallikarjuna reddy      };
113*b113a7f1SAmireddy Mallikarjuna reddy    };
114