
QEMU ppce500 machine can dynamically instantiate an eTSEC device if "-device eTSEC" is given to QEMU.
This series updates the fixed-link ethernet PHY driver as well as the Freescale eTSEC driver to support the QEMU ppce500 board.
3 patches related to fixed phy in v1 are dropped in v2 as the changes were done by Vladimir's fixed phy & Sandbox DSA series [1]. Vladimir's series is now included in v2 to avoid dependencies.
This cover letter is cc'ed to QEMU mailing list for a heads-up. A future patch will be sent to QEMU mailing list to bring its in-tree U-Boot source codes up-to-date.
Azure results: PASS https://dev.azure.com/bmeng/GitHub/_build/results?buildId=342&view=resul...
This series is avaiable at u-boot-x86/eTSEC for testing.
[1] https://patchwork.ozlabs.org/project/uboot/patch/20210216224804.3355044-2-ol...
Changes in v3: - mention that U-Boot deliberately ignores the 'phy_id' and unconditionally uses PHY_FIXED_ID - update the code logic to prefer the new binding if both new and old bindings exist - sort variable definitions by line length - reuse the sandbox dsa nodes for the fixed-link testing - new patch: net: tsec: Use map_physmem() directly instead of dev_remap_addr() - add "ranges" in the alternate example - keep the variable definitions sorted - invert the strncmp logic to reduce the indentation level - add a comment to mention only the first "queue-group" is used - call the same map_physmem() in the common code path - extract platform bus virtual memory mapping codes to a new routine - add a "break" in case multiple "qemu,platform" nodes exist
Changes in v2: - move device tree parsing from xilinxgmiitorgmii_probe() to xilinxgmiitorgmii_config() and use OF APIs - new patch: split from 20210216224804.3355044-4-olteanv@gmail.com - include <asm/global_data.h> - use a Kconfig option CONFIG_SIMPLE_BUS_CORRECT_RANGE to control the new behavior for boards that want this - default y if SANDBOX for CONFIG_SIMPLE_BUS_CORRECT_RANGE - turn on CONFIG_SIMPLE_BUS_CORRECT_RANGE in qemu-ppce500_defconfig
Bin Meng (18): dt-bindings: net: Add the old DT bindings for "fixed-link" of: extra: Introduce ofnode_phy_is_fixed_link() API dm: mdio: Use ofnode_phy_is_fixed_link() API net: phy: xilinx: Be compatible with live OF tree net: phy: xilinx: Drop #ifdef CONFIG_DM_ETH around phy_connect_gmii2rgmii() net: phy: Simplify the logic of phy_connect_fixed() net: phy: fixed: Make driver ops static net: phy: fixed: Add the missing ending newline net: phy: fixed: Support the old DT binding test: dm: Add a case to test ofnode_phy_is_fixed_link() net: tsec: Use map_physmem() directly instead of dev_remap_addr() dt-bindings: net: Update Freescale TSEC to support "queue-group" net: tsec: Support <reg> property from the subnode "queue-group" dm: core: Correctly read <ranges> of simple-bus test: dm: Add a test case for simple-bus <ranges> ppc: qemu: Create a virtual memory mapping of the platform bus ppc: qemu: Enable eTSEC support doc: board: qemu-ppce500: Document eTSEC usage
Claudiu Manoil (1): sandbox: Add a DSA sandbox driver and unit test
Vladimir Oltean (3): net: phy: fixed: Be compatible with live OF tree net: phy: fixed: Drop #ifdef CONFIG_DM_ETH around phy_connect_fixed net: tsec: Use dm_eth_phy_connect() directly for the DM case
arch/Kconfig | 2 + arch/sandbox/dts/test.dts | 44 +++++ board/emulation/qemu-ppce500/Kconfig | 6 + board/emulation/qemu-ppce500/qemu-ppce500.c | 31 +++ configs/qemu-ppce500_defconfig | 5 + doc/board/emulation/qemu-ppce500.rst | 5 + doc/device-tree-bindings/net/fixed-link.txt | 48 +++-- doc/device-tree-bindings/net/fsl-tsec-phy.txt | 16 +- drivers/core/Kconfig | 14 ++ drivers/core/of_extra.c | 23 +++ drivers/core/simple-bus.c | 32 +++- drivers/net/Kconfig | 9 + drivers/net/Makefile | 1 + drivers/net/dsa_sandbox.c | 179 ++++++++++++++++++ drivers/net/phy/Kconfig | 1 + drivers/net/phy/fixed.c | 54 ++++-- drivers/net/phy/phy.c | 63 +++--- drivers/net/phy/xilinx_gmii2rgmii.c | 61 +++--- drivers/net/tsec.c | 36 +++- include/configs/sandbox.h | 2 + include/dm/of_extra.h | 20 ++ include/dm/simple_bus.h | 6 +- net/mdio-uclass.c | 7 +- test/dm/Makefile | 2 + test/dm/dsa.c | 82 ++++++++ test/dm/eth.c | 10 +- test/dm/of_extra.c | 18 ++ test/dm/simple-bus.c | 33 ++++ 28 files changed, 690 insertions(+), 120 deletions(-) create mode 100644 drivers/net/dsa_sandbox.c create mode 100644 test/dm/dsa.c create mode 100644 test/dm/simple-bus.c