# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/delta,tn48m-cpld.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Delta Networks TN48M CPLD controller maintainers: - Robert Marko description: | Lattice CPLD onboard the TN48M switches is used for system management. It provides information about the hardware model, revision, PSU status etc. It is also being used as a GPIO expander and reset controller for the switch MAC-s and other peripherals. properties: compatible: const: delta,tn48m-cpld reg: description: I2C device address. maxItems: 1 "#address-cells": const: 1 "#size-cells": const: 0 required: - compatible - reg - "#address-cells" - "#size-cells" patternProperties: "^gpio(@[0-9a-f]+)?$": $ref: /schemas/gpio/delta,tn48m-gpio.yaml "^reset-controller?$": $ref: /schemas/reset/delta,tn48m-reset.yaml additionalProperties: false examples: - | i2c { #address-cells = <1>; #size-cells = <0>; cpld@41 { compatible = "delta,tn48m-cpld"; reg = <0x41>; #address-cells = <1>; #size-cells = <0>; gpio@31 { compatible = "delta,tn48m-gpo"; reg = <0x31>; gpio-controller; #gpio-cells = <2>; }; gpio@3a { compatible = "delta,tn48m-gpi"; reg = <0x3a>; gpio-controller; #gpio-cells = <2>; }; gpio@40 { compatible = "delta,tn48m-gpi"; reg = <0x40>; gpio-controller; #gpio-cells = <2>; }; reset-controller { compatible = "delta,tn48m-reset"; #reset-cells = <1>; }; }; };