Message ID | 20200817043431.28718-1-chee.hong.ang@intel.com |
---|---|
Headers | show |
Series | Enable ARM Trusted Firmware for U-Boot | expand |
Chee Hong Ang <chee.hong.ang@intel.com> schrieb am Mo., 17. Aug. 2020, 06:34: > Repost of the following patchs: > https://lists.denx.de/pipermail/u-boot/2020-March/402705.html If this is a repost, please send as such instead of sending as a new series v1. Regards, Simon > > New U-boot flow with ARM Trusted Firmware (ATF) support: > SPL (EL3) -> ATF-BL31 (EL3) -> U-Boot Proper (EL2) -> Linux (EL1) > > SPL loads the u-boot.itb which consist of: > 1) u-boot-nodtb.bin (U-Boot Proper image) > 2) u-boot.dtb (U-Boot Proper DTB) > 3) bl31.bin (ATF-BL31 image) > > Supported Platform: Intel SoCFPGA 64bits (Stratix10 & Agilex) > > Now, U-Boot Proper is running in non-secure mode (EL2), it invokes > SMC/PSCI calls provided by ATF to perform COLD reset, System Manager > register accesses and mailbox communications with Secure Device Manager > (SDM). > > Steps to build the U-Boot with ATF support: > 1) Build U-Boot > 2) Build ATF BL31 > 3) Copy ATF BL31 binary image into U-Boot's root folder > 4) "make u-boot.itb" to generate u-boot.itb > > These patchsets have dependency on: > arm: socfpga: soc64: Add timeout waiting for NOC idle ACK > https://lists.denx.de/pipermail/u-boot/2020-August/423029.html > > Rename Stratix10 FPGA driver and support Agilex > https://lists.denx.de/pipermail/u-boot/2020-August/422798.html > > SoCFPGA mailbox driver fixes and enhancements > https://lists.denx.de/pipermail/u-boot/2020-August/423140.html > > arm: socfpga: soc64: Initialize timer in SPL only > https://lists.denx.de/pipermail/u-boot/2020-July/419692.html > > arm: socfpga: soc64: Remove PHY interface setup from misc arch init > https://lists.denx.de/pipermail/u-boot/2020-July/419690.html > > Enable sysreset support for SoCFPGA SoC64 platforms > https://lists.denx.de/pipermail/u-boot/2020-August/422509.html > > arm: socfpga: soc64: Disable CONFIG_PSCI_RESET > https://lists.denx.de/pipermail/u-boot/2020-August/423373.html > > Chee Hong Ang (16): > arm: socfpga: soc64: Remove CONFIG_OF_EMBED > arm: socfpga: soc64: Add FIT generator script for pack itb with ATF > arm: socfpga: Add function for checking description from FIT image > arm: socfpga: soc64: Load FIT image with ATF support > arm: socfpga: soc64: Override 'lowlevel_init' to support ATF > arm: socfpga: Disable "spin-table" method for booting Linux > arm: socfpga: soc64: Add SMC helper function for Intel SOCFPGA > (64bits) > arm: socfpga: soc64: Define SMC function identifiers for PSCI SiP > services > mmc: dwmmc: socfpga: Add ATF support for MMC driver > net: designware: socfpga: Add ATF support for MAC driver > arm: socfpga: soc64: Add ATF support for Reset Manager driver > arm: socfpga: soc64: Add ATF support for FPGA reconfig driver > arm: socfpga: mailbox: Add 'SYSTEM_RESET' PSCI support to > mbox_reset_cold() > arm: socfpga: soc64: SSBL shall not setup stack on OCRAM > arm: socfpga: soc64: Skip handoff data access in SSBL > configs: socfpga: Add defconfig for Agilex and Stratix 10 with ATF > support > > arch/arm/mach-socfpga/Kconfig | 2 - > arch/arm/mach-socfpga/Makefile | 4 + > arch/arm/mach-socfpga/board.c | 12 +- > arch/arm/mach-socfpga/include/mach/smc_api.h | 13 + > arch/arm/mach-socfpga/lowlevel_init_soc64.S | 76 +++ > arch/arm/mach-socfpga/mailbox_s10.c | 5 + > arch/arm/mach-socfpga/reset_manager_s10.c | 10 + > arch/arm/mach-socfpga/smc_api.c | 56 ++ > arch/arm/mach-socfpga/wrap_pll_config_s10.c | 3 +- > board/altera/soc64/fit_spl_atf.sh | 91 +++ > ...defconfig => socfpga_agilex_atf_defconfig} | 25 +- > configs/socfpga_agilex_defconfig | 1 - > ...config => socfpga_stratix10_atf_defconfig} | 25 +- > configs/socfpga_stratix10_defconfig | 1 - > drivers/fpga/intel_sdm_mb.c | 139 +++++ > drivers/mmc/socfpga_dw_mmc.c | 20 + > drivers/net/dwmac_socfpga.c | 43 +- > include/configs/socfpga_soc64_common.h | 9 + > include/linux/intel-smc.h | 573 ++++++++++++++++++ > 19 files changed, 1078 insertions(+), 30 deletions(-) > create mode 100644 arch/arm/mach-socfpga/include/mach/smc_api.h > create mode 100644 arch/arm/mach-socfpga/lowlevel_init_soc64.S > create mode 100644 arch/arm/mach-socfpga/smc_api.c > create mode 100755 board/altera/soc64/fit_spl_atf.sh > copy configs/{socfpga_agilex_defconfig => socfpga_agilex_atf_defconfig} > (77%) > copy configs/{socfpga_stratix10_defconfig => > socfpga_stratix10_atf_defconfig} (80%) > create mode 100644 include/linux/intel-smc.h > > -- > 2.19.0 > >
Chee Hong Ang <chee.hong.ang@intel.com<mailto:chee.hong.ang@intel.com>> schrieb am Mo., 17. Aug. 2020, 06:34: Repost of the following patchs: https://lists.denx.de/pipermail/u-boot/2020-March/402705.html > If this is a repost, please send as such instead of sending as a new series v1. Sorry, please ignore the repost. This patch series has some new changes which I think should be new series itself. > Regards, > Simon New U-boot flow with ARM Trusted Firmware (ATF) support: SPL (EL3) -> ATF-BL31 (EL3) -> U-Boot Proper (EL2) -> Linux (EL1) SPL loads the u-boot.itb which consist of: 1) u-boot-nodtb.bin (U-Boot Proper image) 2) u-boot.dtb (U-Boot Proper DTB) 3) bl31.bin (ATF-BL31 image) Supported Platform: Intel SoCFPGA 64bits (Stratix10 & Agilex) Now, U-Boot Proper is running in non-secure mode (EL2), it invokes SMC/PSCI calls provided by ATF to perform COLD reset, System Manager register accesses and mailbox communications with Secure Device Manager (SDM). Steps to build the U-Boot with ATF support: 1) Build U-Boot 2) Build ATF BL31 3) Copy ATF BL31 binary image into U-Boot's root folder 4) "make u-boot.itb" to generate u-boot.itb These patchsets have dependency on: arm: socfpga: soc64: Add timeout waiting for NOC idle ACK https://lists.denx.de/pipermail/u-boot/2020-August/423029.html Rename Stratix10 FPGA driver and support Agilex https://lists.denx.de/pipermail/u-boot/2020-August/422798.html SoCFPGA mailbox driver fixes and enhancements https://lists.denx.de/pipermail/u-boot/2020-August/423140.html arm: socfpga: soc64: Initialize timer in SPL only https://lists.denx.de/pipermail/u-boot/2020-July/419692.html arm: socfpga: soc64: Remove PHY interface setup from misc arch init https://lists.denx.de/pipermail/u-boot/2020-July/419690.html Enable sysreset support for SoCFPGA SoC64 platforms https://lists.denx.de/pipermail/u-boot/2020-August/422509.html arm: socfpga: soc64: Disable CONFIG_PSCI_RESET https://lists.denx.de/pipermail/u-boot/2020-August/423373.html Chee Hong Ang (16): arm: socfpga: soc64: Remove CONFIG_OF_EMBED arm: socfpga: soc64: Add FIT generator script for pack itb with ATF arm: socfpga: Add function for checking description from FIT image arm: socfpga: soc64: Load FIT image with ATF support arm: socfpga: soc64: Override 'lowlevel_init' to support ATF arm: socfpga: Disable "spin-table" method for booting Linux arm: socfpga: soc64: Add SMC helper function for Intel SOCFPGA (64bits) arm: socfpga: soc64: Define SMC function identifiers for PSCI SiP services mmc: dwmmc: socfpga: Add ATF support for MMC driver net: designware: socfpga: Add ATF support for MAC driver arm: socfpga: soc64: Add ATF support for Reset Manager driver arm: socfpga: soc64: Add ATF support for FPGA reconfig driver arm: socfpga: mailbox: Add 'SYSTEM_RESET' PSCI support to mbox_reset_cold() arm: socfpga: soc64: SSBL shall not setup stack on OCRAM arm: socfpga: soc64: Skip handoff data access in SSBL configs: socfpga: Add defconfig for Agilex and Stratix 10 with ATF support arch/arm/mach-socfpga/Kconfig | 2 - arch/arm/mach-socfpga/Makefile | 4 + arch/arm/mach-socfpga/board.c | 12 +- arch/arm/mach-socfpga/include/mach/smc_api.h | 13 + arch/arm/mach-socfpga/lowlevel_init_soc64.S | 76 +++ arch/arm/mach-socfpga/mailbox_s10.c | 5 + arch/arm/mach-socfpga/reset_manager_s10.c | 10 + arch/arm/mach-socfpga/smc_api.c | 56 ++ arch/arm/mach-socfpga/wrap_pll_config_s10.c | 3 +- board/altera/soc64/fit_spl_atf.sh | 91 +++ ...defconfig => socfpga_agilex_atf_defconfig} | 25 +- configs/socfpga_agilex_defconfig | 1 - ...config => socfpga_stratix10_atf_defconfig} | 25 +- configs/socfpga_stratix10_defconfig | 1 - drivers/fpga/intel_sdm_mb.c | 139 +++++ drivers/mmc/socfpga_dw_mmc.c | 20 + drivers/net/dwmac_socfpga.c | 43 +- include/configs/socfpga_soc64_common.h | 9 + include/linux/intel-smc.h | 573 ++++++++++++++++++ 19 files changed, 1078 insertions(+), 30 deletions(-) create mode 100644 arch/arm/mach-socfpga/include/mach/smc_api.h create mode 100644 arch/arm/mach-socfpga/lowlevel_init_soc64.S create mode 100644 arch/arm/mach-socfpga/smc_api.c create mode 100755 board/altera/soc64/fit_spl_atf.sh copy configs/{socfpga_agilex_defconfig => socfpga_agilex_atf_defconfig} (77%) copy configs/{socfpga_stratix10_defconfig => socfpga_stratix10_atf_defconfig} (80%) create mode 100644 include/linux/intel-smc.h -- 2.19.0