net: add driver for Synopsys Ethernet QoS device

This driver supports the Synopsys Designware Ethernet QoS (Quality of
Service) a/k/a eqos IP block, which is a different design than the HW
supported by the existing designware.c driver. The IP supports many
options for bus type, clocking/reset structure, and feature list. This
driver currently supports the specific configuration used in NVIDIA's
Tegra186 chip, but should be extensible to other combinations quite
easily, as explained in the source.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org> # V1
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
Stephen Warren 2016-10-21 14:46:47 -06:00 committed by Joe Hershberger
parent afb970f78a
commit ba4dfef146
3 changed files with 1564 additions and 0 deletions

View File

@ -64,6 +64,17 @@ config ALTERA_TSE
Please find details on the "Triple-Speed Ethernet MegaCore Function
Resource Center" of Altera.
config DWC_ETH_QOS
bool "Synopsys DWC Ethernet QOS device support"
depends on DM_ETH
select PHYLIB
help
This driver supports the Synopsys Designware Ethernet QOS (Quality
Of Service) IP block. The IP supports many options for bus type,
clocking/reset structure, and feature list. This driver currently
supports the specific configuration used in NVIDIA's Tegra186 chip,
but should be extensible to other combinations quite easily.
config E1000
bool "Intel PRO/1000 Gigabit Ethernet support"
help

View File

@ -76,3 +76,4 @@ obj-$(CONFIG_FSL_MC_ENET) += ldpaa_eth/
obj-$(CONFIG_FSL_MEMAC) += fm/memac_phy.o
obj-$(CONFIG_VSC9953) += vsc9953.o
obj-$(CONFIG_PIC32_ETH) += pic32_mdio.o pic32_eth.o
obj-$(CONFIG_DWC_ETH_QOS) += dwc_eth_qos.o

1552
drivers/net/dwc_eth_qos.c Normal file

File diff suppressed because it is too large Load Diff