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.rubu...@gmail.com> --- 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 (11): 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 doc: develop: orthographic delights 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 + doc/develop/gdb.rst | 2 +- drivers/misc/Kconfig | 2 +- include/configs/socfpga_mercury_aa1.h | 23 ++ tools/binman/binman.rst | 4 +- tools/binman/entries.rst | 22 +- 29 files changed, 1511 insertions(+), 26 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.25.1