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