blob: d3b79140cce2b87692985fe6e4f7d84564e5d98a [file] [log] [blame]
# 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 <robert.marko@sartura.hr>
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>;
};
};
};