xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/kontron,sl28cpld.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1*6be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*6be33864SEmmanuel Vadot%YAML 1.2
3*6be33864SEmmanuel Vadot---
4*6be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml#
5*6be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*6be33864SEmmanuel Vadot
7*6be33864SEmmanuel Vadottitle: Kontron's sl28cpld board management controller
8*6be33864SEmmanuel Vadot
9*6be33864SEmmanuel Vadotmaintainers:
10*6be33864SEmmanuel Vadot  - Michael Walle <michael@walle.cc>
11*6be33864SEmmanuel Vadot
12*6be33864SEmmanuel Vadotdescription: |
13*6be33864SEmmanuel Vadot  The board management controller may contain different IP blocks like
14*6be33864SEmmanuel Vadot  watchdog, fan monitoring, PWM controller, interrupt controller and a
15*6be33864SEmmanuel Vadot  GPIO controller.
16*6be33864SEmmanuel Vadot
17*6be33864SEmmanuel Vadotproperties:
18*6be33864SEmmanuel Vadot  compatible:
19*6be33864SEmmanuel Vadot    const: kontron,sl28cpld
20*6be33864SEmmanuel Vadot
21*6be33864SEmmanuel Vadot  reg:
22*6be33864SEmmanuel Vadot    description:
23*6be33864SEmmanuel Vadot      I2C device address.
24*6be33864SEmmanuel Vadot    maxItems: 1
25*6be33864SEmmanuel Vadot
26*6be33864SEmmanuel Vadot  "#address-cells":
27*6be33864SEmmanuel Vadot    const: 1
28*6be33864SEmmanuel Vadot
29*6be33864SEmmanuel Vadot  "#size-cells":
30*6be33864SEmmanuel Vadot    const: 0
31*6be33864SEmmanuel Vadot
32*6be33864SEmmanuel Vadot  "#interrupt-cells":
33*6be33864SEmmanuel Vadot    const: 2
34*6be33864SEmmanuel Vadot
35*6be33864SEmmanuel Vadot  interrupts:
36*6be33864SEmmanuel Vadot    maxItems: 1
37*6be33864SEmmanuel Vadot
38*6be33864SEmmanuel Vadot  interrupt-controller: true
39*6be33864SEmmanuel Vadot
40*6be33864SEmmanuel VadotpatternProperties:
41*6be33864SEmmanuel Vadot  "^gpio(@[0-9a-f]+)?$":
42*6be33864SEmmanuel Vadot    $ref: ../gpio/kontron,sl28cpld-gpio.yaml
43*6be33864SEmmanuel Vadot
44*6be33864SEmmanuel Vadot  "^hwmon(@[0-9a-f]+)?$":
45*6be33864SEmmanuel Vadot    $ref: ../hwmon/kontron,sl28cpld-hwmon.yaml
46*6be33864SEmmanuel Vadot
47*6be33864SEmmanuel Vadot  "^interrupt-controller(@[0-9a-f]+)?$":
48*6be33864SEmmanuel Vadot    $ref: ../interrupt-controller/kontron,sl28cpld-intc.yaml
49*6be33864SEmmanuel Vadot
50*6be33864SEmmanuel Vadot  "^pwm(@[0-9a-f]+)?$":
51*6be33864SEmmanuel Vadot    $ref: ../pwm/kontron,sl28cpld-pwm.yaml
52*6be33864SEmmanuel Vadot
53*6be33864SEmmanuel Vadot  "^watchdog(@[0-9a-f]+)?$":
54*6be33864SEmmanuel Vadot    $ref: ../watchdog/kontron,sl28cpld-wdt.yaml
55*6be33864SEmmanuel Vadot
56*6be33864SEmmanuel Vadotrequired:
57*6be33864SEmmanuel Vadot  - "#address-cells"
58*6be33864SEmmanuel Vadot  - "#size-cells"
59*6be33864SEmmanuel Vadot  - compatible
60*6be33864SEmmanuel Vadot  - reg
61*6be33864SEmmanuel Vadot
62*6be33864SEmmanuel VadotadditionalProperties: false
63*6be33864SEmmanuel Vadot
64*6be33864SEmmanuel Vadotexamples:
65*6be33864SEmmanuel Vadot  - |
66*6be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
67*6be33864SEmmanuel Vadot    i2c {
68*6be33864SEmmanuel Vadot        #address-cells = <1>;
69*6be33864SEmmanuel Vadot        #size-cells = <0>;
70*6be33864SEmmanuel Vadot
71*6be33864SEmmanuel Vadot        sl28cpld@4a {
72*6be33864SEmmanuel Vadot            compatible = "kontron,sl28cpld";
73*6be33864SEmmanuel Vadot            reg = <0x4a>;
74*6be33864SEmmanuel Vadot            #address-cells = <1>;
75*6be33864SEmmanuel Vadot            #size-cells = <0>;
76*6be33864SEmmanuel Vadot
77*6be33864SEmmanuel Vadot            watchdog@4 {
78*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-wdt";
79*6be33864SEmmanuel Vadot                reg = <0x4>;
80*6be33864SEmmanuel Vadot                kontron,assert-wdt-timeout-pin;
81*6be33864SEmmanuel Vadot            };
82*6be33864SEmmanuel Vadot
83*6be33864SEmmanuel Vadot            hwmon@b {
84*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-fan";
85*6be33864SEmmanuel Vadot                reg = <0xb>;
86*6be33864SEmmanuel Vadot            };
87*6be33864SEmmanuel Vadot
88*6be33864SEmmanuel Vadot            pwm@c {
89*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-pwm";
90*6be33864SEmmanuel Vadot                reg = <0xc>;
91*6be33864SEmmanuel Vadot                #pwm-cells = <2>;
92*6be33864SEmmanuel Vadot            };
93*6be33864SEmmanuel Vadot
94*6be33864SEmmanuel Vadot            pwm@e {
95*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-pwm";
96*6be33864SEmmanuel Vadot                reg = <0xe>;
97*6be33864SEmmanuel Vadot                #pwm-cells = <2>;
98*6be33864SEmmanuel Vadot            };
99*6be33864SEmmanuel Vadot
100*6be33864SEmmanuel Vadot            gpio@10 {
101*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-gpio";
102*6be33864SEmmanuel Vadot                reg = <0x10>;
103*6be33864SEmmanuel Vadot                interrupts-extended = <&gpio2 6
104*6be33864SEmmanuel Vadot                               IRQ_TYPE_EDGE_FALLING>;
105*6be33864SEmmanuel Vadot
106*6be33864SEmmanuel Vadot                gpio-controller;
107*6be33864SEmmanuel Vadot                #gpio-cells = <2>;
108*6be33864SEmmanuel Vadot                gpio-line-names = "a", "b", "c";
109*6be33864SEmmanuel Vadot
110*6be33864SEmmanuel Vadot                interrupt-controller;
111*6be33864SEmmanuel Vadot                #interrupt-cells = <2>;
112*6be33864SEmmanuel Vadot            };
113*6be33864SEmmanuel Vadot
114*6be33864SEmmanuel Vadot            gpio@15 {
115*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-gpio";
116*6be33864SEmmanuel Vadot                reg = <0x15>;
117*6be33864SEmmanuel Vadot                interrupts-extended = <&gpio2 6
118*6be33864SEmmanuel Vadot                               IRQ_TYPE_EDGE_FALLING>;
119*6be33864SEmmanuel Vadot
120*6be33864SEmmanuel Vadot                gpio-controller;
121*6be33864SEmmanuel Vadot                #gpio-cells = <2>;
122*6be33864SEmmanuel Vadot
123*6be33864SEmmanuel Vadot                interrupt-controller;
124*6be33864SEmmanuel Vadot                #interrupt-cells = <2>;
125*6be33864SEmmanuel Vadot            };
126*6be33864SEmmanuel Vadot
127*6be33864SEmmanuel Vadot            gpio@1a {
128*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-gpo";
129*6be33864SEmmanuel Vadot                reg = <0x1a>;
130*6be33864SEmmanuel Vadot
131*6be33864SEmmanuel Vadot                gpio-controller;
132*6be33864SEmmanuel Vadot                #gpio-cells = <2>;
133*6be33864SEmmanuel Vadot            };
134*6be33864SEmmanuel Vadot
135*6be33864SEmmanuel Vadot            gpio@1b {
136*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-gpi";
137*6be33864SEmmanuel Vadot                reg = <0x1b>;
138*6be33864SEmmanuel Vadot
139*6be33864SEmmanuel Vadot                gpio-controller;
140*6be33864SEmmanuel Vadot                #gpio-cells = <2>;
141*6be33864SEmmanuel Vadot            };
142*6be33864SEmmanuel Vadot
143*6be33864SEmmanuel Vadot            interrupt-controller@1c {
144*6be33864SEmmanuel Vadot                compatible = "kontron,sl28cpld-intc";
145*6be33864SEmmanuel Vadot                reg = <0x1c>;
146*6be33864SEmmanuel Vadot                interrupts-extended = <&gpio2 6
147*6be33864SEmmanuel Vadot                               IRQ_TYPE_EDGE_FALLING>;
148*6be33864SEmmanuel Vadot
149*6be33864SEmmanuel Vadot                interrupt-controller;
150*6be33864SEmmanuel Vadot                #interrupt-cells = <2>;
151*6be33864SEmmanuel Vadot            };
152*6be33864SEmmanuel Vadot        };
153*6be33864SEmmanuel Vadot    };
154