diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2013-05-29 05:32:48 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-30 20:54:04 -0400 |
commit | 76723bca2802eb80990a5fefa179662e2e561d66 (patch) | |
tree | 53854f05fb1220fe5f710b341ef5a4db53fb0499 /Documentation | |
parent | cb85215ffc34479188d0ec25a56352f05ad672ce (diff) |
net: mv643xx_eth: add DT parsing support
This adds device tree parsing support for the shared driver of mv643xx_eth.
As the bindings are slightly different from current PPC bindings new binding
documentation is also added. Following PPC-style device setup, the shared
driver now also adds port platform_devices and sets up port platform_data.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/net/marvell-orion-net.txt | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/net/marvell-orion-net.txt b/Documentation/devicetree/bindings/net/marvell-orion-net.txt new file mode 100644 index 000000000000..a73b79f227e1 --- /dev/null +++ b/Documentation/devicetree/bindings/net/marvell-orion-net.txt | |||
@@ -0,0 +1,85 @@ | |||
1 | Marvell Orion/Discovery ethernet controller | ||
2 | ============================================= | ||
3 | |||
4 | The Marvell Discovery ethernet controller can be found on Marvell Orion SoCs | ||
5 | (Kirkwood, Dove, Orion5x, and Discovery Innovation) and as part of Marvell | ||
6 | Discovery system controller chips (mv64[345]60). | ||
7 | |||
8 | The Discovery ethernet controller is described with two levels of nodes. The | ||
9 | first level describes the ethernet controller itself and the second level | ||
10 | describes up to 3 ethernet port nodes within that controller. The reason for | ||
11 | the multiple levels is that the port registers are interleaved within a single | ||
12 | set of controller registers. Each port node describes port-specific properties. | ||
13 | |||
14 | Note: The above separation is only true for Discovery system controllers. | ||
15 | For Orion SoCs we stick to the separation, although there each controller has | ||
16 | only one port associated. Multiple ports are implemented as multiple single-port | ||
17 | controllers. As Kirkwood has some issues with proper initialization after reset, | ||
18 | an extra compatible string is added for it. | ||
19 | |||
20 | * Ethernet controller node | ||
21 | |||
22 | Required controller properties: | ||
23 | - #address-cells: shall be 1. | ||
24 | - #size-cells: shall be 0. | ||
25 | - compatible: shall be one of "marvell,orion-eth", "marvell,kirkwood-eth". | ||
26 | - reg: address and length of the controller registers. | ||
27 | |||
28 | Optional controller properties: | ||
29 | - clocks: phandle reference to the controller clock. | ||
30 | - marvell,tx-checksum-limit: max tx packet size for hardware checksum. | ||
31 | |||
32 | * Ethernet port node | ||
33 | |||
34 | Required port properties: | ||
35 | - device_type: shall be "network". | ||
36 | - compatible: shall be one of "marvell,orion-eth-port", | ||
37 | "marvell,kirkwood-eth-port". | ||
38 | - reg: port number relative to ethernet controller, shall be 0, 1, or 2. | ||
39 | - interrupts: port interrupt. | ||
40 | - local-mac-address: 6 bytes MAC address. | ||
41 | |||
42 | Optional port properties: | ||
43 | - marvell,tx-queue-size: size of the transmit ring buffer. | ||
44 | - marvell,tx-sram-addr: address of transmit descriptor buffer located in SRAM. | ||
45 | - marvell,tx-sram-size: size of transmit descriptor buffer located in SRAM. | ||
46 | - marvell,rx-queue-size: size of the receive ring buffer. | ||
47 | - marvell,rx-sram-addr: address of receive descriptor buffer located in SRAM. | ||
48 | - marvell,rx-sram-size: size of receive descriptor buffer located in SRAM. | ||
49 | |||
50 | and | ||
51 | |||
52 | - phy-handle: phandle reference to ethernet PHY. | ||
53 | |||
54 | or | ||
55 | |||
56 | - speed: port speed if no PHY connected. | ||
57 | - duplex: port mode if no PHY connected. | ||
58 | |||
59 | * Node example: | ||
60 | |||
61 | mdio-bus { | ||
62 | ... | ||
63 | ethphy: ethernet-phy@8 { | ||
64 | device_type = "ethernet-phy"; | ||
65 | ... | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | eth: ethernet-controller@72000 { | ||
70 | compatible = "marvell,orion-eth"; | ||
71 | #address-cells = <1>; | ||
72 | #size-cells = <0>; | ||
73 | reg = <0x72000 0x2000>; | ||
74 | clocks = <&gate_clk 2>; | ||
75 | marvell,tx-checksum-limit = <1600>; | ||
76 | |||
77 | ethernet@0 { | ||
78 | device_type = "network"; | ||
79 | compatible = "marvell,orion-eth-port"; | ||
80 | reg = <0>; | ||
81 | interrupts = <29>; | ||
82 | phy-handle = <ðphy>; | ||
83 | local-mac-address = [00 00 00 00 00 00]; | ||
84 | }; | ||
85 | }; | ||