0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/delta,tn48m-cpld.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Delta Networks TN48M CPLD controller
0008
0009 maintainers:
0010 - Robert Marko <robert.marko@sartura.hr>
0011
0012 description: |
0013 Lattice CPLD onboard the TN48M switches is used for system
0014 management.
0015
0016 It provides information about the hardware model, revision,
0017 PSU status etc.
0018
0019 It is also being used as a GPIO expander and reset controller
0020 for the switch MAC-s and other peripherals.
0021
0022 properties:
0023 compatible:
0024 const: delta,tn48m-cpld
0025
0026 reg:
0027 description:
0028 I2C device address.
0029 maxItems: 1
0030
0031 "#address-cells":
0032 const: 1
0033
0034 "#size-cells":
0035 const: 0
0036
0037 required:
0038 - compatible
0039 - reg
0040 - "#address-cells"
0041 - "#size-cells"
0042
0043 patternProperties:
0044 "^gpio(@[0-9a-f]+)?$":
0045 $ref: ../gpio/delta,tn48m-gpio.yaml
0046
0047 "^reset-controller?$":
0048 $ref: ../reset/delta,tn48m-reset.yaml
0049
0050 additionalProperties: false
0051
0052 examples:
0053 - |
0054 i2c {
0055 #address-cells = <1>;
0056 #size-cells = <0>;
0057
0058 cpld@41 {
0059 compatible = "delta,tn48m-cpld";
0060 reg = <0x41>;
0061 #address-cells = <1>;
0062 #size-cells = <0>;
0063
0064 gpio@31 {
0065 compatible = "delta,tn48m-gpo";
0066 reg = <0x31>;
0067 gpio-controller;
0068 #gpio-cells = <2>;
0069 };
0070
0071 gpio@3a {
0072 compatible = "delta,tn48m-gpi";
0073 reg = <0x3a>;
0074 gpio-controller;
0075 #gpio-cells = <2>;
0076 };
0077
0078 gpio@40 {
0079 compatible = "delta,tn48m-gpi";
0080 reg = <0x40>;
0081 gpio-controller;
0082 #gpio-cells = <2>;
0083 };
0084
0085 reset-controller {
0086 compatible = "delta,tn48m-reset";
0087 #reset-cells = <1>;
0088 };
0089 };
0090 };