
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