[PATCH 00/10] add support for Enclustra Mercury AA1 SoMs

Lothar Rubusch l.rubusch at gmail.com
Sun Oct 13 16:32:22 CEST 2024


Introduce the support for three variants of Enclustra's Intel Mercury AA1 (with
Intel Arria10) SoMs and additional configs. This is supposed to be the first
step to upstream several of Enclustras SoC FPGA Modules. There are still things
to be modified. So, this is supposed to start the discussion and also to
clarify some of my open issues. 

The DT approach is partly based on dts/upstream, which are (going to be)
upstreamed to the linux kernel.

---
v2 -> v3:
- update of DT concept to work with dts/upstream
- update of DT parts in arch/arm/dts, because of:
  -- the handoff initialization of the Arria10 SoC
  -- the fpga loader for the bitstream in the DTS
  -- the adjustments to access the boot media, from where to load the fpga.itb
  -- and to mux media for booting, e.g. QSPI off, when booting from MMC
- implementation of kconfig options to combine SoM .dtsi file, carrier board
  .dtsi files, boot-mode parts, and so on resulting in a single .dts
  file located in arch/arm/dts because of the above mentioned reasons
- adjustents to (better) satisfy dtb checks
- updated MAINTAINERS
- updated documentation
- update to use standard boot and environment as only environment, removal of
  explicit variables and environment files
- removal of duplicate codes
- cleanup and implement altera_set_storage (boot media switch command in
  u-boot shell) based on DM
- fix spansion flash access to allow flashing from off the u-boot shell,
  this patch was already presented separately, the fix is actively needed for
  the AA1 SoM
- sort lists in several files alfabetically
- update boot commands using && instead of ;

v1 -> v2:
- removal si5338 driver
- removal si5338 driver usage
- rename .c file for the boot cmd, build conditionally
- add separate .c file for late boot init to read MAC address from eeprom
- keep DT approach for u-boot under discussion
- fix issues in doc
- update MAINTAINERS to cover doc

---
Lothar Rubusch (10):
  doc: board: enclustra: add Enclustra Mercury+ AA1
  ARM: socfpga: add Mercury+ AA1 SoM support
  ARM: dts: socfpga: add Mercury+ AA1 for u-boot dts
  ARM: socfpga: add Enclustra storage switch
  ARM: socfpga: add Mercury+ AA1 extra env settings
  ARM: socfpga: add Mercury+ AA1 boot scripts
  ARM: socfpga: AA1: support MAC from secure eeprom
  misc: atsha204a: update kconfig description
  ARM: dts: arria10: update according to DTSpec
  ARM: socfpga: update function call to modern API

 arch/arm/dts/socfpga_arria10.dtsi             |  42 ++-
 .../socfpga_arria10_enclustra_mercury_aa1.dts | 103 ++++++
 .../socfpga_arria10_mercury_aa1-u-boot.dtsi   |  19 ++
 .../dts/socfpga_arria10_mercury_aa1_handoff.h | 305 ++++++++++++++++++
 arch/arm/mach-socfpga/Kconfig                 |   9 +
 arch/arm/mach-socfpga/misc_arria10.c          |   2 -
 board/enclustra/bootscripts/qspi-aa1.cmd      |  12 +
 board/enclustra/bootscripts/sd-aa1.cmd        |   9 +
 board/enclustra/common/Kconfig                |  25 ++
 board/enclustra/common/Makefile               |   7 +
 board/enclustra/common/enclustra_mac.h        |  48 +++
 board/enclustra/common/mac_atsha204.c         | 102 ++++++
 board/enclustra/common/mac_common.c           |  52 +++
 board/enclustra/common/mac_ds28.c             |  93 ++++++
 board/enclustra/mercury_aa1/Kconfig           |  52 +++
 board/enclustra/mercury_aa1/MAINTAINERS       |  12 +
 board/enclustra/mercury_aa1/Makefile          |  10 +
 .../mercury_aa1/aa1_board_late_init.c         |  17 +
 .../mercury_aa1/aa1_set_storage_cmd.c         | 190 +++++++++++
 board/enclustra/mercury_aa1/fpga.its          |  32 ++
 .../socfpga_enclustra_mercury_aa1_defconfig   |  86 +++++
 doc/board/enclustra/index.rst                 |   9 +
 doc/board/enclustra/mercury-aa1.rst           | 227 +++++++++++++
 doc/board/index.rst                           |   1 +
 include/configs/socfpga_mercury_aa1.h         |  23 ++
 25 files changed, 1476 insertions(+), 11 deletions(-)
 create mode 100644 arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1.dts
 create mode 100644 arch/arm/dts/socfpga_arria10_mercury_aa1_handoff.h
 create mode 100644 board/enclustra/bootscripts/qspi-aa1.cmd
 create mode 100644 board/enclustra/bootscripts/sd-aa1.cmd
 create mode 100644 board/enclustra/common/Kconfig
 create mode 100644 board/enclustra/common/Makefile
 create mode 100644 board/enclustra/common/enclustra_mac.h
 create mode 100644 board/enclustra/common/mac_atsha204.c
 create mode 100644 board/enclustra/common/mac_common.c
 create mode 100644 board/enclustra/common/mac_ds28.c
 create mode 100644 board/enclustra/mercury_aa1/Kconfig
 create mode 100644 board/enclustra/mercury_aa1/MAINTAINERS
 create mode 100644 board/enclustra/mercury_aa1/Makefile
 create mode 100644 board/enclustra/mercury_aa1/aa1_board_late_init.c
 create mode 100644 board/enclustra/mercury_aa1/aa1_set_storage_cmd.c
 create mode 100644 board/enclustra/mercury_aa1/fpga.its
 create mode 100644 configs/socfpga_enclustra_mercury_aa1_defconfig
 create mode 100644 doc/board/enclustra/index.rst
 create mode 100644 doc/board/enclustra/mercury-aa1.rst
 create mode 100644 include/configs/socfpga_mercury_aa1.h

-- 
2.25.1



More information about the U-Boot mailing list