WSL2-Linux-Kernel/arch/mips/bcm63xx
Florian Fainelli 3dc6475c0c bcm63xx_enet: add support Broadcom BCM6345 Ethernet
This patch adds support for the Broadcom BCM6345 SoC Ethernet. BCM6345
has a slightly different and older DMA engine which requires the
following modifications:

- the width of the DMA channels on BCM6345 is 64 bytes vs 16 bytes,
  which means that the helpers enet_dma{c,s} need to account for this
  channel width and we can no longer use macros

- BCM6345 DMA engine does not have any internal SRAM for transfering
  buffers

- BCM6345 buffer allocation and flow control is not per-channel but
  global (done in RSET_ENETDMA)

- the DMA engine bits are right-shifted by 3 compared to other DMA
  generations

- the DMA enable/interrupt masks are a little different (we need to
  enabled more bits for 6345)

- some register have the same meaning but are offsetted in the ENET_DMAC
  space so a lookup table is required to return the proper offset

The MAC itself is identical and requires no modifications to work.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-13 17:22:08 -07:00
..
boards bcm63xx_enet: add support for Broadcom BCM63xx integrated gigabit switch 2013-06-10 14:28:28 -07:00
Kconfig MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
Makefile MIPS: BCM63XX: move nvram functions into their own file 2012-11-09 11:37:18 +01:00
Platform MIPS: BCM63xx: Migrate to new platform makefile style. 2010-08-05 13:25:54 +01:00
clk.c MIPS: BCM63XX: add missing clocks for BCM6328 and BCM6362 2013-05-08 01:19:12 +02:00
cpu.c MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
cs.c MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. 2009-09-17 20:07:52 +02:00
dev-dsp.c MIPS: BCM63XX: Fix platform_devices id 2012-07-24 16:33:09 +02:00
dev-enet.c bcm63xx_enet: add support Broadcom BCM6345 Ethernet 2013-06-13 17:22:08 -07:00
dev-flash.c MIPS: BCM63XX: add flash detection for BCM6362 2013-05-08 01:19:03 +02:00
dev-pcmcia.c mips: mark const init data with __initconst instead of __initdata 2012-07-19 11:23:43 +02:00
dev-rng.c MIPS: BCM63XX: add RNG driver platform_device stub 2012-07-24 16:33:10 +02:00
dev-spi.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-05-10 07:48:05 -07:00
dev-uart.c MIPS: BCM63XX: Add support for bcm6368 CPU. 2011-12-07 22:03:04 +00:00
dev-usb-usbd.c MIPS: BCM63XX: Create platform_device for USBD 2012-08-30 20:15:52 +02:00
dev-wdt.c MIPS: BCM63XX: Fix platform_devices id 2012-07-24 16:33:09 +02:00
early_printk.c MIPS: early_printk: drop __init annotations 2013-02-19 09:36:37 +01:00
gpio.c MIPS: BCM63xx: Fix GPIO set/get for BCM6345 2011-12-07 22:03:04 +00:00
irq.c MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
nvram.c MIPS: BCM63XX: Make nvram checksum failure non fatal 2013-03-19 19:15:40 +01:00
prom.c MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
reset.c MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
setup.c MIPS: BCM63XX: add basic BCM6362 support 2013-05-08 01:19:03 +02:00
timer.c MIPS: BCM63xx: Convert timer locks to raw spinlocks. 2010-02-27 12:53:35 +01:00