1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: TI SoC Ethernet Switch Controller (CPSW) Device Tree Bindings
10 - Grygorii Strashko <grygorii.strashko@ti.com>
11 - Sekhar Nori <nsekhar@ti.com>
14 The 3-port switch gigabit ethernet subsystem provides ethernet packet
15 communication and can be configured as an ethernet switch. It provides the
16 gigabit media independent interface (GMII),reduced gigabit media
17 independent interface (RGMII), reduced media independent interface (RMII),
18 the management data input output (MDIO) for physical layer device (PHY)
24 - const: ti,cpsw-switch
26 - const: ti,am335x-cpsw-switch
27 - const: ti,cpsw-switch
29 - const: ti,am4372-cpsw-switch
30 - const: ti,cpsw-switch
32 - const: ti,dra7-cpsw-switch
33 - const: ti,cpsw-switch
38 The physical base address and size of full the CPSW module IO range
44 description: CPSW functional clock
52 - description: RX_THRESH interrupt
53 - description: RX interrupt
54 - description: TX interrupt
55 - description: MISC interrupt
67 $ref: /schemas/types.yaml#definitions/phandle
69 Phandle to the system control device node which provides access to
70 efuse IO range with MAC addresses
83 description: CPSW external ports
86 - $ref: ethernet-controller.yaml#
92 description: CPSW port number
96 description: phandle on phy-gmii-sel PHY
99 description: label associated with this port
103 - $ref: /schemas/types.yaml#/definitions/uint32
107 Specifies default PORT VID to be used to segregate
108 ports. Default value - CPSW port number.
117 - $ref: "ti,davinci-mdio.yaml#"
124 The Common Platform Time Sync (CPTS) module
129 description: CPTS reference clock
136 $ref: /schemas/types.yaml#/definitions/uint32
138 Numerator to convert input clock ticks into ns
141 $ref: /schemas/types.yaml#/definitions/uint32
143 Denominator to convert input clock ticks into ns.
144 Mult and shift will be calculated basing on CPTS rftclk frequency if
145 both cpts_clock_shift and cpts_clock_mult properties are not provided.
164 #include <dt-bindings/interrupt-controller/irq.h>
165 #include <dt-bindings/interrupt-controller/arm-gic.h>
166 #include <dt-bindings/clock/dra7.h>
169 compatible = "ti,dra7-cpsw-switch","ti,cpsw-switch";
171 ranges = <0 0 0x4000>;
172 clocks = <&gmac_main_clk>;
174 #address-cells = <1>;
176 syscon = <&scm_conf>;
177 inctrl-names = "default", "sleep";
179 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
183 interrupt-names = "rx_thresh", "rx", "tx", "misc";
186 #address-cells = <1>;
192 mac-address = [ 00 00 00 00 00 00 ];
193 phys = <&phy_gmii_sel 1>;
194 phy-handle = <ðphy0_sw>;
196 ti,dual-emac-pvid = <1>;
202 mac-address = [ 00 00 00 00 00 00 ];
203 phys = <&phy_gmii_sel 2>;
204 phy-handle = <ðphy1_sw>;
206 ti,dual-emac-pvid = <2>;
210 davinci_mdio_sw: mdio@1000 {
211 compatible = "ti,cpsw-mdio","ti,davinci_mdio";
212 reg = <0x1000 0x100>;
213 clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 0>;
215 #address-cells = <1>;
217 bus_freq = <1000000>;
219 ethphy0_sw: ethernet-phy@0 {
223 ethphy1_sw: ethernet-phy@1 {
229 clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 25>;
230 clock-names = "cpts";