blob: 5ad439f30135cb2ebb302daab8d047bbf2a50163 [file] [log] [blame]
Mugunthan V N2eb32b02012-07-30 10:17:14 +00001TI SoC Ethernet Switch Controller Device Tree Bindings
2------------------------------------------------------
3
4Required properties:
Mugunthan V N472204f2015-08-31 11:51:29 +05305- compatible : Should be one of the below:-
6 "ti,cpsw" for backward compatible
7 "ti,am335x-cpsw" for AM335x controllers
8 "ti,am4372-cpsw" for AM437x controllers
9 "ti,dra7-cpsw" for DRA7x controllers
Mugunthan V N2eb32b02012-07-30 10:17:14 +000010- reg : physical base address and size of the cpsw
11 registers map
12- interrupts : property with a value describing the interrupt
13 number
14- interrupt-parent : The parent interrupt controller
15- cpdma_channels : Specifies number of channels in CPDMA
Mugunthan V N2eb32b02012-07-30 10:17:14 +000016- ale_entries : Specifies No of entries ALE can hold
Mugunthan V N2eb32b02012-07-30 10:17:14 +000017- bd_ram_size : Specifies internal descriptor RAM size
Mugunthan V N2eb32b02012-07-30 10:17:14 +000018- mac_control : Specifies Default MAC control register content
19 for the specific platform
20- slaves : Specifies number for slaves
Mugunthan V Ne86ac132013-03-11 23:16:35 +000021- active_slave : Specifies the slave to use for time stamping,
22 ethtool and SIOCGMIIPHY
Richard Cochran00ab94e2012-10-29 08:45:19 +000023- cpts_clock_mult : Numerator to convert input clock ticks into nanoseconds
24- cpts_clock_shift : Denominator to convert input clock ticks into nanoseconds
Mugunthan V N2eb32b02012-07-30 10:17:14 +000025
26Optional properties:
27- ti,hwmods : Must be "cpgmac0"
28- no_bd_ram : Must be 0 or 1
Mugunthan V Nd9ba8f92013-02-11 09:52:20 +000029- dual_emac : Specifies Switch to act as Dual EMAC
Markus Pargmann0ba517b2014-09-29 08:53:17 +020030- syscon : Phandle to the system control device node, which is
31 the control module device of the am33x
Mugunthan V N1d147cc2015-09-07 15:16:44 +053032- mode-gpios : Should be added if one/multiple gpio lines are
33 required to be driven so that cpsw data lines
34 can be connected to the phy via selective mux.
35 For example in dra72x-evm, pcf gpio has to be
36 driven low so that cpsw slave 0 and phy data
37 lines are connected via mux.
38
Mugunthan V N470d1472013-03-11 23:16:34 +000039
40Slave Properties:
41Required properties:
Sergei Shtylyove8f08ee2014-02-18 02:41:59 +030042- phy-mode : See ethernet.txt file in the same directory
Mugunthan V N470d1472013-03-11 23:16:34 +000043
44Optional properties:
Mugunthan V Nd9ba8f92013-02-11 09:52:20 +000045- dual_emac_res_vlan : Specifies VID to be used to segregate the ports
Markus Pargmanne4a98392014-09-29 08:53:13 +020046- mac-address : See ethernet.txt file in the same directory
David Rivshina5d2cb32016-04-27 21:42:47 -040047- phy_id : Specifies slave phy id (deprecated, use phy-handle)
Heiko Schocher9e42f712015-10-17 06:04:35 +020048- phy-handle : See ethernet.txt file in the same directory
Mugunthan V N2eb32b02012-07-30 10:17:14 +000049
Markus Brunner1f71e8c2015-11-03 22:09:51 +010050Slave sub-nodes:
51- fixed-link : See fixed-link.txt file in the same directory
David Rivshina5d2cb32016-04-27 21:42:47 -040052
53Note: Exactly one of phy_id, phy-handle, or fixed-link must be specified.
Markus Brunner1f71e8c2015-11-03 22:09:51 +010054
Mugunthan V N2eb32b02012-07-30 10:17:14 +000055Note: "ti,hwmods" field is used to fetch the base address and irq
56resources from TI, omap hwmod data base during device registration.
57Future plan is to migrate hwmod data base contents into device tree
58blob so that, all the required data will be used from device tree dts
59file.
60
61Examples:
62
63 mac: ethernet@4A100000 {
64 compatible = "ti,cpsw";
65 reg = <0x4A100000 0x1000>;
66 interrupts = <55 0x4>;
67 interrupt-parent = <&intc>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000068 cpdma_channels = <8>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000069 ale_entries = <1024>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000070 bd_ram_size = <0x2000>;
71 no_bd_ram = <0>;
72 rx_descs = <64>;
73 mac_control = <0x20>;
74 slaves = <2>;
Mugunthan V Ne86ac132013-03-11 23:16:35 +000075 active_slave = <0>;
Richard Cochran00ab94e2012-10-29 08:45:19 +000076 cpts_clock_mult = <0x80000000>;
77 cpts_clock_shift = <29>;
Markus Pargmann0ba517b2014-09-29 08:53:17 +020078 syscon = <&cm>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000079 cpsw_emac0: slave@0 {
Richard Cochran549985e2012-11-14 09:07:56 +000080 phy_id = <&davinci_mdio>, <0>;
Mugunthan V Nc5ceea72013-06-03 20:10:10 +000081 phy-mode = "rgmii-txid";
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000082 /* Filled in by U-Boot */
83 mac-address = [ 00 00 00 00 00 00 ];
Mugunthan V N2eb32b02012-07-30 10:17:14 +000084 };
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000085 cpsw_emac1: slave@1 {
Richard Cochran549985e2012-11-14 09:07:56 +000086 phy_id = <&davinci_mdio>, <1>;
Mugunthan V Nc5ceea72013-06-03 20:10:10 +000087 phy-mode = "rgmii-txid";
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000088 /* Filled in by U-Boot */
89 mac-address = [ 00 00 00 00 00 00 ];
Mugunthan V N2eb32b02012-07-30 10:17:14 +000090 };
91 };
92
93(or)
Mugunthan V N2eb32b02012-07-30 10:17:14 +000094 mac: ethernet@4A100000 {
95 compatible = "ti,cpsw";
96 ti,hwmods = "cpgmac0";
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000097 cpdma_channels = <8>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000098 ale_entries = <1024>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +000099 bd_ram_size = <0x2000>;
100 no_bd_ram = <0>;
101 rx_descs = <64>;
102 mac_control = <0x20>;
103 slaves = <2>;
Mugunthan V Ne86ac132013-03-11 23:16:35 +0000104 active_slave = <0>;
Richard Cochran00ab94e2012-10-29 08:45:19 +0000105 cpts_clock_mult = <0x80000000>;
106 cpts_clock_shift = <29>;
Markus Pargmann0ba517b2014-09-29 08:53:17 +0200107 syscon = <&cm>;
Mugunthan V Ne07b94f2012-08-06 05:05:58 +0000108 cpsw_emac0: slave@0 {
Richard Cochran549985e2012-11-14 09:07:56 +0000109 phy_id = <&davinci_mdio>, <0>;
Mugunthan V Nc5ceea72013-06-03 20:10:10 +0000110 phy-mode = "rgmii-txid";
Mugunthan V Ne07b94f2012-08-06 05:05:58 +0000111 /* Filled in by U-Boot */
112 mac-address = [ 00 00 00 00 00 00 ];
Mugunthan V N2eb32b02012-07-30 10:17:14 +0000113 };
Mugunthan V Ne07b94f2012-08-06 05:05:58 +0000114 cpsw_emac1: slave@1 {
Richard Cochran549985e2012-11-14 09:07:56 +0000115 phy_id = <&davinci_mdio>, <1>;
Mugunthan V Nc5ceea72013-06-03 20:10:10 +0000116 phy-mode = "rgmii-txid";
Mugunthan V Ne07b94f2012-08-06 05:05:58 +0000117 /* Filled in by U-Boot */
118 mac-address = [ 00 00 00 00 00 00 ];
Mugunthan V N2eb32b02012-07-30 10:17:14 +0000119 };
Mugunthan V N2eb32b02012-07-30 10:17:14 +0000120 };