xref: /linux/Documentation/devicetree/bindings/net/cpsw.txt (revision e86ac13b031cf71d8f40ff513e627aac80e6b765)
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
18*e86ac13bSMugunthan V N- active_slave		: Specifies the slave to use for time stamping,
19*e86ac13bSMugunthan 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
31470d1474SMugunthan V N- mac-address		: Specifies slave MAC address
32470d1474SMugunthan V N
33470d1474SMugunthan V NOptional properties:
34d9ba8f9eSMugunthan V N- dual_emac_res_vlan	: Specifies VID to be used to segregate the ports
352eb32b0aSMugunthan V N
362eb32b0aSMugunthan V NNote: "ti,hwmods" field is used to fetch the base address and irq
372eb32b0aSMugunthan V Nresources from TI, omap hwmod data base during device registration.
382eb32b0aSMugunthan V NFuture plan is to migrate hwmod data base contents into device tree
392eb32b0aSMugunthan V Nblob so that, all the required data will be used from device tree dts
402eb32b0aSMugunthan V Nfile.
412eb32b0aSMugunthan V N
422eb32b0aSMugunthan V NExamples:
432eb32b0aSMugunthan V N
442eb32b0aSMugunthan V N	mac: ethernet@4A100000 {
452eb32b0aSMugunthan V N		compatible = "ti,cpsw";
462eb32b0aSMugunthan V N		reg = <0x4A100000 0x1000>;
472eb32b0aSMugunthan V N		interrupts = <55 0x4>;
482eb32b0aSMugunthan V N		interrupt-parent = <&intc>;
49e07b94f1SMugunthan V N		cpdma_channels = <8>;
50e07b94f1SMugunthan V N		ale_entries = <1024>;
51e07b94f1SMugunthan V N		bd_ram_size = <0x2000>;
52e07b94f1SMugunthan V N		no_bd_ram = <0>;
53e07b94f1SMugunthan V N		rx_descs = <64>;
54e07b94f1SMugunthan V N		mac_control = <0x20>;
55e07b94f1SMugunthan V N		slaves = <2>;
56*e86ac13bSMugunthan V N		active_slave = <0>;
5700ab94eeSRichard Cochran		cpts_clock_mult = <0x80000000>;
5800ab94eeSRichard Cochran		cpts_clock_shift = <29>;
59e07b94f1SMugunthan V N		cpsw_emac0: slave@0 {
60549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <0>;
61e07b94f1SMugunthan V N			/* Filled in by U-Boot */
62e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
632eb32b0aSMugunthan V N		};
64e07b94f1SMugunthan V N		cpsw_emac1: slave@1 {
65549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <1>;
66e07b94f1SMugunthan V N			/* Filled in by U-Boot */
67e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
682eb32b0aSMugunthan V N		};
692eb32b0aSMugunthan V N	};
702eb32b0aSMugunthan V N
712eb32b0aSMugunthan V N(or)
722eb32b0aSMugunthan V N	mac: ethernet@4A100000 {
732eb32b0aSMugunthan V N		compatible = "ti,cpsw";
742eb32b0aSMugunthan V N		ti,hwmods = "cpgmac0";
75e07b94f1SMugunthan V N		cpdma_channels = <8>;
76e07b94f1SMugunthan V N		ale_entries = <1024>;
77e07b94f1SMugunthan V N		bd_ram_size = <0x2000>;
78e07b94f1SMugunthan V N		no_bd_ram = <0>;
79e07b94f1SMugunthan V N		rx_descs = <64>;
80e07b94f1SMugunthan V N		mac_control = <0x20>;
81e07b94f1SMugunthan V N		slaves = <2>;
82*e86ac13bSMugunthan V N		active_slave = <0>;
8300ab94eeSRichard Cochran		cpts_clock_mult = <0x80000000>;
8400ab94eeSRichard Cochran		cpts_clock_shift = <29>;
85e07b94f1SMugunthan V N		cpsw_emac0: slave@0 {
86549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <0>;
87e07b94f1SMugunthan V N			/* Filled in by U-Boot */
88e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
892eb32b0aSMugunthan V N		};
90e07b94f1SMugunthan V N		cpsw_emac1: slave@1 {
91549985eeSRichard Cochran			phy_id = <&davinci_mdio>, <1>;
92e07b94f1SMugunthan V N			/* Filled in by U-Boot */
93e07b94f1SMugunthan V N			mac-address = [ 00 00 00 00 00 00 ];
942eb32b0aSMugunthan V N		};
952eb32b0aSMugunthan V N	};
96