u-boot/test/dm
Claudiu Manoil ff98da0667 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-04-15 14:22:17 +05:30
..
acpi.c test: acpi: Fix warnings on 32-bit build 2021-03-13 13:14:52 -05:00
acpi.h acpi: Support generation of a scope 2020-07-17 14:32:24 +08:00
acpi_dp.c dm: acpi: Use correct GPIO polarity type in acpi_dp_add_gpio() 2020-09-25 11:27:14 +08:00
acpigen.c acpi: Add more support for generating processor tables 2020-09-25 11:27:18 +08:00
adc.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
audio.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
axi.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
blk.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bootcount.c i2c: eeprom: Use reg property instead of offset and size 2020-08-20 09:49:20 +02:00
bus.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
button.c test: add a simple test for the adc-keys button driver 2021-02-18 11:37:26 +01:00
cache.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
clk.c clk: add clk_round_rate() 2021-01-12 10:58:04 +05:30
clk_ccf.c clk: do not disable clock if it is critical 2020-09-22 11:27:18 +03:00
core.c test: Drop struct dm_test_state 2021-03-12 09:57:30 -05:00
cpu.c dm: core: Access device flags through functions 2021-01-05 12:24:41 -07:00
cros_ec.c cros_ec: Add vstore support 2021-01-30 14:25:41 -07:00
devres.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
dma.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
dsa.c sandbox: Add a DSA sandbox driver and unit test 2021-04-15 14:22:17 +05:30
dsi_host.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
eth.c sandbox: Add a DSA sandbox driver and unit test 2021-04-15 14:22:17 +05:30
fastboot.c fastboot: Allow u-boot-style partitions 2021-02-26 15:30:55 +01:00
fdtdec.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
firmware.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
gpio.c gpio: Add a way to read 3-way strapping pins 2021-03-03 15:40:47 -05:00
hwspinlock.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
i2c.c dm: test: Drop assumptions of no sequence numbers 2020-12-18 20:32:21 -07:00
i2s.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
irq.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
k210_pll.c clk: Add K210 pll support 2020-07-01 15:01:21 +08:00
Kconfig test: Move the unit tests to their own menu 2015-05-21 09:16:17 -04:00
led.c test: dm: Test for default led naming 2020-10-08 11:42:36 -04:00
mailbox.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
Makefile sandbox: Add a DSA sandbox driver and unit test 2021-04-15 14:22:17 +05:30
mdio.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
mdio_mux.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
misc.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
mmc.c mmc: sandbox: Add support for writing 2021-02-26 15:30:55 +01:00
mux-cmd.c test: mux-cmd: Add tests for the 'mux' command 2020-10-28 11:49:31 -04:00
mux-emul.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mux-mmio.c test: Add tests for the multiplexer framework 2020-10-28 11:49:31 -04:00
nop.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
of_extra.c dm: core: Update ofnode_read_fmap_entry() to read hashes 2021-01-30 14:25:42 -07:00
of_platdata.c dm: core: Create a struct for device runtime info 2021-03-26 17:03:09 +13:00
ofnode.c dm: core: Add a livetree function to check node status 2020-12-13 07:58:18 -07:00
ofread.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
osd.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
p2sb.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
panel.c video: backlight: fix pwm's duty cycle calculation 2020-10-18 15:07:33 +02:00
pch.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
pci.c dm: core: Use dev_has_ofnode() instead of dev_of_valid() 2021-01-05 12:24:41 -07:00
pci_ep.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
phy.c sandbox: dts: Add compatible string for bind-test node 2020-08-22 07:58:39 -06:00
phys2bus.c dm: test: Add test case for dev_phys_to_bus()/dev_bus_to_phys() 2021-02-18 11:56:25 +01:00
pinmux.c test: pinmux: Add test for pin muxing 2020-10-08 11:42:36 -04:00
pmc.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
pmic.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
power-domain.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
pwm.c video: backlight: Support PWMs without a known period_ns 2021-04-10 16:07:12 +02:00
qfw.c test: qemu: add qfw sandbox driver, dm tests, qemu tests 2021-04-12 17:45:39 -04:00
ram.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
read.c dm: test: Add test case for dev_get_dma_ranges() 2021-02-18 11:56:25 +01:00
regmap.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
regulator.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
remoteproc.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
reset.c test: reset: Add tests for the managed API 2020-09-30 11:55:22 -04:00
rng.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
rtc.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
scmi.c test: scmi: add local variables for scmi agent reference 2021-04-12 17:17:11 -04:00
serial.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
sf.c sf: Support querying write-protect 2021-03-27 15:04:31 +13:00
simple-pm-bus.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
smem.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
soc.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
sound.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
spi.c test: dm: spi: Add testcase for spi_claim_bus() 2020-12-22 20:39:26 -07:00
spmi.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
syscon-reset.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
syscon.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00
sysinfo.c board: Rename uclass to sysinfo 2020-11-06 10:18:20 +08:00
sysreset.c test: adjust sysreset tests 2020-11-05 09:11:30 -07:00
tee.c test: dm: tee: extend with RPC test 2021-02-16 11:48:20 -05:00
test-dm.c test: Allow SPL to run any available test 2021-03-12 09:57:31 -05:00
test-driver.c test: Use a local variable for test state 2021-03-12 09:57:30 -05:00
test-fdt.c dtoc: Assign a sequence number to each node 2021-03-22 19:23:27 +13:00
test-uclass.c test: Use a local variable for test state 2021-03-12 09:57:30 -05:00
timer.c timer: Add a test for timer_timebase_fallback 2020-09-30 08:54:45 +08:00
usb.c common: rename getc() to getchar() 2020-10-22 09:54:53 -04:00
video.c dm: treewide: Rename dev_get_platdata() to dev_get_plat() 2020-12-13 16:51:09 -07:00
virtio.c dm: core: Avoid partially removing devices 2021-02-03 03:38:41 -07:00
wdt.c dm: Rename DM test flags to make them more generic 2020-08-07 22:31:32 -04:00