linux/Documentation/devicetree/bindings
Thomas Petazzoni c5aff18204 net: mvneta: driver for Marvell Armada 370/XP network unit
This patch contains a new network driver for the network unit of the
ARM Marvell Armada 370 and the Armada XP. Both SoCs use the PJ4B
processor, a Marvell-developed ARM core that implements the ARMv7
instruction set.

Compared to previous ARM Marvell SoCs (Kirkwood, Orion, Discovery),
the network unit in Armada 370 and Armada XP is highly different. This
is the reason why this new 'mvneta' driver is needed, while the older
ARM Marvell SoCs use the 'mv643xx_eth' driver.

Here is an overview of the most important hardware changes that
require a new, specific, driver for the network unit of Armada 370/XP:

 - The new network unit has a completely different design and layout
   for the RX and TX descriptors. They are now organized as a simple
   array (each RX and TX queue has base address and size of this
   array) rather than a linked list as in the old SoCs.

 - The new network unit has a different RXQ and TXQ management: this
   management is done using special read/write counter registers,
   while in the Old SocS, it was done using the Ownership bit in RX
   and TX descriptors.

 - The new network unit has different interrupt registers

 - The new network unit way of cleaning of interrupts is not done by
   writing to the cause register, but by updating per-queue counters

 - The new network unit has different GMAC registers (link, speed,
   duplex configuration) and different WRR registers.

 - The new network unit has lots of new units like PnC (Parser and
   Classifier), PMT, BM (Memory Buffer Management), xPON, and more.

The driver proposed in the current patch only handles the basic
features. Additional hardware features will progressively be supported
as needed.

This code has originally been written by Rami Rosen
<rosenr@marvell.com>, and then reviewed and cleaned up by Thomas
Petazzoni <thomas.petazzoni@free-electrons.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: David S. Miller <davem@davemloft.net>
2012-11-16 10:21:26 +01:00
..
arm ARM: at91/tc: fix typo in the DT document 2012-10-24 18:04:08 +02:00
ata Merge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-10-02 19:13:12 -07:00
bus drivers: bus: add a new driver for omap-ocp2scp 2012-08-22 14:31:49 +02:00
c6x
clock Update arch-vt8500 and drivers to device tree and 2012-09-23 21:51:39 -07:00
cpufreq cpufreq: Add a generic cpufreq-cpu0 driver 2012-09-09 22:06:34 +02:00
crypto ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
dma Merge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-10-02 19:13:12 -07:00
fb video: mxsfb: add simple device tree probe 2012-07-03 13:22:37 +08:00
gpio ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
hwmon
i2c Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux 2012-10-11 10:27:51 +09:00
input Input: egalax_ts - get gpio from devicetree 2012-10-25 00:38:22 -07:00
interrupt-controller ARM: bcm2835: fix typos in DT binding documentation 2012-10-07 07:02:07 -07:00
iommu iommu/tegra: smmu: Add device tree support for SMMU 2012-06-25 13:50:43 +02:00
lpddr2 Documentation: dt: device tree bindings for LPDDR2 memories 2012-09-07 19:18:37 +02:00
media ARM: EXYNOS: Adds G-Scaler device from Device Tree 2012-09-07 14:13:08 +09:00
memory-controllers/ti Documentation: dt: emif: device tree bindings for TI's EMIF sdram controller 2012-09-07 19:18:38 +02:00
mfd MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
mips/cavium MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
misc Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
mmc MMC highlights for 3.7: 2012-10-10 10:58:42 +09:00
mtd UAPI Disintegration 2012-10-09 2012-10-09 15:04:25 +01:00
net net: mvneta: driver for Marvell Armada 370/XP network unit 2012-11-16 10:21:26 +01:00
nvec dt: name all Tegra binding docs consistently 2012-06-11 11:48:42 -06:00
pci
pinctrl dt: Document: correct tegra20/30 pinctrl slew-rate name 2012-10-17 19:45:35 +02:00
power PM / OPP: Initialize OPP table from device tree 2012-09-09 22:06:33 +02:00
power_supply max17042_battery: Make it possible to instantiate driver from DT 2012-03-26 20:40:51 +04:00
powerpc powerpc: Update Integrated Flash controller device tree bindings 2012-09-12 14:57:10 -05:00
pwm pwm: Changes for v3.7-rc1 2012-10-10 20:15:24 +09:00
regulator MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
rtc rtc: snvs: add Freescale rtc-snvs driver 2012-10-06 03:05:01 +09:00
serial devicetree: serial: Add documentation for imx serial 2012-09-06 11:01:46 -05:00
serio
sound ALSA: ASoC: add DT bindings for CS4271 2012-09-28 14:12:09 +01:00
spi Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-10-09 16:08:04 +09:00
staging staging: drm/imx: Add devicetree binding documentation 2012-09-21 09:17:06 -07:00
thermal drivers/thermal/spear_thermal.c: add Device Tree probing capability 2012-06-02 01:49:38 -04:00
timer ARM: bcm2835: fix typos in DT binding documentation 2012-10-07 07:02:07 -07:00
tty/serial Update arch-vt8500 and drivers to device tree and 2012-09-23 21:51:39 -07:00
usb ARM: soc: device tree updates 2012-10-01 18:28:06 -07:00
video MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
virtio
w1 onewire: w1-gpio: add DT bindings 2012-08-16 10:00:23 -07:00
watchdog ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
x86
eeprom.txt
marvell.txt
open-pic.txt
resource-names.txt of/irq: Add interrupts-names property to name an irq resource 2012-01-04 00:33:15 -07:00
vendor-prefixes.txt ARM: soc: device tree updates 2012-10-01 18:28:06 -07:00
xilinx.txt