xref: /linux/Documentation/devicetree/bindings/net/cpsw.txt (revision e8f08ee0ad86012a2e9ac3a6cc318b058dd4d47c)
12eb32b0aSMugunthan V NTI SoC Ethernet Switch Controller Device Tree Bindings
22eb32b0aSMugunthan V N------------------------------------------------------
32eb32b0aSMugunthan V N
42eb32b0aSMugunthan V NRequired properties:
52eb32b0aSMugunthan V N- compatible		: Should be "ti,cpsw"
62eb32b0aSMugunthan V N- reg			: physical base address and size of the cpsw
72eb32b0aSMugunthan V N			  registers map
82eb32b0aSMugunthan V N- interrupts		: property with a value describing the interrupt
92eb32b0aSMugunthan V N			  number
102eb32b0aSMugunthan V N- interrupt-parent	: The parent interrupt controller
112eb32b0aSMugunthan V N- cpdma_channels 	: Specifies number of channels in CPDMA
122eb32b0aSMugunthan V N- ale_entries		: Specifies No of entries ALE can hold
132eb32b0aSMugunthan V N- bd_ram_size		: Specifies internal descriptor RAM size
142eb32b0aSMugunthan V N- rx_descs		: Specifies number of Rx descriptors
152eb32b0aSMugunthan V N- mac_control		: Specifies Default MAC control register content
162eb32b0aSMugunthan V N			  for the specific platform
172eb32b0aSMugunthan V N- slaves		: Specifies number for slaves
18e86ac13bSMugunthan V N- active_slave		: Specifies the slave to use for time stamping,
19e86ac13bSMugunthan V N			  ethtool and SIOCGMIIPHY
2000ab94eeSRichard Cochran- cpts_clock_mult	: Numerator to convert input clock ticks into nanoseconds
2100ab94eeSRichard Cochran- cpts_clock_shift	: Denominator to convert input clock ticks into nanoseconds
222eb32b0aSMugunthan V N
232eb32b0aSMugunthan V NOptional properties:
242eb32b0aSMugunthan V N- ti,hwmods		: Must be "cpgmac0"
252eb32b0aSMugunthan V N- no_bd_ram		: Must be 0 or 1
26d9ba8f9eSMugunthan V N- dual_emac		: Specifies Switch to act as Dual EMAC
27470d1474SMugunthan V N
28470d1474SMugunthan V NSlave Properties:
29470d1474SMugunthan V NRequired properties:
30470d1474SMugunthan V N- phy_id		: Specifies slave phy id
31*e8f08ee0SSergei Shtylyov- phy-mode		: See ethernet.txt file in the same directory
32*e8f08ee0SSergei Shtylyov- mac-address		: See ethernet.txt file in the same directory
33470d1474SMugunthan V N
34470d1474SMugunthan V NOptional properties:
35d9ba8f9eSMugunthan V N- dual_emac_res_vlan	: Specifies VID to be used to segregate the ports
362eb32b0aSMugunthan V N
372eb32b0aSMugunthan V NNote: "ti,hwmods" field is used to fetch the base address and irq
382eb32b0aSMugunthan V Nresources from TI, omap hwmod data base during device registration.
392eb32b0aSMugunthan V NFuture plan is to migrate hwmod data base contents into device tree
402eb32b0aSMugunthan V Nblob so that, all the required data will be used from device tree dts
412eb32b0aSMugunthan V Nfile.
422eb32b0aSMugunthan V N
432eb32b0aSMugunthan V NExamples:
442eb32b0aSMugunthan V N
452eb32b0aSMugunthan V N	mac: ethernet@4A100000 {
462eb32b0aSMugunthan V N		compatible = "ti,cpsw";
472eb32b0aSMugunthan V N		reg = <0x4A100000 0x1000>;
482eb32b0aSMugunthan V N		interrupts = <55 0x4>;
492eb32b0aSMugunthan V N		interrupt-parent = <&intc>;
50e07b94f1SMugunthan V N		cpdma_channels = <8>;
51e07b94f1SMugunthan V N		ale_entries = <1024>;
52e07b94f1SMugunthan V N		bd_ram_size = <0x2000>;
53e07b94f1SMugunthan V N		no_bd_ram = <0>;
54e07b94f1SMugunthan V N		rx_descs = <64>;
55e07b94f1SMugunthan V N		mac_control = <0x20>;
56e07b94f1SMugunthan V N		slaves = <2>;
57e86ac13bSMugunthan V N		active_slave = <0>;
5800ab94eeSRichard Cochran		cpts_clock_mult = <0x80000000>;
5900ab94eeSRichard Cochran		cpts_clock_shift = <29>;
60e07b94f1SMugunthan V N		cpsw_emac0: slave@0 {
61549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <0>;
62c5ceea7aSMugunthan V N			phy-mode = "rgmii-txid";
63e07b94f1SMugunthan V N			/* Filled in by U-Boot */
64e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
652eb32b0aSMugunthan V N		};
66e07b94f1SMugunthan V N		cpsw_emac1: slave@1 {
67549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <1>;
68c5ceea7aSMugunthan V N			phy-mode = "rgmii-txid";
69e07b94f1SMugunthan V N			/* Filled in by U-Boot */
70e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
712eb32b0aSMugunthan V N		};
722eb32b0aSMugunthan V N	};
732eb32b0aSMugunthan V N
742eb32b0aSMugunthan V N(or)
752eb32b0aSMugunthan V N	mac: ethernet@4A100000 {
762eb32b0aSMugunthan V N		compatible = "ti,cpsw";
772eb32b0aSMugunthan V N		ti,hwmods = "cpgmac0";
78e07b94f1SMugunthan V N		cpdma_channels = <8>;
79e07b94f1SMugunthan V N		ale_entries = <1024>;
80e07b94f1SMugunthan V N		bd_ram_size = <0x2000>;
81e07b94f1SMugunthan V N		no_bd_ram = <0>;
82e07b94f1SMugunthan V N		rx_descs = <64>;
83e07b94f1SMugunthan V N		mac_control = <0x20>;
84e07b94f1SMugunthan V N		slaves = <2>;
85e86ac13bSMugunthan V N		active_slave = <0>;
8600ab94eeSRichard Cochran		cpts_clock_mult = <0x80000000>;
8700ab94eeSRichard Cochran		cpts_clock_shift = <29>;
88e07b94f1SMugunthan V N		cpsw_emac0: slave@0 {
89549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <0>;
90c5ceea7aSMugunthan V N			phy-mode = "rgmii-txid";
91e07b94f1SMugunthan V N			/* Filled in by U-Boot */
92e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
932eb32b0aSMugunthan V N		};
94e07b94f1SMugunthan V N		cpsw_emac1: slave@1 {
95549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <1>;
96c5ceea7aSMugunthan V N			phy-mode = "rgmii-txid";
97e07b94f1SMugunthan V N			/* Filled in by U-Boot */
98e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
992eb32b0aSMugunthan V N		};
1002eb32b0aSMugunthan V N	};
101