|
@@ -0,0 +1,106 @@
|
|
|
+DPAA2 Ethernet Switch driver
|
|
|
+============================
|
|
|
+
|
|
|
+This file provides documentation for the DPAA2 Ethernet Switch driver
|
|
|
+
|
|
|
+
|
|
|
+Contents
|
|
|
+========
|
|
|
+ Supported Platforms
|
|
|
+ Architecture Overview
|
|
|
+ Creating an Ethernet Switch
|
|
|
+ Features
|
|
|
+
|
|
|
+
|
|
|
+ Supported Platforms
|
|
|
+===================
|
|
|
+This driver provides networking support for Freescale LS2085A, LS2088A
|
|
|
+DPAA2 SoCs.
|
|
|
+
|
|
|
+
|
|
|
+Architecture Overview
|
|
|
+=====================
|
|
|
+The Ethernet Switch in the DPAA2 architecture consists of several hardware
|
|
|
+resources that provide the functionality. These are allocated and
|
|
|
+configured via the Management Complex (MC) portals. MC abstracts most of
|
|
|
+these resources as DPAA2 objects and exposes ABIs through which they can
|
|
|
+be configured and controlled.
|
|
|
+
|
|
|
+For a more detailed description of the DPAA2 architecture and its object
|
|
|
+abstractions see:
|
|
|
+ drivers/staging/fsl-mc/README.txt
|
|
|
+
|
|
|
+The Ethernet Switch is built on top of a Datapath Switch (DPSW) object.
|
|
|
+
|
|
|
+Configuration interface:
|
|
|
+
|
|
|
+ ---------------------
|
|
|
+ | DPAA2 Switch driver |
|
|
|
+ ---------------------
|
|
|
+ .
|
|
|
+ .
|
|
|
+ ----------
|
|
|
+ | DPSW API |
|
|
|
+ ----------
|
|
|
+ . software
|
|
|
+ ================= . ==============
|
|
|
+ . hardware
|
|
|
+ ---------------------
|
|
|
+ | MC hardware portals |
|
|
|
+ ---------------------
|
|
|
+ .
|
|
|
+ .
|
|
|
+ ------
|
|
|
+ | DPSW |
|
|
|
+ ------
|
|
|
+
|
|
|
+Driver uses the switch device driver model and exposes each switch port as
|
|
|
+a network interface, which can be included in a bridge. Traffic switched
|
|
|
+between ports is offloaded into the hardware. Exposed network interfaces
|
|
|
+are not used for I/O, they are used just for configuration. This
|
|
|
+limitation is going to be addressed in the future.
|
|
|
+
|
|
|
+The DPSW can have ports connected to DPNIs or to PHYs via DPMACs.
|
|
|
+
|
|
|
+
|
|
|
+ [ethA] [ethB] [ethC] [ethD] [ethE] [ethF]
|
|
|
+ : : : : : :
|
|
|
+ : : : : : :
|
|
|
+[eth drv] [eth drv] [ ethsw drv ]
|
|
|
+ : : : : : : kernel
|
|
|
+========================================================================
|
|
|
+ : : : : : : hardware
|
|
|
+ [DPNI] [DPNI] [============= DPSW =================]
|
|
|
+ | | | | | |
|
|
|
+ | ---------- | [DPMAC] [DPMAC]
|
|
|
+ ------------------------------- | |
|
|
|
+ | |
|
|
|
+ [PHY] [PHY]
|
|
|
+
|
|
|
+For a more detailed description of the Ethernet switch device driver model
|
|
|
+see:
|
|
|
+ Documentation/networking/switchdev.txt
|
|
|
+
|
|
|
+Creating an Ethernet Switch
|
|
|
+===========================
|
|
|
+A device is created for the switch objects probed on the MC bus. Each DPSW
|
|
|
+has a number of properties which determine the configuration options and
|
|
|
+associated hardware resources.
|
|
|
+
|
|
|
+A DPSW object (and the other DPAA2 objects needed for a DPAA2 switch) can
|
|
|
+be added to a container on the MC bus in one of two ways: statically,
|
|
|
+through a Datapath Layout Binary file (DPL) that is parsed by MC at boot
|
|
|
+time; or created dynamically at runtime, via the DPAA2 objects APIs.
|
|
|
+
|
|
|
+Features
|
|
|
+========
|
|
|
+Driver configures DPSW to perform hardware switching offload of
|
|
|
+unicast/multicast/broadcast (VLAN tagged or untagged) traffic between its
|
|
|
+ports.
|
|
|
+
|
|
|
+It allows configuration of hardware learning, flooding, multicast groups,
|
|
|
+port VLAN configuration and STP state.
|
|
|
+
|
|
|
+Static entries can be added/removed from the FDB.
|
|
|
+
|
|
|
+Hardware statistics for each port are provided through ethtool -S option.
|