1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Kontron's sl28cpld board management controller 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Michael Walle <michael@walle.cc> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun The board management controller may contain different IP blocks like 14*4882a593Smuzhiyun watchdog, fan monitoring, PWM controller, interrupt controller and a 15*4882a593Smuzhiyun GPIO controller. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunproperties: 18*4882a593Smuzhiyun compatible: 19*4882a593Smuzhiyun const: kontron,sl28cpld 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun reg: 22*4882a593Smuzhiyun description: 23*4882a593Smuzhiyun I2C device address. 24*4882a593Smuzhiyun maxItems: 1 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun "#address-cells": 27*4882a593Smuzhiyun const: 1 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun "#size-cells": 30*4882a593Smuzhiyun const: 0 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun "#interrupt-cells": 33*4882a593Smuzhiyun const: 2 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun interrupts: 36*4882a593Smuzhiyun maxItems: 1 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun interrupt-controller: true 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunpatternProperties: 41*4882a593Smuzhiyun "^gpio(@[0-9a-f]+)?$": 42*4882a593Smuzhiyun $ref: ../gpio/kontron,sl28cpld-gpio.yaml 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun "^hwmon(@[0-9a-f]+)?$": 45*4882a593Smuzhiyun $ref: ../hwmon/kontron,sl28cpld-hwmon.yaml 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun "^interrupt-controller(@[0-9a-f]+)?$": 48*4882a593Smuzhiyun $ref: ../interrupt-controller/kontron,sl28cpld-intc.yaml 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun "^pwm(@[0-9a-f]+)?$": 51*4882a593Smuzhiyun $ref: ../pwm/kontron,sl28cpld-pwm.yaml 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun "^watchdog(@[0-9a-f]+)?$": 54*4882a593Smuzhiyun $ref: ../watchdog/kontron,sl28cpld-wdt.yaml 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunrequired: 57*4882a593Smuzhiyun - "#address-cells" 58*4882a593Smuzhiyun - "#size-cells" 59*4882a593Smuzhiyun - compatible 60*4882a593Smuzhiyun - reg 61*4882a593Smuzhiyun 62*4882a593SmuzhiyunadditionalProperties: false 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunexamples: 65*4882a593Smuzhiyun - | 66*4882a593Smuzhiyun #include <dt-bindings/interrupt-controller/irq.h> 67*4882a593Smuzhiyun i2c { 68*4882a593Smuzhiyun #address-cells = <1>; 69*4882a593Smuzhiyun #size-cells = <0>; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun sl28cpld@4a { 72*4882a593Smuzhiyun compatible = "kontron,sl28cpld"; 73*4882a593Smuzhiyun reg = <0x4a>; 74*4882a593Smuzhiyun #address-cells = <1>; 75*4882a593Smuzhiyun #size-cells = <0>; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun watchdog@4 { 78*4882a593Smuzhiyun compatible = "kontron,sl28cpld-wdt"; 79*4882a593Smuzhiyun reg = <0x4>; 80*4882a593Smuzhiyun kontron,assert-wdt-timeout-pin; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun hwmon@b { 84*4882a593Smuzhiyun compatible = "kontron,sl28cpld-fan"; 85*4882a593Smuzhiyun reg = <0xb>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun pwm@c { 89*4882a593Smuzhiyun compatible = "kontron,sl28cpld-pwm"; 90*4882a593Smuzhiyun reg = <0xc>; 91*4882a593Smuzhiyun #pwm-cells = <2>; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun pwm@e { 95*4882a593Smuzhiyun compatible = "kontron,sl28cpld-pwm"; 96*4882a593Smuzhiyun reg = <0xe>; 97*4882a593Smuzhiyun #pwm-cells = <2>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun gpio@10 { 101*4882a593Smuzhiyun compatible = "kontron,sl28cpld-gpio"; 102*4882a593Smuzhiyun reg = <0x10>; 103*4882a593Smuzhiyun interrupts-extended = <&gpio2 6 104*4882a593Smuzhiyun IRQ_TYPE_EDGE_FALLING>; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun gpio-controller; 107*4882a593Smuzhiyun #gpio-cells = <2>; 108*4882a593Smuzhiyun gpio-line-names = "a", "b", "c"; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun interrupt-controller; 111*4882a593Smuzhiyun #interrupt-cells = <2>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun gpio@15 { 115*4882a593Smuzhiyun compatible = "kontron,sl28cpld-gpio"; 116*4882a593Smuzhiyun reg = <0x15>; 117*4882a593Smuzhiyun interrupts-extended = <&gpio2 6 118*4882a593Smuzhiyun IRQ_TYPE_EDGE_FALLING>; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun gpio-controller; 121*4882a593Smuzhiyun #gpio-cells = <2>; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun interrupt-controller; 124*4882a593Smuzhiyun #interrupt-cells = <2>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun gpio@1a { 128*4882a593Smuzhiyun compatible = "kontron,sl28cpld-gpo"; 129*4882a593Smuzhiyun reg = <0x1a>; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun gpio-controller; 132*4882a593Smuzhiyun #gpio-cells = <2>; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun gpio@1b { 136*4882a593Smuzhiyun compatible = "kontron,sl28cpld-gpi"; 137*4882a593Smuzhiyun reg = <0x1b>; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun gpio-controller; 140*4882a593Smuzhiyun #gpio-cells = <2>; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun interrupt-controller@1c { 144*4882a593Smuzhiyun compatible = "kontron,sl28cpld-intc"; 145*4882a593Smuzhiyun reg = <0x1c>; 146*4882a593Smuzhiyun interrupts-extended = <&gpio2 6 147*4882a593Smuzhiyun IRQ_TYPE_EDGE_FALLING>; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun interrupt-controller; 150*4882a593Smuzhiyun #interrupt-cells = <2>; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun }; 154