1b113a7f1SAmireddy Mallikarjuna reddy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b113a7f1SAmireddy Mallikarjuna reddy%YAML 1.2
3b113a7f1SAmireddy Mallikarjuna reddy---
4b113a7f1SAmireddy Mallikarjuna reddy$id: http://devicetree.org/schemas/leds/leds-lgm.yaml#
5b113a7f1SAmireddy Mallikarjuna reddy$schema: http://devicetree.org/meta-schemas/core.yaml#
6b113a7f1SAmireddy Mallikarjuna reddy
7b113a7f1SAmireddy Mallikarjuna reddytitle: Intel Lightning Mountain (LGM) SoC LED Serial Shift Output (SSO) Controller driver
8b113a7f1SAmireddy Mallikarjuna reddy
9b113a7f1SAmireddy Mallikarjuna reddymaintainers:
10b113a7f1SAmireddy Mallikarjuna reddy  - Zhu, Yi Xin <Yixin.zhu@intel.com>
11b113a7f1SAmireddy Mallikarjuna reddy  - Amireddy Mallikarjuna reddy <mallikarjunax.reddy@intel.com>
12b113a7f1SAmireddy Mallikarjuna reddy
13b113a7f1SAmireddy Mallikarjuna reddyproperties:
14b113a7f1SAmireddy Mallikarjuna reddy  compatible:
15b113a7f1SAmireddy Mallikarjuna reddy    const: intel,lgm-ssoled
16b113a7f1SAmireddy Mallikarjuna reddy
1728ffe8bfSRob Herring  reg:
1828ffe8bfSRob Herring    maxItems: 1
1928ffe8bfSRob Herring
2028ffe8bfSRob Herring  clocks:
2128ffe8bfSRob Herring    maxItems: 2
2228ffe8bfSRob Herring
2328ffe8bfSRob Herring  clock-names:
2428ffe8bfSRob Herring    items:
2528ffe8bfSRob Herring      - const: sso
2628ffe8bfSRob Herring      - const: fpid
2728ffe8bfSRob Herring
28b113a7f1SAmireddy Mallikarjuna reddy  gpio-controller: true
29b113a7f1SAmireddy Mallikarjuna reddy
30b113a7f1SAmireddy Mallikarjuna reddy  '#gpio-cells':
31b113a7f1SAmireddy Mallikarjuna reddy    const: 2
32b113a7f1SAmireddy Mallikarjuna reddy
33b113a7f1SAmireddy Mallikarjuna reddy  ngpios:
34b113a7f1SAmireddy Mallikarjuna reddy    minimum: 0
35b113a7f1SAmireddy Mallikarjuna reddy    maximum: 32
36b113a7f1SAmireddy Mallikarjuna reddy    description:
37b113a7f1SAmireddy Mallikarjuna reddy      Number of GPIOs this controller provides.
38b113a7f1SAmireddy Mallikarjuna reddy
39b113a7f1SAmireddy Mallikarjuna reddy  intel,sso-update-rate-hz:
40b113a7f1SAmireddy Mallikarjuna reddy    description:
41b113a7f1SAmireddy Mallikarjuna reddy      Blink frequency for SOUTs in Hz.
42b113a7f1SAmireddy Mallikarjuna reddy
43b113a7f1SAmireddy Mallikarjuna reddy  led-controller:
44b113a7f1SAmireddy Mallikarjuna reddy    type: object
45b113a7f1SAmireddy Mallikarjuna reddy    description:
46b113a7f1SAmireddy Mallikarjuna reddy      This sub-node must contain a sub-node for each leds.
47b113a7f1SAmireddy Mallikarjuna reddy
48b113a7f1SAmireddy Mallikarjuna reddy    additionalProperties: false
49b113a7f1SAmireddy Mallikarjuna reddy
5028ffe8bfSRob Herring    properties:
5128ffe8bfSRob Herring      '#address-cells':
5228ffe8bfSRob Herring        const: 1
5328ffe8bfSRob Herring
5428ffe8bfSRob Herring      '#size-cells':
5528ffe8bfSRob Herring        const: 0
5628ffe8bfSRob Herring
57b113a7f1SAmireddy Mallikarjuna reddy    patternProperties:
5828ffe8bfSRob Herring      "^led@[0-2]$":
59*580f9896SRob Herring        $ref: common.yaml#
60*580f9896SRob Herring        unevaluatedProperties: false
61b113a7f1SAmireddy Mallikarjuna reddy
62b113a7f1SAmireddy Mallikarjuna reddy        properties:
63b113a7f1SAmireddy Mallikarjuna reddy          reg:
64b113a7f1SAmireddy Mallikarjuna reddy            description: Index of the LED.
65b113a7f1SAmireddy Mallikarjuna reddy            minimum: 0
66b113a7f1SAmireddy Mallikarjuna reddy            maximum: 2
67b113a7f1SAmireddy Mallikarjuna reddy
6812116448SRob Herring          led-gpios:
6912116448SRob Herring            maxItems: 1
7012116448SRob Herring
71b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-hw-trigger:
72b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
73b113a7f1SAmireddy Mallikarjuna reddy            description: This property indicates Hardware driven/control LED.
74b113a7f1SAmireddy Mallikarjuna reddy
75b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-hw-blink:
76b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
77b113a7f1SAmireddy Mallikarjuna reddy            description: This property indicates Enable LED blink by Hardware.
78b113a7f1SAmireddy Mallikarjuna reddy
79b113a7f1SAmireddy Mallikarjuna reddy          intel,sso-blink-rate-hz:
80b113a7f1SAmireddy Mallikarjuna reddy            description: LED HW blink frequency.
81b113a7f1SAmireddy Mallikarjuna reddy
82b113a7f1SAmireddy Mallikarjuna reddy          retain-state-suspended:
83b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
84b113a7f1SAmireddy Mallikarjuna reddy            description: The suspend state of LED can be retained.
85b113a7f1SAmireddy Mallikarjuna reddy
86b113a7f1SAmireddy Mallikarjuna reddy          retain-state-shutdown:
87b113a7f1SAmireddy Mallikarjuna reddy            type: boolean
88b113a7f1SAmireddy Mallikarjuna reddy            description: Retain the state of the LED on shutdown.
89b113a7f1SAmireddy Mallikarjuna reddy
90b113a7f1SAmireddy Mallikarjuna reddyrequired:
91b113a7f1SAmireddy Mallikarjuna reddy  - compatible
92b113a7f1SAmireddy Mallikarjuna reddy  - reg
93b113a7f1SAmireddy Mallikarjuna reddy  - clocks
94b113a7f1SAmireddy Mallikarjuna reddy  - clock-names
95b113a7f1SAmireddy Mallikarjuna reddy  - "#gpio-cells"
96b113a7f1SAmireddy Mallikarjuna reddy  - gpio-controller
97b113a7f1SAmireddy Mallikarjuna reddy
98b113a7f1SAmireddy Mallikarjuna reddyadditionalProperties: false
99b113a7f1SAmireddy Mallikarjuna reddy
100b113a7f1SAmireddy Mallikarjuna reddyexamples:
101b113a7f1SAmireddy Mallikarjuna reddy  - |
102b113a7f1SAmireddy Mallikarjuna reddy    #include <dt-bindings/clock/intel,lgm-clk.h>
103b113a7f1SAmireddy Mallikarjuna reddy    #include <dt-bindings/leds/common.h>
104b113a7f1SAmireddy Mallikarjuna reddy
105b113a7f1SAmireddy Mallikarjuna reddy    ssogpio: ssogpio@e0d40000 {
10628ffe8bfSRob Herring      compatible = "intel,lgm-ssoled";
107b113a7f1SAmireddy Mallikarjuna reddy      reg = <0xE0D40000 0x2E4>;
108b113a7f1SAmireddy Mallikarjuna reddy      gpio-controller;
109b113a7f1SAmireddy Mallikarjuna reddy      #gpio-cells = <2>;
110b113a7f1SAmireddy Mallikarjuna reddy      ngpios = <32>;
111b113a7f1SAmireddy Mallikarjuna reddy      pinctrl-names = "default";
112b113a7f1SAmireddy Mallikarjuna reddy      pinctrl-0 = <&pinctrl_ledc>;
113b113a7f1SAmireddy Mallikarjuna reddy      clocks = <&cgu0 LGM_GCLK_LEDC0>, <&afeclk>;
114b113a7f1SAmireddy Mallikarjuna reddy      clock-names = "sso", "fpid";
115b113a7f1SAmireddy Mallikarjuna reddy      intel,sso-update-rate-hz = <250000>;
116b113a7f1SAmireddy Mallikarjuna reddy
117b113a7f1SAmireddy Mallikarjuna reddy      led-controller {
118b113a7f1SAmireddy Mallikarjuna reddy        #address-cells = <1>;
119b113a7f1SAmireddy Mallikarjuna reddy        #size-cells = <0>;
120b113a7f1SAmireddy Mallikarjuna reddy
121b113a7f1SAmireddy Mallikarjuna reddy        led@0 {
122b113a7f1SAmireddy Mallikarjuna reddy          reg = <0>;
123b113a7f1SAmireddy Mallikarjuna reddy          function = "gphy";
124b113a7f1SAmireddy Mallikarjuna reddy          color = <LED_COLOR_ID_GREEN>;
12512116448SRob Herring          led-gpios = <&ssogpio 0 0>;
126b113a7f1SAmireddy Mallikarjuna reddy        };
127b113a7f1SAmireddy Mallikarjuna reddy
12828ffe8bfSRob Herring        led@2 {
12928ffe8bfSRob Herring          reg = <2>;
130b113a7f1SAmireddy Mallikarjuna reddy          function = LED_FUNCTION_POWER;
131b113a7f1SAmireddy Mallikarjuna reddy          color = <LED_COLOR_ID_GREEN>;
13212116448SRob Herring          led-gpios = <&ssogpio 23 0>;
133b113a7f1SAmireddy Mallikarjuna reddy        };
134b113a7f1SAmireddy Mallikarjuna reddy      };
135b113a7f1SAmireddy Mallikarjuna reddy    };
136