bcm63xx_enet: add support for Broadcom BCM63xx integrated gigabit switch
Newer Broadcom BCM63xx SoCs: 6328, 6362 and 6368 have an integrated switch which needs to be driven slightly differently from the traditional external switches. This patch introduces changes in arch/mips/bcm63xx in order to: - register a bcm63xx_enetsw driver instead of bcm63xx_enet driver - update DMA channels configuration & state RAM base addresses - add a new platform data configuration knob to define the number of ports per switch/device and force link on some ports - define the required switch registers On the driver side, the following changes are required: - the switch ports need to be polled to ensure the link is up and running and RX/TX can properly work - basic switch configuration needs to be performed for the switch to forward packets to the CPU - update the MIB counters since the integrated Signed-off-by:Maxime Bizon <mbizon@freebox.fr> Signed-off-by:
Jonas Gorski <jogo@openwrt.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- arch/mips/bcm63xx/boards/board_bcm963xx.c 4 additions, 0 deletionsarch/mips/bcm63xx/boards/board_bcm963xx.c
- arch/mips/bcm63xx/dev-enet.c 95 additions, 18 deletionsarch/mips/bcm63xx/dev-enet.c
- arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h 28 additions, 0 deletionsarch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
- arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h 50 additions, 0 deletionsarch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
- arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h 2 additions, 0 deletionsarch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
- drivers/net/ethernet/broadcom/bcm63xx_enet.c 955 additions, 40 deletionsdrivers/net/ethernet/broadcom/bcm63xx_enet.c
- drivers/net/ethernet/broadcom/bcm63xx_enet.h 71 additions, 0 deletionsdrivers/net/ethernet/broadcom/bcm63xx_enet.h
Loading
Please register or sign in to comment