| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Kontron's sl28cpld board management controller
- maintainers:
- - Michael Walle <michael@walle.cc>
- description: |
- The board management controller may contain different IP blocks like
- watchdog, fan monitoring, PWM controller, interrupt controller and a
- GPIO controller.
- properties:
- compatible:
- const: kontron,sl28cpld
- reg:
- description:
- I2C device address.
- maxItems: 1
- "#address-cells":
- const: 1
- "#size-cells":
- const: 0
- "#interrupt-cells":
- const: 2
- interrupts:
- maxItems: 1
- interrupt-controller: true
- patternProperties:
- "^gpio(@[0-9a-f]+)?$":
- $ref: /schemas/gpio/kontron,sl28cpld-gpio.yaml
- "^hwmon(@[0-9a-f]+)?$":
- $ref: /schemas/hwmon/kontron,sl28cpld-hwmon.yaml
- "^interrupt-controller(@[0-9a-f]+)?$":
- $ref: /schemas/interrupt-controller/kontron,sl28cpld-intc.yaml
- "^pwm(@[0-9a-f]+)?$":
- $ref: /schemas/pwm/kontron,sl28cpld-pwm.yaml
- "^watchdog(@[0-9a-f]+)?$":
- $ref: /schemas/watchdog/kontron,sl28cpld-wdt.yaml
- required:
- - "#address-cells"
- - "#size-cells"
- - compatible
- - reg
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/interrupt-controller/irq.h>
- i2c {
- #address-cells = <1>;
- #size-cells = <0>;
- sl28cpld@4a {
- compatible = "kontron,sl28cpld";
- reg = <0x4a>;
- #address-cells = <1>;
- #size-cells = <0>;
- watchdog@4 {
- compatible = "kontron,sl28cpld-wdt";
- reg = <0x4>;
- kontron,assert-wdt-timeout-pin;
- };
- hwmon@b {
- compatible = "kontron,sl28cpld-fan";
- reg = <0xb>;
- };
- pwm@c {
- compatible = "kontron,sl28cpld-pwm";
- reg = <0xc>;
- #pwm-cells = <2>;
- };
- pwm@e {
- compatible = "kontron,sl28cpld-pwm";
- reg = <0xe>;
- #pwm-cells = <2>;
- };
- gpio@10 {
- compatible = "kontron,sl28cpld-gpio";
- reg = <0x10>;
- interrupts-extended = <&gpio2 6
- IRQ_TYPE_EDGE_FALLING>;
- gpio-controller;
- #gpio-cells = <2>;
- gpio-line-names = "a", "b", "c";
- interrupt-controller;
- #interrupt-cells = <2>;
- };
- gpio@15 {
- compatible = "kontron,sl28cpld-gpio";
- reg = <0x15>;
- interrupts-extended = <&gpio2 6
- IRQ_TYPE_EDGE_FALLING>;
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- };
- gpio@1a {
- compatible = "kontron,sl28cpld-gpo";
- reg = <0x1a>;
- gpio-controller;
- #gpio-cells = <2>;
- };
- gpio@1b {
- compatible = "kontron,sl28cpld-gpi";
- reg = <0x1b>;
- gpio-controller;
- #gpio-cells = <2>;
- };
- interrupt-controller@1c {
- compatible = "kontron,sl28cpld-intc";
- reg = <0x1c>;
- interrupts-extended = <&gpio2 6
- IRQ_TYPE_EDGE_FALLING>;
- interrupt-controller;
- #interrupt-cells = <2>;
- };
- };
- };
|