[PATCH v4 00/10] ARM: SoCFPGA: Add initial support for Agilex5

Steffen Trumtrar s.trumtrar at pengutronix.de
Mon Jul 7 04:22:42 PDT 2025


This series adds basic support for the Altera Agilex5 SoCFPGA series.
Currently only booting from QSPI is supported. Flashing the image to the
QSPI has to be done with quartus_pgm, therefore there are still some
essential things left to have proper support for this platform.

Nevertheless it boots from QSPI and starts linux on the included
Arrow AXE5 board.

Signed-off-by: Steffen Trumtrar <s.trumtrar at pengutronix.de>
---
Changes in v4:
- add commit hash and url for origin of agilex5 code
- cleanup xstrdup/xzalloc/kzalloc usage
- agilex5 clock support
  - dev_get_resource -> dev_request_mem_resource
  - core_initcall -> core_platform_driver
  - minor cleanups
- xgmac
  - return proper error code in xgmac_read_rom_hwaddr
  - don't use DMA_DEVICE_BROKEN in dma_alloc_coherent
  - unmap before free
- Link to v3: https://lore.barebox.org/20250623-v2024-10-0-topic-socfpga-agilex5-v3-0-e9de9e31b2c1@pengutronix.de

Changes in v3:
- use phydev_dbg in adin.c
- cleanup debugging leftovers in clk driver
- xgmac: fixup edev to priv conversion
- xgmac: code cleanup
- xgmac: switch to gpiod API
- fix uart setup; didn't work without DEBUG_LL
- Link to v2: https://lore.barebox.org/20250218-v2024-10-0-topic-socfpga-agilex5-v2-0-30b6f507810b@pengutronix.de

Changes in v2:
- reorder patches
- rebase to v2025.01.0
- rework xgmac to use correct DMA buffers
- fix variable/functions scopes by adding name prefixes
- add pr_fmt where necessary
- axe5: board: convert from postcore_initcall to device_platform_driver
- Link to v1: https://lore.barebox.org/20241029-v2024-10-0-topic-socfpga-agilex5-v1-0-96df2d7dadf4@pengutronix.de

---
Steffen Trumtrar (10):
      ARM: socfpga: kconfig: sort entries
      mach: socfpga: debug_ll: rework putc_ll
      reset: reset-socfpga: build only for 32-bit socfpga
      arm: socfgpa: add support for SoCFPGA Agilex5
      clk: support init->parent_data
      linux: clk: add fw_name
      clk: socfpga: add agilex5 clock support
      net: phy: add Analog Devices ADIN1300
      net: add support for Designware XGMAC (10gb) ethernet
      ARM: socfpga: add Arrow AXE5 Agilex5 board

 arch/arm/Kconfig                              |   3 -
 arch/arm/boards/Makefile                      |   1 +
 arch/arm/boards/arrow-axe5-eagle/Makefile     |   3 +
 arch/arm/boards/arrow-axe5-eagle/board.c      |  24 +
 arch/arm/boards/arrow-axe5-eagle/lowlevel.c   |  83 +++
 arch/arm/configs/socfpga-agilex5_defconfig    |  81 +++
 arch/arm/dts/Makefile                         |   1 +
 arch/arm/dts/socfpga_agilex5.dtsi             |  51 ++
 arch/arm/dts/socfpga_agilex5_axe5_eagle.dts   |  92 +++
 arch/arm/mach-socfpga/Kconfig                 |  57 +-
 arch/arm/mach-socfpga/Makefile                |  13 +
 arch/arm/mach-socfpga/agilex5-clock-manager.c | 383 ++++++++++++
 arch/arm/mach-socfpga/agilex5-sdram.c         | 347 +++++++++++
 arch/arm/mach-socfpga/agilex5-secreg.c        | 289 +++++++++
 arch/arm/mach-socfpga/arria10-init.c          |   2 +-
 arch/arm/mach-socfpga/atf.c                   |  34 ++
 arch/arm/mach-socfpga/cpu_init.c              |  43 ++
 arch/arm/mach-socfpga/cyclone5-init.c         |   2 +-
 arch/arm/mach-socfpga/iossm_mailbox.c         | 511 ++++++++++++++++
 arch/arm/mach-socfpga/iossm_mailbox.h         | 157 +++++
 arch/arm/mach-socfpga/mailbox_s10.c           | 347 +++++++++++
 arch/arm/mach-socfpga/secure_reg_helper.c     |  75 +++
 arch/arm/mach-socfpga/smc_api.c               |  43 ++
 arch/arm/mach-socfpga/soc64-system-manager.c  | 102 ++++
 arch/arm/mach-socfpga/soc64-wrap-handoff.c    | 124 ++++
 common/Kconfig.debug_ll                       |  17 +
 drivers/clk/clk.c                             |  49 +-
 drivers/clk/socfpga/Makefile                  |   4 +-
 drivers/clk/socfpga/clk-agilex5.c             | 829 +++++++++++++++++++++++++
 drivers/clk/socfpga/clk-gate-s10.c            | 178 ++++++
 drivers/clk/socfpga/clk-periph-s10.c          | 157 +++++
 drivers/clk/socfpga/clk-pll-s10.c             | 137 +++++
 drivers/clk/socfpga/clk.h                     |   9 +
 drivers/clk/socfpga/stratix10-clk.h           |  73 +++
 drivers/net/Kconfig                           |  18 +
 drivers/net/Makefile                          |   2 +
 drivers/net/designware_xgmac.c                | 837 ++++++++++++++++++++++++++
 drivers/net/designware_xgmac.h                | 296 +++++++++
 drivers/net/designware_xgmac_socfpga.c        | 156 +++++
 drivers/net/phy/Kconfig                       |   7 +
 drivers/net/phy/Makefile                      |   1 +
 drivers/net/phy/adin.c                        | 362 +++++++++++
 drivers/reset/Kconfig                         |   6 +
 drivers/reset/Makefile                        |   2 +-
 firmware/Kconfig                              |   3 +
 firmware/Makefile                             |   1 +
 images/Makefile.socfpga                       |  17 +
 include/linux/clk.h                           |   2 +
 include/mach/socfpga/agilex5-clk.h            | 266 ++++++++
 include/mach/socfpga/atf.h                    |  14 +
 include/mach/socfpga/debug_ll.h               |  44 +-
 include/mach/socfpga/generic.h                |   3 +
 include/mach/socfpga/init.h                   |   2 +
 include/mach/socfpga/intel-smc.h              | 545 +++++++++++++++++
 include/mach/socfpga/mailbox_s10.h            | 191 ++++++
 include/mach/socfpga/secure_reg_helper.h      |  19 +
 include/mach/socfpga/smc_api.h                |  12 +
 include/mach/socfpga/soc64-firewall.h         | 177 ++++++
 include/mach/socfpga/soc64-handoff.h          |  50 ++
 include/mach/socfpga/soc64-regs.h             | 195 ++++++
 include/mach/socfpga/soc64-reset-manager.h    |  40 ++
 include/mach/socfpga/soc64-sdram.h            | 203 +++++++
 include/mach/socfpga/soc64-system-manager.h   | 176 ++++++
 63 files changed, 7929 insertions(+), 39 deletions(-)
---
base-commit: 89bf1fcc998fc5fea0ce613d9930dd9ee39c0fb2
change-id: 20241029-v2024-10-0-topic-socfpga-agilex5-c087bbc7d774

Best regards,
-- 
Steffen Trumtrar <s.trumtrar at pengutronix.de>




More information about the barebox mailing list