xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/delta,tn48m-cpld.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/delta,tn48m-cpld.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: Delta Networks TN48M CPLD controller
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Robert Marko <robert.marko@sartura.hr>
11c9ccf3a3SEmmanuel Vadot
12c9ccf3a3SEmmanuel Vadotdescription: |
13c9ccf3a3SEmmanuel Vadot  Lattice CPLD onboard the TN48M switches is used for system
14c9ccf3a3SEmmanuel Vadot  management.
15c9ccf3a3SEmmanuel Vadot
16c9ccf3a3SEmmanuel Vadot  It provides information about the hardware model, revision,
17c9ccf3a3SEmmanuel Vadot  PSU status etc.
18c9ccf3a3SEmmanuel Vadot
19c9ccf3a3SEmmanuel Vadot  It is also being used as a GPIO expander and reset controller
20c9ccf3a3SEmmanuel Vadot  for the switch MAC-s and other peripherals.
21c9ccf3a3SEmmanuel Vadot
22c9ccf3a3SEmmanuel Vadotproperties:
23c9ccf3a3SEmmanuel Vadot  compatible:
24c9ccf3a3SEmmanuel Vadot    const: delta,tn48m-cpld
25c9ccf3a3SEmmanuel Vadot
26c9ccf3a3SEmmanuel Vadot  reg:
27c9ccf3a3SEmmanuel Vadot    description:
28c9ccf3a3SEmmanuel Vadot      I2C device address.
29c9ccf3a3SEmmanuel Vadot    maxItems: 1
30c9ccf3a3SEmmanuel Vadot
31c9ccf3a3SEmmanuel Vadot  "#address-cells":
32c9ccf3a3SEmmanuel Vadot    const: 1
33c9ccf3a3SEmmanuel Vadot
34c9ccf3a3SEmmanuel Vadot  "#size-cells":
35c9ccf3a3SEmmanuel Vadot    const: 0
36c9ccf3a3SEmmanuel Vadot
37c9ccf3a3SEmmanuel Vadotrequired:
38c9ccf3a3SEmmanuel Vadot  - compatible
39c9ccf3a3SEmmanuel Vadot  - reg
40c9ccf3a3SEmmanuel Vadot  - "#address-cells"
41c9ccf3a3SEmmanuel Vadot  - "#size-cells"
42c9ccf3a3SEmmanuel Vadot
43c9ccf3a3SEmmanuel VadotpatternProperties:
44c9ccf3a3SEmmanuel Vadot  "^gpio(@[0-9a-f]+)?$":
45*7d0873ebSEmmanuel Vadot    $ref: /schemas/gpio/delta,tn48m-gpio.yaml
46c9ccf3a3SEmmanuel Vadot
47c9ccf3a3SEmmanuel Vadot  "^reset-controller?$":
48*7d0873ebSEmmanuel Vadot    $ref: /schemas/reset/delta,tn48m-reset.yaml
49c9ccf3a3SEmmanuel Vadot
50c9ccf3a3SEmmanuel VadotadditionalProperties: false
51c9ccf3a3SEmmanuel Vadot
52c9ccf3a3SEmmanuel Vadotexamples:
53c9ccf3a3SEmmanuel Vadot  - |
54c9ccf3a3SEmmanuel Vadot    i2c {
55c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
56c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
57c9ccf3a3SEmmanuel Vadot
58c9ccf3a3SEmmanuel Vadot        cpld@41 {
59c9ccf3a3SEmmanuel Vadot            compatible = "delta,tn48m-cpld";
60c9ccf3a3SEmmanuel Vadot            reg = <0x41>;
61c9ccf3a3SEmmanuel Vadot            #address-cells = <1>;
62c9ccf3a3SEmmanuel Vadot            #size-cells = <0>;
63c9ccf3a3SEmmanuel Vadot
64c9ccf3a3SEmmanuel Vadot            gpio@31 {
65c9ccf3a3SEmmanuel Vadot                compatible = "delta,tn48m-gpo";
66c9ccf3a3SEmmanuel Vadot                reg = <0x31>;
67c9ccf3a3SEmmanuel Vadot                gpio-controller;
68c9ccf3a3SEmmanuel Vadot                #gpio-cells = <2>;
69c9ccf3a3SEmmanuel Vadot            };
70c9ccf3a3SEmmanuel Vadot
71c9ccf3a3SEmmanuel Vadot            gpio@3a {
72c9ccf3a3SEmmanuel Vadot                compatible = "delta,tn48m-gpi";
73c9ccf3a3SEmmanuel Vadot                reg = <0x3a>;
74c9ccf3a3SEmmanuel Vadot                gpio-controller;
75c9ccf3a3SEmmanuel Vadot                #gpio-cells = <2>;
76c9ccf3a3SEmmanuel Vadot            };
77c9ccf3a3SEmmanuel Vadot
78c9ccf3a3SEmmanuel Vadot            gpio@40 {
79c9ccf3a3SEmmanuel Vadot                compatible = "delta,tn48m-gpi";
80c9ccf3a3SEmmanuel Vadot                reg = <0x40>;
81c9ccf3a3SEmmanuel Vadot                gpio-controller;
82c9ccf3a3SEmmanuel Vadot                #gpio-cells = <2>;
83c9ccf3a3SEmmanuel Vadot            };
84c9ccf3a3SEmmanuel Vadot
85c9ccf3a3SEmmanuel Vadot            reset-controller {
86c9ccf3a3SEmmanuel Vadot              compatible = "delta,tn48m-reset";
87c9ccf3a3SEmmanuel Vadot              #reset-cells = <1>;
88c9ccf3a3SEmmanuel Vadot            };
89c9ccf3a3SEmmanuel Vadot        };
90c9ccf3a3SEmmanuel Vadot    };
91