net: cpsw: Add parent<->child relation support between cpsw and mdio
[linux-2.6-block.git] / Documentation / devicetree / bindings / net / cpsw.txt
CommitLineData
2eb32b0a
M
1TI SoC Ethernet Switch Controller Device Tree Bindings
2------------------------------------------------------
3
4Required properties:
5- compatible : Should be "ti,cpsw"
6- reg : physical base address and size of the cpsw
7 registers map
8- interrupts : property with a value describing the interrupt
9 number
10- interrupt-parent : The parent interrupt controller
11- cpdma_channels : Specifies number of channels in CPDMA
12- host_port_no : Specifies host port shift
13- cpdma_reg_ofs : Specifies CPDMA submodule register offset
e07b94f1 14- cpdma_sram_ofs : Specifies CPDMA SRAM offset
2eb32b0a
M
15- ale_reg_ofs : Specifies ALE submodule register offset
16- ale_entries : Specifies No of entries ALE can hold
17- host_port_reg_ofs : Specifies host port register offset
18- hw_stats_reg_ofs : Specifies hardware statistics register offset
6b60393e 19- cpts_reg_ofs : Specifies the offset of the CPTS registers
2eb32b0a
M
20- bd_ram_ofs : Specifies internal desciptor RAM offset
21- bd_ram_size : Specifies internal descriptor RAM size
22- rx_descs : Specifies number of Rx descriptors
23- mac_control : Specifies Default MAC control register content
24 for the specific platform
25- slaves : Specifies number for slaves
78ca0b28 26- cpts_active_slave : Specifies the slave to use for time stamping
00ab94ee
RC
27- cpts_clock_mult : Numerator to convert input clock ticks into nanoseconds
28- cpts_clock_shift : Denominator to convert input clock ticks into nanoseconds
2eb32b0a
M
29- slave_reg_ofs : Specifies slave register offset
30- sliver_reg_ofs : Specifies slave sliver register offset
31- phy_id : Specifies slave phy id
32- mac-address : Specifies slave MAC address
33
34Optional properties:
35- ti,hwmods : Must be "cpgmac0"
36- no_bd_ram : Must be 0 or 1
37
38Note: "ti,hwmods" field is used to fetch the base address and irq
39resources from TI, omap hwmod data base during device registration.
40Future plan is to migrate hwmod data base contents into device tree
41blob so that, all the required data will be used from device tree dts
42file.
43
44Examples:
45
46 mac: ethernet@4A100000 {
47 compatible = "ti,cpsw";
48 reg = <0x4A100000 0x1000>;
49 interrupts = <55 0x4>;
50 interrupt-parent = <&intc>;
e07b94f1
M
51 cpdma_channels = <8>;
52 host_port_no = <0>;
53 cpdma_reg_ofs = <0x800>;
54 cpdma_sram_ofs = <0xa00>;
55 ale_reg_ofs = <0xd00>;
56 ale_entries = <1024>;
57 host_port_reg_ofs = <0x108>;
58 hw_stats_reg_ofs = <0x900>;
6b60393e 59 cpts_reg_ofs = <0xc00>;
e07b94f1
M
60 bd_ram_ofs = <0x2000>;
61 bd_ram_size = <0x2000>;
62 no_bd_ram = <0>;
63 rx_descs = <64>;
64 mac_control = <0x20>;
65 slaves = <2>;
78ca0b28 66 cpts_active_slave = <0>;
00ab94ee
RC
67 cpts_clock_mult = <0x80000000>;
68 cpts_clock_shift = <29>;
e07b94f1 69 cpsw_emac0: slave@0 {
9750a3ad 70 slave_reg_ofs = <0x200>;
e07b94f1
M
71 sliver_reg_ofs = <0xd80>;
72 phy_id = "davinci_mdio.16:00";
73 /* Filled in by U-Boot */
74 mac-address = [ 00 00 00 00 00 00 ];
2eb32b0a 75 };
e07b94f1 76 cpsw_emac1: slave@1 {
9750a3ad 77 slave_reg_ofs = <0x300>;
e07b94f1
M
78 sliver_reg_ofs = <0xdc0>;
79 phy_id = "davinci_mdio.16:01";
80 /* Filled in by U-Boot */
81 mac-address = [ 00 00 00 00 00 00 ];
2eb32b0a
M
82 };
83 };
84
85(or)
2eb32b0a
M
86 mac: ethernet@4A100000 {
87 compatible = "ti,cpsw";
88 ti,hwmods = "cpgmac0";
e07b94f1
M
89 cpdma_channels = <8>;
90 host_port_no = <0>;
91 cpdma_reg_ofs = <0x800>;
92 cpdma_sram_ofs = <0xa00>;
93 ale_reg_ofs = <0xd00>;
94 ale_entries = <1024>;
95 host_port_reg_ofs = <0x108>;
96 hw_stats_reg_ofs = <0x900>;
6b60393e 97 cpts_reg_ofs = <0xc00>;
e07b94f1
M
98 bd_ram_ofs = <0x2000>;
99 bd_ram_size = <0x2000>;
100 no_bd_ram = <0>;
101 rx_descs = <64>;
102 mac_control = <0x20>;
103 slaves = <2>;
78ca0b28 104 cpts_active_slave = <0>;
00ab94ee
RC
105 cpts_clock_mult = <0x80000000>;
106 cpts_clock_shift = <29>;
e07b94f1 107 cpsw_emac0: slave@0 {
9750a3ad 108 slave_reg_ofs = <0x200>;
e07b94f1
M
109 sliver_reg_ofs = <0xd80>;
110 phy_id = "davinci_mdio.16:00";
111 /* Filled in by U-Boot */
112 mac-address = [ 00 00 00 00 00 00 ];
2eb32b0a 113 };
e07b94f1 114 cpsw_emac1: slave@1 {
9750a3ad 115 slave_reg_ofs = <0x300>;
e07b94f1
M
116 sliver_reg_ofs = <0xdc0>;
117 phy_id = "davinci_mdio.16:01";
118 /* Filled in by U-Boot */
119 mac-address = [ 00 00 00 00 00 00 ];
2eb32b0a 120 };
2eb32b0a 121 };