1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*0e8011faSEmmanuel Vadot%YAML 1.2 3*0e8011faSEmmanuel Vadot--- 4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/net/dsa/vitesse,vsc73xx.yaml# 5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadottitle: Vitesse VSC73xx DSA Switches 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadotmaintainers: 10*0e8011faSEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadotdescription: 13*0e8011faSEmmanuel Vadot The Vitesse DSA Switches were produced in the early-to-mid 2000s. 14*0e8011faSEmmanuel Vadot 15*0e8011faSEmmanuel Vadot The Vitesse company has been acquired by Microsemi and Microsemi has 16*0e8011faSEmmanuel Vadot been acquired Microchip but the new owner retains this vendor branding. 17*0e8011faSEmmanuel Vadot 18*0e8011faSEmmanuel Vadot The currently supported switch chips are 19*0e8011faSEmmanuel Vadot Vitesse VSC7385 SparX-G5 5+1-port Integrated Gigabit Ethernet Switch 20*0e8011faSEmmanuel Vadot Vitesse VSC7388 SparX-G8 8-port Integrated Gigabit Ethernet Switch 21*0e8011faSEmmanuel Vadot Vitesse VSC7395 SparX-G5e 5+1-port Integrated Gigabit Ethernet Switch 22*0e8011faSEmmanuel Vadot Vitesse VSC7398 SparX-G8e 8-port Integrated Gigabit Ethernet Switch 23*0e8011faSEmmanuel Vadot 24*0e8011faSEmmanuel Vadot This switch can use one of two different management interfaces. 25*0e8011faSEmmanuel Vadot 26*0e8011faSEmmanuel Vadot If SPI interface is used, the device tree node is an SPI device so it must 27*0e8011faSEmmanuel Vadot reside inside a SPI bus device tree node, see spi/spi-bus.txt 28*0e8011faSEmmanuel Vadot 29*0e8011faSEmmanuel Vadot When the chip is connected to a parallel memory bus and work in memory-mapped 30*0e8011faSEmmanuel Vadot I/O mode, a platform device is used to represent the vsc73xx. In this case it 31*0e8011faSEmmanuel Vadot must reside inside a platform bus device tree node. 32*0e8011faSEmmanuel Vadot 33*0e8011faSEmmanuel Vadotproperties: 34*0e8011faSEmmanuel Vadot compatible: 35*0e8011faSEmmanuel Vadot enum: 36*0e8011faSEmmanuel Vadot - vitesse,vsc7385 37*0e8011faSEmmanuel Vadot - vitesse,vsc7388 38*0e8011faSEmmanuel Vadot - vitesse,vsc7395 39*0e8011faSEmmanuel Vadot - vitesse,vsc7398 40*0e8011faSEmmanuel Vadot 41*0e8011faSEmmanuel Vadot reg: 42*0e8011faSEmmanuel Vadot maxItems: 1 43*0e8011faSEmmanuel Vadot 44*0e8011faSEmmanuel Vadot gpio-controller: true 45*0e8011faSEmmanuel Vadot "#gpio-cells": 46*0e8011faSEmmanuel Vadot const: 2 47*0e8011faSEmmanuel Vadot 48*0e8011faSEmmanuel Vadot reset-gpios: 49*0e8011faSEmmanuel Vadot description: GPIO to be used to reset the whole device 50*0e8011faSEmmanuel Vadot maxItems: 1 51*0e8011faSEmmanuel Vadot 52*0e8011faSEmmanuel VadotallOf: 53*0e8011faSEmmanuel Vadot - $ref: dsa.yaml#/$defs/ethernet-ports 54*0e8011faSEmmanuel Vadot 55*0e8011faSEmmanuel Vadot# This checks if reg is a chipselect so the device is on an SPI 56*0e8011faSEmmanuel Vadot# bus, the if-clause will fail if reg is a tuple such as for a 57*0e8011faSEmmanuel Vadot# platform device. 58*0e8011faSEmmanuel Vadotif: 59*0e8011faSEmmanuel Vadot properties: 60*0e8011faSEmmanuel Vadot reg: 61*0e8011faSEmmanuel Vadot minimum: 0 62*0e8011faSEmmanuel Vadot maximum: 256 63*0e8011faSEmmanuel Vadotthen: 64*0e8011faSEmmanuel Vadot $ref: /schemas/spi/spi-peripheral-props.yaml# 65*0e8011faSEmmanuel Vadot 66*0e8011faSEmmanuel Vadotrequired: 67*0e8011faSEmmanuel Vadot - compatible 68*0e8011faSEmmanuel Vadot - reg 69*0e8011faSEmmanuel Vadot 70*0e8011faSEmmanuel VadotunevaluatedProperties: false 71*0e8011faSEmmanuel Vadot 72*0e8011faSEmmanuel Vadotexamples: 73*0e8011faSEmmanuel Vadot - | 74*0e8011faSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 75*0e8011faSEmmanuel Vadot 76*0e8011faSEmmanuel Vadot spi { 77*0e8011faSEmmanuel Vadot #address-cells = <1>; 78*0e8011faSEmmanuel Vadot #size-cells = <0>; 79*0e8011faSEmmanuel Vadot 80*0e8011faSEmmanuel Vadot ethernet-switch@0 { 81*0e8011faSEmmanuel Vadot compatible = "vitesse,vsc7395"; 82*0e8011faSEmmanuel Vadot reg = <0>; 83*0e8011faSEmmanuel Vadot spi-max-frequency = <2500000>; 84*0e8011faSEmmanuel Vadot gpio-controller; 85*0e8011faSEmmanuel Vadot #gpio-cells = <2>; 86*0e8011faSEmmanuel Vadot 87*0e8011faSEmmanuel Vadot ethernet-ports { 88*0e8011faSEmmanuel Vadot #address-cells = <1>; 89*0e8011faSEmmanuel Vadot #size-cells = <0>; 90*0e8011faSEmmanuel Vadot 91*0e8011faSEmmanuel Vadot ethernet-port@0 { 92*0e8011faSEmmanuel Vadot reg = <0>; 93*0e8011faSEmmanuel Vadot label = "lan1"; 94*0e8011faSEmmanuel Vadot }; 95*0e8011faSEmmanuel Vadot ethernet-port@1 { 96*0e8011faSEmmanuel Vadot reg = <1>; 97*0e8011faSEmmanuel Vadot label = "lan2"; 98*0e8011faSEmmanuel Vadot }; 99*0e8011faSEmmanuel Vadot ethernet-port@2 { 100*0e8011faSEmmanuel Vadot reg = <2>; 101*0e8011faSEmmanuel Vadot label = "lan3"; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot ethernet-port@3 { 104*0e8011faSEmmanuel Vadot reg = <3>; 105*0e8011faSEmmanuel Vadot label = "lan4"; 106*0e8011faSEmmanuel Vadot }; 107*0e8011faSEmmanuel Vadot ethernet-port@6 { 108*0e8011faSEmmanuel Vadot reg = <6>; 109*0e8011faSEmmanuel Vadot ethernet = <&gmac1>; 110*0e8011faSEmmanuel Vadot phy-mode = "rgmii"; 111*0e8011faSEmmanuel Vadot fixed-link { 112*0e8011faSEmmanuel Vadot speed = <1000>; 113*0e8011faSEmmanuel Vadot full-duplex; 114*0e8011faSEmmanuel Vadot pause; 115*0e8011faSEmmanuel Vadot }; 116*0e8011faSEmmanuel Vadot }; 117*0e8011faSEmmanuel Vadot }; 118*0e8011faSEmmanuel Vadot }; 119*0e8011faSEmmanuel Vadot }; 120*0e8011faSEmmanuel Vadot 121*0e8011faSEmmanuel Vadot bus { 122*0e8011faSEmmanuel Vadot #address-cells = <1>; 123*0e8011faSEmmanuel Vadot #size-cells = <1>; 124*0e8011faSEmmanuel Vadot 125*0e8011faSEmmanuel Vadot ethernet-switch@10000000 { 126*0e8011faSEmmanuel Vadot compatible = "vitesse,vsc7385"; 127*0e8011faSEmmanuel Vadot reg = <0x10000000 0x20000>; 128*0e8011faSEmmanuel Vadot reset-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; 129*0e8011faSEmmanuel Vadot 130*0e8011faSEmmanuel Vadot ethernet-ports { 131*0e8011faSEmmanuel Vadot #address-cells = <1>; 132*0e8011faSEmmanuel Vadot #size-cells = <0>; 133*0e8011faSEmmanuel Vadot 134*0e8011faSEmmanuel Vadot ethernet-port@0 { 135*0e8011faSEmmanuel Vadot reg = <0>; 136*0e8011faSEmmanuel Vadot label = "lan1"; 137*0e8011faSEmmanuel Vadot }; 138*0e8011faSEmmanuel Vadot ethernet-port@1 { 139*0e8011faSEmmanuel Vadot reg = <1>; 140*0e8011faSEmmanuel Vadot label = "lan2"; 141*0e8011faSEmmanuel Vadot }; 142*0e8011faSEmmanuel Vadot ethernet-port@2 { 143*0e8011faSEmmanuel Vadot reg = <2>; 144*0e8011faSEmmanuel Vadot label = "lan3"; 145*0e8011faSEmmanuel Vadot }; 146*0e8011faSEmmanuel Vadot ethernet-port@3 { 147*0e8011faSEmmanuel Vadot reg = <3>; 148*0e8011faSEmmanuel Vadot label = "lan4"; 149*0e8011faSEmmanuel Vadot }; 150*0e8011faSEmmanuel Vadot ethernet-port@6 { 151*0e8011faSEmmanuel Vadot reg = <6>; 152*0e8011faSEmmanuel Vadot ethernet = <&enet0>; 153*0e8011faSEmmanuel Vadot phy-mode = "rgmii"; 154*0e8011faSEmmanuel Vadot fixed-link { 155*0e8011faSEmmanuel Vadot speed = <1000>; 156*0e8011faSEmmanuel Vadot full-duplex; 157*0e8011faSEmmanuel Vadot pause; 158*0e8011faSEmmanuel Vadot }; 159*0e8011faSEmmanuel Vadot }; 160*0e8011faSEmmanuel Vadot }; 161*0e8011faSEmmanuel Vadot }; 162*0e8011faSEmmanuel Vadot }; 163