1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
4 $id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Ocelot Externally-Controlled Ethernet Switch
10 - Colin Foster <colin.foster@in-advantage.com>
13 The Ocelot ethernet switch family contains chips that have an internal CPU
14 (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches have
15 the option to be controlled externally, which is the purpose of this driver.
17 The switch family is a multi-port networking switch that supports many
18 interfaces. Additionally, the device can perform pin control, MDIO buses, and
19 external GPIO expanders.
39 "^pinctrl@[0-9a-f]+$":
41 $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml
45 $ref: /schemas/pinctrl/microchip,sparx5-sgpio.yaml
53 $ref: /schemas/net/mscc,miim.yaml
66 additionalProperties: false
70 ocelot_clock: ocelot-clock {
71 compatible = "fixed-clock";
73 clock-frequency = <125000000>;
81 compatible = "mscc,vsc7512";
82 spi-max-frequency = <2500000>;
88 compatible = "mscc,ocelot-miim";
91 reg = <0x7107009c 0x24>;
93 sw_phy0: ethernet-phy@0 {
99 compatible = "mscc,ocelot-miim";
100 pinctrl-names = "default";
101 pinctrl-0 = <&miim1_pins>;
102 #address-cells = <1>;
104 reg = <0x710700c0 0x24>;
106 sw_phy4: ethernet-phy@4 {
111 gpio: pinctrl@71070034 {
112 compatible = "mscc,ocelot-pinctrl";
115 gpio-ranges = <&gpio 0 0 22>;
116 reg = <0x71070034 0x6c>;
118 sgpio_pins: sgpio-pins {
119 pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
123 miim1_pins: miim1-pins {
124 pins = "GPIO_14", "GPIO_15";
130 compatible = "mscc,ocelot-sgpio";
131 #address-cells = <1>;
133 bus-frequency = <12500000>;
134 clocks = <&ocelot_clock>;
135 microchip,sgpio-port-ranges = <0 15>;
136 pinctrl-names = "default";
137 pinctrl-0 = <&sgpio_pins>;
138 reg = <0x710700f8 0x100>;
141 compatible = "microchip,sparx5-sgpio-bank";
149 compatible = "microchip,sparx5-sgpio-bank";