1 # SPDX-License-Identifier: GPL-2.0
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
53 - description: RX_THRESH interrupt
54 - description: RX interrupt
55 - description: TX interrupt
56 - description: MISC interrupt
68 $ref: /schemas/types.yaml#definitions/phandle
70 Phandle to the system control device node which provides access to
71 efuse IO range with MAC addresses
87 description: CPSW external ports
90 - $ref: ethernet-controller.yaml#
96 description: CPSW port number
99 $ref: /schemas/types.yaml#definitions/phandle-array
101 description: phandle on phy-gmii-sel PHY
104 $ref: /schemas/types.yaml#/definitions/string-array
106 description: label associated with this port
109 $ref: /schemas/types.yaml#/definitions/uint32
114 Specifies default PORT VID to be used to segregate
115 ports. Default value - CPSW port number.
124 - $ref: "ti,davinci-mdio.yaml#"
131 The Common Platform Time Sync (CPTS) module
136 description: CPTS reference clock
144 $ref: /schemas/types.yaml#/definitions/uint32
146 Numerator to convert input clock ticks into ns
149 $ref: /schemas/types.yaml#/definitions/uint32
151 Denominator to convert input clock ticks into ns.
152 Mult and shift will be calculated basing on CPTS rftclk frequency if
153 both cpts_clock_shift and cpts_clock_mult properties are not provided.
172 #include <dt-bindings/interrupt-controller/irq.h>
173 #include <dt-bindings/interrupt-controller/arm-gic.h>
174 #include <dt-bindings/clock/dra7.h>
177 compatible = "ti,dra7-cpsw-switch","ti,cpsw-switch";
179 ranges = <0 0 0x4000>;
180 clocks = <&gmac_main_clk>;
182 #address-cells = <1>;
184 syscon = <&scm_conf>;
185 inctrl-names = "default", "sleep";
187 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
191 interrupt-names = "rx_thresh", "rx", "tx", "misc";
194 #address-cells = <1>;
200 mac-address = [ 00 00 00 00 00 00 ];
201 phys = <&phy_gmii_sel 1>;
202 phy-handle = <ðphy0_sw>;
204 ti,dual_emac_pvid = <1>;
210 mac-address = [ 00 00 00 00 00 00 ];
211 phys = <&phy_gmii_sel 2>;
212 phy-handle = <ðphy1_sw>;
214 ti,dual_emac_pvid = <2>;
218 davinci_mdio_sw: mdio@1000 {
219 compatible = "ti,cpsw-mdio","ti,davinci_mdio";
220 reg = <0x1000 0x100>;
221 clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 0>;
223 #address-cells = <1>;
225 bus_freq = <1000000>;
227 ethphy0_sw: ethernet-phy@0 {
231 ethphy1_sw: ethernet-phy@1 {
237 clocks = <&gmac_clkctrl DRA7_GMAC_GMAC_CLKCTRL 25>;
238 clock-names = "cpts";