2018-05-06 21:58:06 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
2007-07-15 22:31:07 +00:00
|
|
|
#
|
|
|
|
# (C) Copyright 2006
|
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
|
2021-08-08 18:20:31 +00:00
|
|
|
obj-y += phy/
|
|
|
|
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_ALTERA_TSE) += altera_tse.o
|
2016-05-24 21:29:09 +00:00
|
|
|
obj-$(CONFIG_AG7XXX) += ag7xxx.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_ARMADA100_FEC) += armada100_fec.o
|
2018-12-01 18:00:24 +00:00
|
|
|
obj-$(CONFIG_BCM6348_ETH) += bcm6348-eth.o
|
2018-12-01 18:00:32 +00:00
|
|
|
obj-$(CONFIG_BCM6368_ETH) += bcm6368-eth.o
|
2020-01-27 01:14:42 +00:00
|
|
|
obj-$(CONFIG_BCMGENET) += bcmgenet.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_DRIVER_AX88180) += ax88180.o
|
2014-08-02 03:37:16 +00:00
|
|
|
obj-$(CONFIG_BCM_SF2_ETH) += bcm-sf2-eth.o
|
|
|
|
obj-$(CONFIG_BCM_SF2_ETH_GMAC) += bcm-sf2-eth-gmac.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_CALXEDA_XGMAC) += calxedaxgmac.o
|
2021-01-14 21:34:11 +00:00
|
|
|
obj-$(CONFIG_CORTINA_NI_ENET) += cortina_ni.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_CS8900) += cs8900.o
|
|
|
|
obj-$(CONFIG_TULIP) += dc2114x.o
|
2015-04-05 22:07:34 +00:00
|
|
|
obj-$(CONFIG_ETH_DESIGNWARE) += designware.o
|
2021-02-24 19:33:56 +00:00
|
|
|
obj-$(CONFIG_ETH_DESIGNWARE_MESON8B) += dwmac_meson8b.o
|
2018-08-13 17:32:14 +00:00
|
|
|
obj-$(CONFIG_ETH_DESIGNWARE_SOCFPGA) += dwmac_socfpga.o
|
2020-05-09 14:25:12 +00:00
|
|
|
obj-$(CONFIG_ETH_DESIGNWARE_S700) += dwmac_s700.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_DRIVER_DM9000) += dm9000x.o
|
|
|
|
obj-$(CONFIG_DNET) += dnet.o
|
sandbox: Add a DSA sandbox driver and unit test
The DSA sandbox driver is used for unit testing the DSA class code.
It implements a simple 2 port switch plus 1 CPU port, and uses a
very simple tag to identify the ports.
The DSA sandbox device is connected via CPU port to a regular Ethernet
sandbox device, called 'dsa-test-eth, managed by the existing eth
sandbox driver. The 'dsa-test-eth' is not intended for testing the
eth class code however, but it is used to emulate traffic through the
'lan0' and 'lan1' front pannel switch ports. To achieve this the dsa
sandbox driver registers a tx handler for the 'dsa-test-eth' device.
The switch ports, labeled as 'lan0' and 'lan1', are also registered
as eth devices by the dsa class code this time. So pinging through
these switch ports is as easy as:
=> setenv ethact lan0
=> ping 1.2.3.5
Unit tests for the dsa class code were also added. The 'dsa_probe'
test exercises most API functions from dsa.h. The 'dsa' unit test
simply exercises ARP/ICMP traffic through the two switch ports,
including tag injection and extraction, with the help of the dsa
sandbox driver.
I took care to minimize the impact on the existing eth unit tests,
though some adjustments needed to be made with the addition of
extra eth interfaces used by the dsa unit tests. The additional eth
interfaces also require MAC addresses, these have been added to the
sandbox default environment.
Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Message-Id: <20210216224804.3355044-5-olteanv@gmail.com>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2021-03-14 12:14:57 +00:00
|
|
|
obj-$(CONFIG_DSA_SANDBOX) += dsa_sandbox.o
|
2020-05-03 14:41:14 +00:00
|
|
|
obj-$(CONFIG_DM_ETH_PHY) += eth-phy-uclass.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_E1000) += e1000.o
|
|
|
|
obj-$(CONFIG_E1000_SPI) += e1000_spi.o
|
|
|
|
obj-$(CONFIG_EEPRO100) += eepro100.o
|
net: dsa: add driver for NXP SJA1105 L2 switch
The SJA1105 driver is largely reused from Linux. Its programming model
is that it is blank out of reset, and it waits for a static
configuration stream over SPI, which contains all runtime parameters (it
has no notion of "default values").
Keeping a binary array for the configuration stream would have meant
that aspects such as the CPU port and the MAC speeds could have not been
configured easily, and would have been static and board-dependent.
Live-patching the binary array means recalculating the static config
table CRCs, which is not a fun process.
So we create an abstraction over the static config tables, using the
packing API, same as in Linux. The tables are kept as C structures, and
the binary configuration stream is constructed on-the-go, with CRC and
all.
All static config tables instantiated in this driver are mandatory.
The hardware reference manual can be found at:
https://www.nxp.com/docs/en/user-guide/UM10944.pdf
For tagging, a simplified version of tag_8021q from Linux is used. The
VLAN EtherType is the same (0xdadb) but since we don't want switching in
U-Boot, there is no reason to have a TX VLAN and an RX VLAN for each
port. We just need the RX VLANs to act as the unique pvid of each
front-panel port, to decode the switch port number. The RX VLAN is used
for both RX and TX.
The device tree bindings are the same as in Linux.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2021-09-29 15:04:41 +00:00
|
|
|
obj-$(CONFIG_SJA1105) += sja1105.o
|
2017-11-08 03:08:57 +00:00
|
|
|
obj-$(CONFIG_SUN4I_EMAC) += sunxi_emac.o
|
2016-07-06 12:29:44 +00:00
|
|
|
obj-$(CONFIG_SUN8I_EMAC) += sun8i_emac.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_EP93XX) += ep93xx_eth.o
|
|
|
|
obj-$(CONFIG_ETHOC) += ethoc.o
|
|
|
|
obj-$(CONFIG_FEC_MXC) += fec_mxc.o
|
2021-08-08 18:20:31 +00:00
|
|
|
obj-$(CONFIG_FMAN_ENET) += fm/
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_FSLDMAFEC) += fsl_mcdmafec.o mcfmii.o
|
|
|
|
obj-$(CONFIG_FTGMAC100) += ftgmac100.o
|
|
|
|
obj-$(CONFIG_FTMAC110) += ftmac110.o
|
|
|
|
obj-$(CONFIG_FTMAC100) += ftmac100.o
|
2017-01-11 10:46:11 +00:00
|
|
|
obj-$(CONFIG_GMAC_ROCKCHIP) += gmac_rockchip.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_KS8851_MLL) += ks8851_mll.o
|
2021-06-30 23:50:08 +00:00
|
|
|
obj-$(CONFIG_KSZ9477) += ksz9477.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_LAN91C96) += lan91c96.o
|
2015-03-31 09:40:43 +00:00
|
|
|
obj-$(CONFIG_LPC32XX_ETH) += lpc32xx_eth.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_MACB) += macb.o
|
|
|
|
obj-$(CONFIG_MCFFEC) += mcffec.o mcfmii.o
|
2020-10-08 20:05:11 +00:00
|
|
|
obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o
|
2019-07-16 08:21:17 +00:00
|
|
|
obj-$(CONFIG_MDIO_MUX_I2CREG) += mdio_mux_i2creg.o
|
2021-02-24 16:31:53 +00:00
|
|
|
obj-$(CONFIG_MDIO_MUX_MESON_G12A) += mdio_mux_meson_g12a.o
|
2021-02-24 14:02:23 +00:00
|
|
|
obj-$(CONFIG_MDIO_MUX_MMIOREG) += mdio_mux_mmioreg.o
|
2019-07-12 07:13:53 +00:00
|
|
|
obj-$(CONFIG_MDIO_MUX_SANDBOX) += mdio_mux_sandbox.o
|
2017-07-06 08:33:23 +00:00
|
|
|
obj-$(CONFIG_MPC8XX_FEC) += mpc8xx_fec.o
|
2020-11-12 08:36:53 +00:00
|
|
|
obj-$(CONFIG_MT7620_ETH) += mt7620-eth.o
|
2018-10-26 12:53:27 +00:00
|
|
|
obj-$(CONFIG_MT7628_ETH) += mt7628-eth.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_MVGBE) += mvgbe.o
|
2019-07-25 09:33:19 +00:00
|
|
|
obj-$(CONFIG_MVMDIO) += mvmdio.o
|
2014-10-22 10:13:14 +00:00
|
|
|
obj-$(CONFIG_MVNETA) += mvneta.o
|
2016-02-10 06:22:10 +00:00
|
|
|
obj-$(CONFIG_MVPP2) += mvpp2.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_NATSEMI) += natsemi.o
|
|
|
|
obj-$(CONFIG_NETCONSOLE) += netconsole.o
|
|
|
|
obj-$(CONFIG_NS8382X) += ns8382x.o
|
2015-03-20 09:12:20 +00:00
|
|
|
obj-$(CONFIG_PCH_GBE) += pch_gbe.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_PCNET) += pcnet.o
|
|
|
|
obj-$(CONFIG_RTL8139) += rtl8139.o
|
|
|
|
obj-$(CONFIG_RTL8169) += rtl8169.o
|
2015-03-22 22:09:13 +00:00
|
|
|
obj-$(CONFIG_ETH_SANDBOX) += sandbox.o
|
2015-03-22 22:09:21 +00:00
|
|
|
obj-$(CONFIG_ETH_SANDBOX_RAW) += sandbox-raw.o
|
2018-07-02 19:47:54 +00:00
|
|
|
obj-$(CONFIG_ETH_SANDBOX_RAW) += sandbox-raw-bus.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_SH_ETHER) += sh_eth.o
|
2017-05-13 13:54:28 +00:00
|
|
|
obj-$(CONFIG_RENESAS_RAVB) += ravb.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_SMC91111) += smc91111.o
|
|
|
|
obj-$(CONFIG_SMC911X) += smc911x.o
|
|
|
|
obj-$(CONFIG_TSEC_ENET) += tsec.o fsl_mdio.o
|
2020-08-26 12:37:33 +00:00
|
|
|
obj-$(CONFIG_NET_OCTEONTX) += octeontx/
|
2020-08-26 12:37:42 +00:00
|
|
|
obj-$(CONFIG_NET_OCTEONTX2) += octeontx2/
|
2020-08-26 12:37:33 +00:00
|
|
|
obj-$(CONFIG_OCTEONTX_SMI) += octeontx/smi.o
|
2020-08-26 12:37:42 +00:00
|
|
|
obj-$(CONFIG_OCTEONTX2_CGX_INTF) += octeontx2/cgx_intf.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_FMAN_ENET) += fsl_mdio.o
|
|
|
|
obj-$(CONFIG_ULI526X) += uli526x.o
|
|
|
|
obj-$(CONFIG_VSC7385_ENET) += vsc7385.o
|
|
|
|
obj-$(CONFIG_XILINX_AXIEMAC) += xilinx_axi_emac.o
|
2021-07-02 10:40:34 +00:00
|
|
|
obj-$(CONFIG_XILINX_AXIMRMAC) += xilinx_axi_mrmac.o
|
2013-10-17 08:34:54 +00:00
|
|
|
obj-$(CONFIG_XILINX_EMACLITE) += xilinx_emaclite.o
|
|
|
|
obj-$(CONFIG_ZYNQ_GEM) += zynq_gem.o
|
2015-01-06 21:19:02 +00:00
|
|
|
obj-$(CONFIG_FSL_MC_ENET) += fsl-mc/
|
2015-03-19 16:20:46 +00:00
|
|
|
obj-$(CONFIG_FSL_MC_ENET) += ldpaa_eth/
|
2015-03-21 02:28:19 +00:00
|
|
|
obj-$(CONFIG_FSL_MEMAC) += fm/memac_phy.o
|
2015-01-12 12:08:33 +00:00
|
|
|
obj-$(CONFIG_VSC9953) += vsc9953.o
|
2016-01-28 10:00:21 +00:00
|
|
|
obj-$(CONFIG_PIC32_ETH) += pic32_mdio.o pic32_eth.o
|
2016-10-21 20:46:47 +00:00
|
|
|
obj-$(CONFIG_DWC_ETH_QOS) += dwc_eth_qos.o
|
2018-03-08 10:00:35 +00:00
|
|
|
obj-$(CONFIG_FSL_PFE) += pfe_eth/
|
2020-02-06 08:48:16 +00:00
|
|
|
obj-y += qe/
|
2018-05-24 10:24:37 +00:00
|
|
|
obj-$(CONFIG_SNI_AVE) += sni_ave.o
|
2021-06-04 09:44:38 +00:00
|
|
|
obj-$(CONFIG_SNI_NETSEC) += sni_netsec.o
|
2018-10-31 21:21:39 +00:00
|
|
|
obj-y += ti/
|
2018-12-20 08:12:53 +00:00
|
|
|
obj-$(CONFIG_MEDIATEK_ETH) += mtk_eth.o
|
2019-01-31 14:30:33 +00:00
|
|
|
obj-y += mscc_eswitch/
|
2019-03-20 07:32:40 +00:00
|
|
|
obj-$(CONFIG_HIGMACV300_ETH) += higmacv300.o
|
2019-06-03 16:12:28 +00:00
|
|
|
obj-$(CONFIG_MDIO_SANDBOX) += mdio_sandbox.o
|
2019-07-03 09:11:41 +00:00
|
|
|
obj-$(CONFIG_FSL_ENETC) += fsl_enetc.o fsl_enetc_mdio.o
|
2020-03-18 14:47:36 +00:00
|
|
|
obj-$(CONFIG_FSL_LS_MDIO) += fsl_ls_mdio.o
|
2021-11-02 05:41:54 +00:00
|
|
|
obj-$(CONFIG_ASPEED_MDIO) += aspeed_mdio.o
|