[PATCH v4 v5 00/10] add support for Enclustra Mercury AA1 SoMs
Lothar Rubusch
l.rubusch at gmail.com
Tue Nov 19 23:46:33 CET 2024
Introduce the support for three variants of Enclustra's Intel Mercury AA1 (with
Intel Arria10) SoMs and additional configs.
The DT approach is partly based on dts/upstream, which are (going to be)
upstreamed to the linux kernel.
Signed-off-by: Lothar Rubusch <l.rubusch at gmail.com>
---
v4 -> v5:
- exclude typo / wording fixes for binman.rst, gdb.rst and binman/entries.rst
- implicitely builds using binman
v3 -> v4:
- fix wrong mail address in v2 and author
- update scripts for stdboot and generic load
- clean up patch organization (patch 7/10 was malformed and almost empty,
added and removed stances,..)
- fix binding used for "enclustra,altera_set_storage"
- separate u-boot specific part of .dts to a
socfpga_arria10_mercury_aa1-u-boot.dtsi file
- integrate fpga.itb build with binman in the -u-boot.dtsi file
note:
1. due to binman, now the build will need binman build (i.e. requirements)
and is build then with "make NO_PYTHON=1"
2. the fpga bitstream files bitstream.core.rbf and bitstream.periph.rbf
are generated by a particular Quartus design, so they can't be committed
here. This makes the build fail, if build with binman.
For testing, thus build with
"make CONFIG_BINMAN=n"
- fix some typos in binman and gdb documentation (additional patch)
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 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
ARM: socfpga: apply binman approach to fpga parts
arch/arm/dts/socfpga_arria10.dtsi | 42 ++-
..._arria10_enclustra_mercury_aa1-u-boot.dtsi | 89 +++++
.../socfpga_arria10_enclustra_mercury_aa1.dts | 62 ++++
.../socfpga_arria10_mercury_aa1-u-boot.dtsi | 19 ++
.../dts/socfpga_arria10_mercury_aa1_handoff.h | 305 ++++++++++++++++++
arch/arm/mach-socfpga/Kconfig | 10 +
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 +++++++++++
.../socfpga_enclustra_mercury_aa1_defconfig | 86 +++++
doc/board/enclustra/index.rst | 9 +
doc/board/enclustra/mercury-aa1.rst | 230 +++++++++++++
doc/board/index.rst | 1 +
drivers/misc/Kconfig | 2 +-
include/configs/socfpga_mercury_aa1.h | 23 ++
26 files changed, 1497 insertions(+), 12 deletions(-)
create mode 100644 arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1-u-boot.dtsi
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 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.39.2
More information about the U-Boot
mailing list