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# 6 7title: Kontron's sl28cpld board management controller 8 9maintainers: 10 - Michael Walle <michael@walle.cc> 11 12description: | 13 The board management controller may contain different IP blocks like 14 watchdog, fan monitoring, PWM controller, interrupt controller and a 15 GPIO controller. 16 17properties: 18 compatible: 19 const: kontron,sl28cpld 20 21 reg: 22 description: 23 I2C device address. 24 maxItems: 1 25 26 "#address-cells": 27 const: 1 28 29 "#size-cells": 30 const: 0 31 32 "#interrupt-cells": 33 const: 2 34 35 interrupts: 36 maxItems: 1 37 38 interrupt-controller: true 39 40patternProperties: 41 "^gpio(@[0-9a-f]+)?$": 42 $ref: /schemas/gpio/kontron,sl28cpld-gpio.yaml 43 44 "^hwmon(@[0-9a-f]+)?$": 45 $ref: /schemas/hwmon/kontron,sl28cpld-hwmon.yaml 46 47 "^interrupt-controller(@[0-9a-f]+)?$": 48 $ref: /schemas/interrupt-controller/kontron,sl28cpld-intc.yaml 49 50 "^pwm(@[0-9a-f]+)?$": 51 $ref: /schemas/pwm/kontron,sl28cpld-pwm.yaml 52 53 "^watchdog(@[0-9a-f]+)?$": 54 $ref: /schemas/watchdog/kontron,sl28cpld-wdt.yaml 55 56required: 57 - "#address-cells" 58 - "#size-cells" 59 - compatible 60 - reg 61 62additionalProperties: false 63 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 6 104 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 6 118 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 6 147 IRQ_TYPE_EDGE_FALLING>; 148 149 interrupt-controller; 150 #interrupt-cells = <2>; 151 }; 152 }; 153 }; 154