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