12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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:
- - 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: See ethernet.txt file in the same directory.
- 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: See ethernet.txt file in the same directory.
- or
- - speed: port speed if no PHY connected.
- - duplex: port mode if no PHY connected.
- * Node example:
- mdio-bus {
- ...
- ethphy: ethernet-phy@8 {
- ...
- };
- };
- 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 {
- compatible = "marvell,orion-eth-port";
- reg = <0>;
- interrupts = <29>;
- phy-handle = <ðphy>;
- local-mac-address = [00 00 00 00 00 00];
- };
- };
|