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.
On the DT approach: I can agree that in parallel I may go for upstreaming the kernel DT. There is a fundamental difference, still: In order to represent the combination of module + baseboard + bootmode for the kernel DT we have to use a mechanism like DTO. For u-boot this can be simpler. Currently the few adjustments needed will be represented by the DT files as are. I propose to keep them, and in case remove them later, which I doubt, since the full DT for the kernel will cover more details. In case refactoring is needed I can update the DT also in u-boot. --- 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 (7): doc: board: enclustra: add Enclustra Intel AA1 SoM ARM: dts: socfpga: add Enclustra Intel AA1 ARM: socfpga: add Enclustra AA1 SoM support ARM: socfpga: add Enclustra AA1 extra env settings ARM: socfpga: add Enclustra AA1 demo env files ARM: socfpga: add Enclustra AA1 boot scripts ARM: socfpga: AA1: support MAC from secure eeprom arch/arm/dts/ME-AA1-270-2I2-D11E-NFX3.dtsi | 14 + arch/arm/dts/ME-AA1-270-3E4-D11E-NFX3.dtsi | 14 + arch/arm/dts/ME-AA1-480-2I3-D12E-NFX3.dtsi | 15 + arch/arm/dts/Makefile | 2 + arch/arm/dts/enclustra-aa1.dts | 32 ++ .../dts/socfpga_arria10_mercury_aa1_handoff.h | 307 ++++++++++++++++++ .../dts/socfpga_enclustra_mercury_aa1.dtsi | 179 ++++++++++ ...cfpga_enclustra_mercury_aa1_qspi_boot.dtsi | 18 + ...fpga_enclustra_mercury_aa1_sdmmc_boot.dtsi | 18 + .../dts/socfpga_enclustra_mercury_pe1.dtsi | 7 + .../dts/socfpga_enclustra_mercury_pe3.dtsi | 8 + .../dts/socfpga_enclustra_mercury_st1.dtsi | 8 + arch/arm/mach-socfpga/Kconfig | 9 + board/enclustra/bootscripts/qspi-aa1.cmd | 12 + board/enclustra/bootscripts/sd-aa1.cmd | 10 + board/enclustra/common/Kconfig | 24 ++ board/enclustra/common/Makefile | 7 + board/enclustra/common/enclustra_mac.h | 48 +++ board/enclustra/common/mac_atsha204.c | 97 ++++++ board/enclustra/common/mac_common.c | 54 +++ board/enclustra/common/mac_ds28.c | 88 +++++ board/enclustra/mercury_aa1/Kconfig | 15 + board/enclustra/mercury_aa1/MAINTAINERS | 11 + board/enclustra/mercury_aa1/Makefile | 10 + .../mercury_aa1/aa1_board_late_init.c | 17 + .../mercury_aa1/aa1_set_storage_cmd.c | 177 ++++++++++ board/enclustra/mercury_aa1/bitstream.its | 32 ++ board/enclustra/mercury_aa1/mercury_aa1.env | 65 ++++ .../socfpga_enclustra_mercury_aa1_defconfig | 79 +++++ doc/board/enclustra/index.rst | 9 + doc/board/enclustra/mercury-aa1.rst | 207 ++++++++++++ doc/board/index.rst | 1 + drivers/misc/Kconfig | 2 +- include/configs/socfpga_mercury_aa1.h | 68 ++++ 34 files changed, 1663 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/ME-AA1-270-2I2-D11E-NFX3.dtsi create mode 100644 arch/arm/dts/ME-AA1-270-3E4-D11E-NFX3.dtsi create mode 100644 arch/arm/dts/ME-AA1-480-2I3-D12E-NFX3.dtsi create mode 100644 arch/arm/dts/enclustra-aa1.dts create mode 100644 arch/arm/dts/socfpga_arria10_mercury_aa1_handoff.h create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_aa1.dtsi create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_aa1_qspi_boot.dtsi create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_aa1_sdmmc_boot.dtsi create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_pe1.dtsi create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_pe3.dtsi create mode 100644 arch/arm/dts/socfpga_enclustra_mercury_st1.dtsi 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/bitstream.its create mode 100644 board/enclustra/mercury_aa1/mercury_aa1.env 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