WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / mfd / kontron,sl28cpld.yaml
blobeb3b43547cb6c7d68acf094b9234447ce43de9de
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Kontron's sl28cpld board management controller
9 maintainers:
10   - Michael Walle <michael@walle.cc>
12 description: |
13   The board management controller may contain different IP blocks like
14   watchdog, fan monitoring, PWM controller, interrupt controller and a
15   GPIO controller.
17 properties:
18   compatible:
19     const: kontron,sl28cpld
21   reg:
22     description:
23       I2C device address.
24     maxItems: 1
26   "#address-cells":
27     const: 1
29   "#size-cells":
30     const: 0
32   "#interrupt-cells":
33     const: 2
35   interrupts:
36     maxItems: 1
38   interrupt-controller: true
40 patternProperties:
41   "^gpio(@[0-9a-f]+)?$":
42     $ref: ../gpio/kontron,sl28cpld-gpio.yaml
44   "^hwmon(@[0-9a-f]+)?$":
45     $ref: ../hwmon/kontron,sl28cpld-hwmon.yaml
47   "^interrupt-controller(@[0-9a-f]+)?$":
48     $ref: ../interrupt-controller/kontron,sl28cpld-intc.yaml
50   "^pwm(@[0-9a-f]+)?$":
51     $ref: ../pwm/kontron,sl28cpld-pwm.yaml
53   "^watchdog(@[0-9a-f]+)?$":
54     $ref: ../watchdog/kontron,sl28cpld-wdt.yaml
56 required:
57   - "#address-cells"
58   - "#size-cells"
59   - compatible
60   - reg
62 additionalProperties: false
64 examples:
65   - |
66     #include <dt-bindings/interrupt-controller/irq.h>
67     i2c {
68         #address-cells = <1>;
69         #size-cells = <0>;
71         sl28cpld@4a {
72             compatible = "kontron,sl28cpld";
73             reg = <0x4a>;
74             #address-cells = <1>;
75             #size-cells = <0>;
77             watchdog@4 {
78                 compatible = "kontron,sl28cpld-wdt";
79                 reg = <0x4>;
80                 kontron,assert-wdt-timeout-pin;
81             };
83             hwmon@b {
84                 compatible = "kontron,sl28cpld-fan";
85                 reg = <0xb>;
86             };
88             pwm@c {
89                 compatible = "kontron,sl28cpld-pwm";
90                 reg = <0xc>;
91                 #pwm-cells = <2>;
92             };
94             pwm@e {
95                 compatible = "kontron,sl28cpld-pwm";
96                 reg = <0xe>;
97                 #pwm-cells = <2>;
98             };
100             gpio@10 {
101                 compatible = "kontron,sl28cpld-gpio";
102                 reg = <0x10>;
103                 interrupts-extended = <&gpio2 6
104                                IRQ_TYPE_EDGE_FALLING>;
106                 gpio-controller;
107                 #gpio-cells = <2>;
108                 gpio-line-names = "a", "b", "c";
110                 interrupt-controller;
111                 #interrupt-cells = <2>;
112             };
114             gpio@15 {
115                 compatible = "kontron,sl28cpld-gpio";
116                 reg = <0x15>;
117                 interrupts-extended = <&gpio2 6
118                                IRQ_TYPE_EDGE_FALLING>;
120                 gpio-controller;
121                 #gpio-cells = <2>;
123                 interrupt-controller;
124                 #interrupt-cells = <2>;
125             };
127             gpio@1a {
128                 compatible = "kontron,sl28cpld-gpo";
129                 reg = <0x1a>;
131                 gpio-controller;
132                 #gpio-cells = <2>;
133             };
135             gpio@1b {
136                 compatible = "kontron,sl28cpld-gpi";
137                 reg = <0x1b>;
139                 gpio-controller;
140                 #gpio-cells = <2>;
141             };
143             interrupt-controller@1c {
144                 compatible = "kontron,sl28cpld-intc";
145                 reg = <0x1c>;
146                 interrupts-extended = <&gpio2 6
147                                IRQ_TYPE_EDGE_FALLING>;
149                 interrupt-controller;
150                 #interrupt-cells = <2>;
151             };
152         };
153     };