-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Sebastian Hesselbarth
authored and
David S. Miller
committed
May 31, 2013
1 parent
cb85215
commit 76723bc
Showing
2 changed files
with
234 additions
and
4 deletions.
There are no files selected for viewing
85 changes: 85 additions & 0 deletions
85
Documentation/devicetree/bindings/net/marvell-orion-net.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
Marvell Orion/Discovery ethernet controller | ||
============================================= | ||
|
||
The Marvell Discovery ethernet controller can be found on Marvell Orion SoCs | ||
(Kirkwood, Dove, Orion5x, and Discovery Innovation) and as part of Marvell | ||
Discovery system controller chips (mv64[345]60). | ||
|
||
The Discovery ethernet controller is described with two levels of nodes. The | ||
first level describes the ethernet controller itself and the second level | ||
describes up to 3 ethernet port nodes within that controller. The reason for | ||
the multiple levels is that the port registers are interleaved within a single | ||
set of controller registers. Each port node describes port-specific properties. | ||
|
||
Note: The above separation is only true for Discovery system controllers. | ||
For Orion SoCs we stick to the separation, although there each controller has | ||
only one port associated. Multiple ports are implemented as multiple single-port | ||
controllers. As Kirkwood has some issues with proper initialization after reset, | ||
an extra compatible string is added for it. | ||
|
||
* Ethernet controller node | ||
|
||
Required controller properties: | ||
- #address-cells: shall be 1. | ||
- #size-cells: shall be 0. | ||
- compatible: shall be one of "marvell,orion-eth", "marvell,kirkwood-eth". | ||
- reg: address and length of the controller registers. | ||
|
||
Optional controller properties: | ||
- clocks: phandle reference to the controller clock. | ||
- marvell,tx-checksum-limit: max tx packet size for hardware checksum. | ||
|
||
* Ethernet port node | ||
|
||
Required port properties: | ||
- device_type: shall be "network". | ||
- compatible: shall be one of "marvell,orion-eth-port", | ||
"marvell,kirkwood-eth-port". | ||
- reg: port number relative to ethernet controller, shall be 0, 1, or 2. | ||
- interrupts: port interrupt. | ||
- local-mac-address: 6 bytes MAC address. | ||
|
||
Optional port properties: | ||
- marvell,tx-queue-size: size of the transmit ring buffer. | ||
- marvell,tx-sram-addr: address of transmit descriptor buffer located in SRAM. | ||
- marvell,tx-sram-size: size of transmit descriptor buffer located in SRAM. | ||
- marvell,rx-queue-size: size of the receive ring buffer. | ||
- marvell,rx-sram-addr: address of receive descriptor buffer located in SRAM. | ||
- marvell,rx-sram-size: size of receive descriptor buffer located in SRAM. | ||
|
||
and | ||
|
||
- phy-handle: phandle reference to ethernet PHY. | ||
|
||
or | ||
|
||
- speed: port speed if no PHY connected. | ||
- duplex: port mode if no PHY connected. | ||
|
||
* Node example: | ||
|
||
mdio-bus { | ||
... | ||
ethphy: ethernet-phy@8 { | ||
device_type = "ethernet-phy"; | ||
... | ||
}; | ||
}; | ||
|
||
eth: ethernet-controller@72000 { | ||
compatible = "marvell,orion-eth"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
reg = <0x72000 0x2000>; | ||
clocks = <&gate_clk 2>; | ||
marvell,tx-checksum-limit = <1600>; | ||
|
||
ethernet@0 { | ||
device_type = "network"; | ||
compatible = "marvell,orion-eth-port"; | ||
reg = <0>; | ||
interrupts = <29>; | ||
phy-handle = <ðphy>; | ||
local-mac-address = [00 00 00 00 00 00]; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters