Thread (12 messages) flat view 12 messages, 1 author, 2014-05-14

[RFC net-next 00/11] net: dsa: add support for Broadcom Starfighter 2

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2014-05-14 05:01:10

Hi all,

This patchset adds support for Broadcom's Starfighter 2 switch which is used in
a wide number of recent ARM-based SoCs from different groups within Broadcom.

This switch is usually integrated in that sort of hardware setup:

Integrated GPHY <=> Port 0
External RGMII/MII devices <=> Ports 1 to 6
MoCA PHY <=> Port 7
CPU <=> Port 8

An internal MDIO bus is used to configure the integrated GPHY as well as
external (RG)MII entities which are connected to the switch, hence the UniMAC
MDIO driver

I am sending this as a RFC although most of the dsa changes should not be too
controversial as they basically just leverage Device Tree to help us fetch
platform-specific informations.

The switch driver is fairly simple, but if accepted, future features will be
added (classification engine, Wake-on-LAN support, power management ...)

This switch is used with the recently submitted SYSTEMPORT Ethernet MAC driver
which supports hardare insertion/extraction of switch tags, hence avoiding the
memmove() on the packet contents in both directions, I will send RFC patches
for this as well in case other NICs out there also support a similar feature.

Thanks!

Florian Fainelli (11):
  net: phy: add generic UniMAC MDIO bus driver
  net: dsa: add Broadcom tag hook
  net: dsa: provide a switch device device tree node pointer
  net: dsa: retain a per-port device_node pointer
  net: dsa: allow for more complex PHY setups
  net: dsa: allow switches to working without tagging
  net: dsa: allow drivers to do link adjustment
  net: dsa: allow updating fixed PHY link information
  net: dsa: add Broadcom SF2 switch driver
  net: dsa: add Broadcom tag RX/TX handler
  net: dsa: bcm_sf2: enable Broadcom tags

 .../bindings/net/broadcom-mdio-unimac.txt          |  33 ++
 drivers/net/dsa/Kconfig                            |  11 +
 drivers/net/dsa/Makefile                           |   1 +
 drivers/net/dsa/bcm_sf2.c                          | 497 +++++++++++++++++++++
 drivers/net/dsa/bcm_sf2.h                          | 135 ++++++
 drivers/net/dsa/bcm_sf2_regs.h                     | 207 +++++++++
 drivers/net/phy/Kconfig                            |   6 +
 drivers/net/phy/Makefile                           |   1 +
 drivers/net/phy/mdio-unimac.c                      | 210 +++++++++
 include/linux/netdevice.h                          |  10 +
 include/net/dsa.h                                  |  23 +
 include/uapi/linux/if_ether.h                      |   1 +
 net/dsa/Kconfig                                    |   3 +
 net/dsa/Makefile                                   |   1 +
 net/dsa/dsa.c                                      |   9 +
 net/dsa/dsa_priv.h                                 |   8 +
 net/dsa/slave.c                                    | 120 ++++-
 net/dsa/tag_brcm.c                                 | 170 +++++++
 net/ethernet/eth.c                                 |   2 +
 19 files changed, 1446 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/broadcom-mdio-unimac.txt
 create mode 100644 drivers/net/dsa/bcm_sf2.c
 create mode 100644 drivers/net/dsa/bcm_sf2.h
 create mode 100644 drivers/net/dsa/bcm_sf2_regs.h
 create mode 100644 drivers/net/phy/mdio-unimac.c
 create mode 100644 net/dsa/tag_brcm.c

-- 
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help