1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/embedded-controller/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 oneOf: 20 - items: 21 - enum: 22 - kontron,sa67mcu 23 - const: kontron,sl28cpld 24 - const: kontron,sl28cpld 25 26 reg: 27 description: 28 I2C device address. 29 maxItems: 1 30 31 "#address-cells": 32 const: 1 33 34 "#size-cells": 35 const: 0 36 37 "#interrupt-cells": 38 const: 2 39 40 interrupts: 41 maxItems: 1 42 43 interrupt-controller: true 44 45patternProperties: 46 "^gpio(@[0-9a-f]+)?$": 47 $ref: /schemas/gpio/kontron,sl28cpld-gpio.yaml 48 49 "^hwmon(@[0-9a-f]+)?$": 50 $ref: /schemas/hwmon/kontron,sl28cpld-hwmon.yaml 51 52 "^interrupt-controller(@[0-9a-f]+)?$": 53 $ref: /schemas/interrupt-controller/kontron,sl28cpld-intc.yaml 54 55 "^pwm(@[0-9a-f]+)?$": 56 $ref: /schemas/pwm/kontron,sl28cpld-pwm.yaml 57 58 "^watchdog(@[0-9a-f]+)?$": 59 $ref: /schemas/watchdog/kontron,sl28cpld-wdt.yaml 60 61required: 62 - "#address-cells" 63 - "#size-cells" 64 - compatible 65 - reg 66 67additionalProperties: false 68 69examples: 70 - | 71 #include <dt-bindings/interrupt-controller/irq.h> 72 i2c { 73 #address-cells = <1>; 74 #size-cells = <0>; 75 76 sl28cpld@4a { 77 compatible = "kontron,sl28cpld"; 78 reg = <0x4a>; 79 #address-cells = <1>; 80 #size-cells = <0>; 81 82 watchdog@4 { 83 compatible = "kontron,sl28cpld-wdt"; 84 reg = <0x4>; 85 kontron,assert-wdt-timeout-pin; 86 }; 87 88 hwmon@b { 89 compatible = "kontron,sl28cpld-fan"; 90 reg = <0xb>; 91 }; 92 93 pwm@c { 94 compatible = "kontron,sl28cpld-pwm"; 95 reg = <0xc>; 96 #pwm-cells = <2>; 97 }; 98 99 pwm@e { 100 compatible = "kontron,sl28cpld-pwm"; 101 reg = <0xe>; 102 #pwm-cells = <2>; 103 }; 104 105 gpio@10 { 106 compatible = "kontron,sl28cpld-gpio"; 107 reg = <0x10>; 108 interrupts-extended = <&gpio2 6 109 IRQ_TYPE_EDGE_FALLING>; 110 111 gpio-controller; 112 #gpio-cells = <2>; 113 gpio-line-names = "a", "b", "c"; 114 115 interrupt-controller; 116 #interrupt-cells = <2>; 117 }; 118 119 gpio@15 { 120 compatible = "kontron,sl28cpld-gpio"; 121 reg = <0x15>; 122 interrupts-extended = <&gpio2 6 123 IRQ_TYPE_EDGE_FALLING>; 124 125 gpio-controller; 126 #gpio-cells = <2>; 127 128 interrupt-controller; 129 #interrupt-cells = <2>; 130 }; 131 132 gpio@1a { 133 compatible = "kontron,sl28cpld-gpo"; 134 reg = <0x1a>; 135 136 gpio-controller; 137 #gpio-cells = <2>; 138 }; 139 140 gpio@1b { 141 compatible = "kontron,sl28cpld-gpi"; 142 reg = <0x1b>; 143 144 gpio-controller; 145 #gpio-cells = <2>; 146 }; 147 148 interrupt-controller@1c { 149 compatible = "kontron,sl28cpld-intc"; 150 reg = <0x1c>; 151 interrupts-extended = <&gpio2 6 152 IRQ_TYPE_EDGE_FALLING>; 153 154 interrupt-controller; 155 #interrupt-cells = <2>; 156 }; 157 }; 158 }; 159