aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
authorVince Bridgers <vbridgers2013@gmail.com>2014-03-17 18:52:33 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-17 21:26:56 -0400
commitd6da06fcd4e5729e587911117134fa219a3b8d4e (patch)
treefd2bfd4689cb5fcad2d410d37e22f42e4ff6d4df /Documentation/devicetree
parentd5d20912d33f13766902a27087323f5c94e831c8 (diff)
dts: Add bindings for the Altera Triple Speed Ethernet driver
This patch adds a bindings description for the Altera Triple Speed Ethernet (TSE) driver. The bindings support the legacy SGDMA soft IP as well as the preferred MSGDMA soft IP. The TSE can be configured and synthesized in soft logic using Altera's Quartus toolchain. Please consult the bindings document for supported options. Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/net/altera_tse.txt114
1 files changed, 114 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/net/altera_tse.txt b/Documentation/devicetree/bindings/net/altera_tse.txt
new file mode 100644
index 000000000000..a706297998e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/altera_tse.txt
@@ -0,0 +1,114 @@
1* Altera Triple-Speed Ethernet MAC driver (TSE)
2
3Required properties:
4- compatible: Should be "altr,tse-1.0" for legacy SGDMA based TSE, and should
5 be "altr,tse-msgdma-1.0" for the preferred MSGDMA based TSE.
6 ALTR is supported for legacy device trees, but is deprecated.
7 altr should be used for all new designs.
8- reg: Address and length of the register set for the device. It contains
9 the information of registers in the same order as described by reg-names
10- reg-names: Should contain the reg names
11 "control_port": MAC configuration space region
12 "tx_csr": xDMA Tx dispatcher control and status space region
13 "tx_desc": MSGDMA Tx dispatcher descriptor space region
14 "rx_csr" : xDMA Rx dispatcher control and status space region
15 "rx_desc": MSGDMA Rx dispatcher descriptor space region
16 "rx_resp": MSGDMA Rx dispatcher response space region
17 "s1": SGDMA descriptor memory
18- interrupts: Should contain the TSE interrupts and it's mode.
19- interrupt-names: Should contain the interrupt names
20 "rx_irq": xDMA Rx dispatcher interrupt
21 "tx_irq": xDMA Tx dispatcher interrupt
22- rx-fifo-depth: MAC receive FIFO buffer depth in bytes
23- tx-fifo-depth: MAC transmit FIFO buffer depth in bytes
24- phy-mode: See ethernet.txt in the same directory.
25- phy-handle: See ethernet.txt in the same directory.
26- phy-addr: See ethernet.txt in the same directory. A configuration should
27 include phy-handle or phy-addr.
28- altr,has-supplementary-unicast:
29 If present, TSE supports additional unicast addresses.
30 Otherwise additional unicast addresses are not supported.
31- altr,has-hash-multicast-filter:
32 If present, TSE supports a hash based multicast filter.
33 Otherwise, hash-based multicast filtering is not supported.
34
35- mdio device tree subnode: When the TSE has a phy connected to its local
36 mdio, there must be device tree subnode with the following
37 required properties:
38
39 - compatible: Must be "altr,tse-mdio".
40 - #address-cells: Must be <1>.
41 - #size-cells: Must be <0>.
42
43 For each phy on the mdio bus, there must be a node with the following
44 fields:
45
46 - reg: phy id used to communicate to phy.
47 - device_type: Must be "ethernet-phy".
48
49Optional properties:
50- local-mac-address: See ethernet.txt in the same directory.
51- max-frame-size: See ethernet.txt in the same directory.
52
53Example:
54
55 tse_sub_0_eth_tse_0: ethernet@0x1,00000000 {
56 compatible = "altr,tse-msgdma-1.0";
57 reg = <0x00000001 0x00000000 0x00000400>,
58 <0x00000001 0x00000460 0x00000020>,
59 <0x00000001 0x00000480 0x00000020>,
60 <0x00000001 0x000004A0 0x00000008>,
61 <0x00000001 0x00000400 0x00000020>,
62 <0x00000001 0x00000420 0x00000020>;
63 reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc";
64 interrupt-parent = <&hps_0_arm_gic_0>;
65 interrupts = <0 41 4>, <0 40 4>;
66 interrupt-names = "rx_irq", "tx_irq";
67 rx-fifo-depth = <2048>;
68 tx-fifo-depth = <2048>;
69 address-bits = <48>;
70 max-frame-size = <1500>;
71 local-mac-address = [ 00 00 00 00 00 00 ];
72 phy-mode = "gmii";
73 altr,has-supplementary-unicast;
74 altr,has-hash-multicast-filter;
75 phy-handle = <&phy0>;
76 mdio {
77 compatible = "altr,tse-mdio";
78 #address-cells = <1>;
79 #size-cells = <0>;
80 phy0: ethernet-phy@0 {
81 reg = <0x0>;
82 device_type = "ethernet-phy";
83 };
84
85 phy1: ethernet-phy@1 {
86 reg = <0x1>;
87 device_type = "ethernet-phy";
88 };
89
90 };
91 };
92
93 tse_sub_1_eth_tse_0: ethernet@0x1,00001000 {
94 compatible = "altr,tse-msgdma-1.0";
95 reg = <0x00000001 0x00001000 0x00000400>,
96 <0x00000001 0x00001460 0x00000020>,
97 <0x00000001 0x00001480 0x00000020>,
98 <0x00000001 0x000014A0 0x00000008>,
99 <0x00000001 0x00001400 0x00000020>,
100 <0x00000001 0x00001420 0x00000020>;
101 reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc";
102 interrupt-parent = <&hps_0_arm_gic_0>;
103 interrupts = <0 43 4>, <0 42 4>;
104 interrupt-names = "rx_irq", "tx_irq";
105 rx-fifo-depth = <2048>;
106 tx-fifo-depth = <2048>;
107 address-bits = <48>;
108 max-frame-size = <1500>;
109 local-mac-address = [ 00 00 00 00 00 00 ];
110 phy-mode = "gmii";
111 altr,has-supplementary-unicast;
112 altr,has-hash-multicast-filter;
113 phy-handle = <&phy1>;
114 };