xref: /linux/Documentation/devicetree/bindings/embedded-controller/kontron,sl28cpld.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
13d6a17fcSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23d6a17fcSKrzysztof Kozlowski%YAML 1.2
33d6a17fcSKrzysztof Kozlowski---
43d6a17fcSKrzysztof Kozlowski$id: http://devicetree.org/schemas/embedded-controller/kontron,sl28cpld.yaml#
53d6a17fcSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
63d6a17fcSKrzysztof Kozlowski
73d6a17fcSKrzysztof Kozlowskititle: Kontron's sl28cpld board management controller
83d6a17fcSKrzysztof Kozlowski
93d6a17fcSKrzysztof Kozlowskimaintainers:
103d6a17fcSKrzysztof Kozlowski  - Michael Walle <michael@walle.cc>
113d6a17fcSKrzysztof Kozlowski
123d6a17fcSKrzysztof Kozlowskidescription: |
133d6a17fcSKrzysztof Kozlowski  The board management controller may contain different IP blocks like
143d6a17fcSKrzysztof Kozlowski  watchdog, fan monitoring, PWM controller, interrupt controller and a
153d6a17fcSKrzysztof Kozlowski  GPIO controller.
163d6a17fcSKrzysztof Kozlowski
173d6a17fcSKrzysztof Kozlowskiproperties:
183d6a17fcSKrzysztof Kozlowski  compatible:
19*a598ae45SMichael Walle    oneOf:
20*a598ae45SMichael Walle      - items:
21*a598ae45SMichael Walle          - enum:
22*a598ae45SMichael Walle              - kontron,sa67mcu
23*a598ae45SMichael Walle          - const: kontron,sl28cpld
24*a598ae45SMichael Walle      - const: kontron,sl28cpld
253d6a17fcSKrzysztof Kozlowski
263d6a17fcSKrzysztof Kozlowski  reg:
273d6a17fcSKrzysztof Kozlowski    description:
283d6a17fcSKrzysztof Kozlowski      I2C device address.
293d6a17fcSKrzysztof Kozlowski    maxItems: 1
303d6a17fcSKrzysztof Kozlowski
313d6a17fcSKrzysztof Kozlowski  "#address-cells":
323d6a17fcSKrzysztof Kozlowski    const: 1
333d6a17fcSKrzysztof Kozlowski
343d6a17fcSKrzysztof Kozlowski  "#size-cells":
353d6a17fcSKrzysztof Kozlowski    const: 0
363d6a17fcSKrzysztof Kozlowski
373d6a17fcSKrzysztof Kozlowski  "#interrupt-cells":
383d6a17fcSKrzysztof Kozlowski    const: 2
393d6a17fcSKrzysztof Kozlowski
403d6a17fcSKrzysztof Kozlowski  interrupts:
413d6a17fcSKrzysztof Kozlowski    maxItems: 1
423d6a17fcSKrzysztof Kozlowski
433d6a17fcSKrzysztof Kozlowski  interrupt-controller: true
443d6a17fcSKrzysztof Kozlowski
453d6a17fcSKrzysztof KozlowskipatternProperties:
463d6a17fcSKrzysztof Kozlowski  "^gpio(@[0-9a-f]+)?$":
473d6a17fcSKrzysztof Kozlowski    $ref: /schemas/gpio/kontron,sl28cpld-gpio.yaml
483d6a17fcSKrzysztof Kozlowski
493d6a17fcSKrzysztof Kozlowski  "^hwmon(@[0-9a-f]+)?$":
503d6a17fcSKrzysztof Kozlowski    $ref: /schemas/hwmon/kontron,sl28cpld-hwmon.yaml
513d6a17fcSKrzysztof Kozlowski
523d6a17fcSKrzysztof Kozlowski  "^interrupt-controller(@[0-9a-f]+)?$":
533d6a17fcSKrzysztof Kozlowski    $ref: /schemas/interrupt-controller/kontron,sl28cpld-intc.yaml
543d6a17fcSKrzysztof Kozlowski
553d6a17fcSKrzysztof Kozlowski  "^pwm(@[0-9a-f]+)?$":
563d6a17fcSKrzysztof Kozlowski    $ref: /schemas/pwm/kontron,sl28cpld-pwm.yaml
573d6a17fcSKrzysztof Kozlowski
583d6a17fcSKrzysztof Kozlowski  "^watchdog(@[0-9a-f]+)?$":
593d6a17fcSKrzysztof Kozlowski    $ref: /schemas/watchdog/kontron,sl28cpld-wdt.yaml
603d6a17fcSKrzysztof Kozlowski
613d6a17fcSKrzysztof Kozlowskirequired:
623d6a17fcSKrzysztof Kozlowski  - "#address-cells"
633d6a17fcSKrzysztof Kozlowski  - "#size-cells"
643d6a17fcSKrzysztof Kozlowski  - compatible
653d6a17fcSKrzysztof Kozlowski  - reg
663d6a17fcSKrzysztof Kozlowski
673d6a17fcSKrzysztof KozlowskiadditionalProperties: false
683d6a17fcSKrzysztof Kozlowski
693d6a17fcSKrzysztof Kozlowskiexamples:
703d6a17fcSKrzysztof Kozlowski  - |
713d6a17fcSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
723d6a17fcSKrzysztof Kozlowski    i2c {
733d6a17fcSKrzysztof Kozlowski        #address-cells = <1>;
743d6a17fcSKrzysztof Kozlowski        #size-cells = <0>;
753d6a17fcSKrzysztof Kozlowski
763d6a17fcSKrzysztof Kozlowski        sl28cpld@4a {
773d6a17fcSKrzysztof Kozlowski            compatible = "kontron,sl28cpld";
783d6a17fcSKrzysztof Kozlowski            reg = <0x4a>;
793d6a17fcSKrzysztof Kozlowski            #address-cells = <1>;
803d6a17fcSKrzysztof Kozlowski            #size-cells = <0>;
813d6a17fcSKrzysztof Kozlowski
823d6a17fcSKrzysztof Kozlowski            watchdog@4 {
833d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-wdt";
843d6a17fcSKrzysztof Kozlowski                reg = <0x4>;
853d6a17fcSKrzysztof Kozlowski                kontron,assert-wdt-timeout-pin;
863d6a17fcSKrzysztof Kozlowski            };
873d6a17fcSKrzysztof Kozlowski
883d6a17fcSKrzysztof Kozlowski            hwmon@b {
893d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-fan";
903d6a17fcSKrzysztof Kozlowski                reg = <0xb>;
913d6a17fcSKrzysztof Kozlowski            };
923d6a17fcSKrzysztof Kozlowski
933d6a17fcSKrzysztof Kozlowski            pwm@c {
943d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-pwm";
953d6a17fcSKrzysztof Kozlowski                reg = <0xc>;
963d6a17fcSKrzysztof Kozlowski                #pwm-cells = <2>;
973d6a17fcSKrzysztof Kozlowski            };
983d6a17fcSKrzysztof Kozlowski
993d6a17fcSKrzysztof Kozlowski            pwm@e {
1003d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-pwm";
1013d6a17fcSKrzysztof Kozlowski                reg = <0xe>;
1023d6a17fcSKrzysztof Kozlowski                #pwm-cells = <2>;
1033d6a17fcSKrzysztof Kozlowski            };
1043d6a17fcSKrzysztof Kozlowski
1053d6a17fcSKrzysztof Kozlowski            gpio@10 {
1063d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-gpio";
1073d6a17fcSKrzysztof Kozlowski                reg = <0x10>;
1083d6a17fcSKrzysztof Kozlowski                interrupts-extended = <&gpio2 6
1093d6a17fcSKrzysztof Kozlowski                               IRQ_TYPE_EDGE_FALLING>;
1103d6a17fcSKrzysztof Kozlowski
1113d6a17fcSKrzysztof Kozlowski                gpio-controller;
1123d6a17fcSKrzysztof Kozlowski                #gpio-cells = <2>;
1133d6a17fcSKrzysztof Kozlowski                gpio-line-names = "a", "b", "c";
1143d6a17fcSKrzysztof Kozlowski
1153d6a17fcSKrzysztof Kozlowski                interrupt-controller;
1163d6a17fcSKrzysztof Kozlowski                #interrupt-cells = <2>;
1173d6a17fcSKrzysztof Kozlowski            };
1183d6a17fcSKrzysztof Kozlowski
1193d6a17fcSKrzysztof Kozlowski            gpio@15 {
1203d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-gpio";
1213d6a17fcSKrzysztof Kozlowski                reg = <0x15>;
1223d6a17fcSKrzysztof Kozlowski                interrupts-extended = <&gpio2 6
1233d6a17fcSKrzysztof Kozlowski                               IRQ_TYPE_EDGE_FALLING>;
1243d6a17fcSKrzysztof Kozlowski
1253d6a17fcSKrzysztof Kozlowski                gpio-controller;
1263d6a17fcSKrzysztof Kozlowski                #gpio-cells = <2>;
1273d6a17fcSKrzysztof Kozlowski
1283d6a17fcSKrzysztof Kozlowski                interrupt-controller;
1293d6a17fcSKrzysztof Kozlowski                #interrupt-cells = <2>;
1303d6a17fcSKrzysztof Kozlowski            };
1313d6a17fcSKrzysztof Kozlowski
1323d6a17fcSKrzysztof Kozlowski            gpio@1a {
1333d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-gpo";
1343d6a17fcSKrzysztof Kozlowski                reg = <0x1a>;
1353d6a17fcSKrzysztof Kozlowski
1363d6a17fcSKrzysztof Kozlowski                gpio-controller;
1373d6a17fcSKrzysztof Kozlowski                #gpio-cells = <2>;
1383d6a17fcSKrzysztof Kozlowski            };
1393d6a17fcSKrzysztof Kozlowski
1403d6a17fcSKrzysztof Kozlowski            gpio@1b {
1413d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-gpi";
1423d6a17fcSKrzysztof Kozlowski                reg = <0x1b>;
1433d6a17fcSKrzysztof Kozlowski
1443d6a17fcSKrzysztof Kozlowski                gpio-controller;
1453d6a17fcSKrzysztof Kozlowski                #gpio-cells = <2>;
1463d6a17fcSKrzysztof Kozlowski            };
1473d6a17fcSKrzysztof Kozlowski
1483d6a17fcSKrzysztof Kozlowski            interrupt-controller@1c {
1493d6a17fcSKrzysztof Kozlowski                compatible = "kontron,sl28cpld-intc";
1503d6a17fcSKrzysztof Kozlowski                reg = <0x1c>;
1513d6a17fcSKrzysztof Kozlowski                interrupts-extended = <&gpio2 6
1523d6a17fcSKrzysztof Kozlowski                               IRQ_TYPE_EDGE_FALLING>;
1533d6a17fcSKrzysztof Kozlowski
1543d6a17fcSKrzysztof Kozlowski                interrupt-controller;
1553d6a17fcSKrzysztof Kozlowski                #interrupt-cells = <2>;
1563d6a17fcSKrzysztof Kozlowski            };
1573d6a17fcSKrzysztof Kozlowski        };
1583d6a17fcSKrzysztof Kozlowski    };
159