[PATCH v4 00/22] ppc: qemu: Add eTSEC support

Bin Meng bmeng.cn at gmail.com
Sun Mar 14 13:14:44 CET 2021


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=343&view=results

This series is avaiable at u-boot-x86/eTSEC for testing.

[1] https://patchwork.ozlabs.org/project/uboot/patch/20210216224804.3355044-2-olteanv@gmail.com/

Changes in v4:
- describe "ranges" is required fo the alternate description
- make platform_bus_map_region() return void

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 at 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   |  29 +++
 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 |  19 +-
 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, 691 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

-- 
2.25.1



More information about the U-Boot mailing list