154 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Kontron's sl28cpld board management controller8 9maintainers:10 - Michael Walle <michael@walle.cc>11 12description: |13 The board management controller may contain different IP blocks like14 watchdog, fan monitoring, PWM controller, interrupt controller and a15 GPIO controller.16 17properties:18 compatible:19 const: kontron,sl28cpld20 21 reg:22 description:23 I2C device address.24 maxItems: 125 26 "#address-cells":27 const: 128 29 "#size-cells":30 const: 031 32 "#interrupt-cells":33 const: 234 35 interrupts:36 maxItems: 137 38 interrupt-controller: true39 40patternProperties:41 "^gpio(@[0-9a-f]+)?$":42 $ref: /schemas/gpio/kontron,sl28cpld-gpio.yaml43 44 "^hwmon(@[0-9a-f]+)?$":45 $ref: /schemas/hwmon/kontron,sl28cpld-hwmon.yaml46 47 "^interrupt-controller(@[0-9a-f]+)?$":48 $ref: /schemas/interrupt-controller/kontron,sl28cpld-intc.yaml49 50 "^pwm(@[0-9a-f]+)?$":51 $ref: /schemas/pwm/kontron,sl28cpld-pwm.yaml52 53 "^watchdog(@[0-9a-f]+)?$":54 $ref: /schemas/watchdog/kontron,sl28cpld-wdt.yaml55 56required:57 - "#address-cells"58 - "#size-cells"59 - compatible60 - reg61 62additionalProperties: false63 64examples:65 - |66 #include <dt-bindings/interrupt-controller/irq.h>67 i2c {68 #address-cells = <1>;69 #size-cells = <0>;70 71 sl28cpld@4a {72 compatible = "kontron,sl28cpld";73 reg = <0x4a>;74 #address-cells = <1>;75 #size-cells = <0>;76 77 watchdog@4 {78 compatible = "kontron,sl28cpld-wdt";79 reg = <0x4>;80 kontron,assert-wdt-timeout-pin;81 };82 83 hwmon@b {84 compatible = "kontron,sl28cpld-fan";85 reg = <0xb>;86 };87 88 pwm@c {89 compatible = "kontron,sl28cpld-pwm";90 reg = <0xc>;91 #pwm-cells = <2>;92 };93 94 pwm@e {95 compatible = "kontron,sl28cpld-pwm";96 reg = <0xe>;97 #pwm-cells = <2>;98 };99 100 gpio@10 {101 compatible = "kontron,sl28cpld-gpio";102 reg = <0x10>;103 interrupts-extended = <&gpio2 6104 IRQ_TYPE_EDGE_FALLING>;105 106 gpio-controller;107 #gpio-cells = <2>;108 gpio-line-names = "a", "b", "c";109 110 interrupt-controller;111 #interrupt-cells = <2>;112 };113 114 gpio@15 {115 compatible = "kontron,sl28cpld-gpio";116 reg = <0x15>;117 interrupts-extended = <&gpio2 6118 IRQ_TYPE_EDGE_FALLING>;119 120 gpio-controller;121 #gpio-cells = <2>;122 123 interrupt-controller;124 #interrupt-cells = <2>;125 };126 127 gpio@1a {128 compatible = "kontron,sl28cpld-gpo";129 reg = <0x1a>;130 131 gpio-controller;132 #gpio-cells = <2>;133 };134 135 gpio@1b {136 compatible = "kontron,sl28cpld-gpi";137 reg = <0x1b>;138 139 gpio-controller;140 #gpio-cells = <2>;141 };142 143 interrupt-controller@1c {144 compatible = "kontron,sl28cpld-intc";145 reg = <0x1c>;146 interrupts-extended = <&gpio2 6147 IRQ_TYPE_EDGE_FALLING>;148 149 interrupt-controller;150 #interrupt-cells = <2>;151 };152 };153 };154