Hi Stefano, Please pull nxp-imx-2021-4-6. This PR is based on Tom's master branch. If you need me rebase on imx/master, I could redo this PR. This is quite a large PR, since lots stuff in downstream tree.
CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/7046 ------------------------------------------ convert to use binman for i.MX8MN/M/P EVK board i.MX8M caam/dek support hab update/fix for i.MX8M/7ULP env/distro cleanup for i.MX8M i.MX8M ddr script/driver update ------------------------------------------ Thanks, Peng. The following changes since commit 90eba245a66aa20589404ba537215faf2012c1a3: Merge branch 'next' (2021-04-05 11:29:57 -0400) are available in the Git repository at: https://github.com/MrVan/u-boot.git tags/nxp-imx-2021-4-6 for you to fetch changes up to cf0202c231815ed41e580f0b81e3abc7493671fc: doc: imx8mp-evk: update after using binman (2021-04-07 10:51:49 +0800) ---------------------------------------------------------------- Aymen Sghaier (6): crypto: caam: Add CAAM support to i.MX8M platforms crypto: caam: Fix build warnings pointer casting crypto: Add blob command support for i.MX8M platforms crypto: caam: Fix pointer size to 32bit for i.MX8M crypto: caam: Add secure memory vid 3 support crypto: caam: RNG4 TRNG errata Breno Lima (13): imx: imx7 Support for Manufacturing Protection imx: Avoid hardcoded output ring size register offset (ORSR) imx: Ensure CAAM clock is enabled prior getting out_jr_size imx: Avoid hardcoded Job Ring Max size imx: hab: Enable hab.c to authenticate additional images in open configuration imx: hab: Check if IVT header is HABv4 mx7ulp: hab: Add hab_status command for HABv4 M4 boot imx: hab: Fix build warnings in 32-bit targets crypto: fsl: blob: Flush dcache range for destination address mx6dq: hab: Fix chip version in hab.h code cmd: blob: Add IMX_HAB and CAAM supported SoCs as dependency cmd: blob: Instantiate RNG before running CMD_BLOB fsl_mfgprot: Fix typo in sign_mppubk() Clement Faure (2): imx8m: Add DEK blob encapsulation for imx8m imx8: Add DEK blob encapsulation Clement Le Marquis (1): imx: caam: new u-boot command to set PRIBLOB bitfield from CAAM SCFGR register to 0x3 Franck LENORMAND (3): crypto: caam: change JR running loop caam: enable support for iMX7ULP imx7ulp: Enable support for cmd blob Jacky Bai (1): imx8mn: Update the DDR4 timing script on imx8mn ddr4 evk Peng (1): imx8mn: evk: update MAINTAINERS Peng Fan (20): tools: imx image: fix write warning imx8mm/p: remove boot.cmd imx8mm_evk: add/cleanup variable for distro imx8mp_evk: add/cleanup variable for distro imx8mp_evk: spl: clean up including headers imx8mp_evk: Increase VDD_ARM to 0.95v Overdrive voltage power: pca9450: add a new parameter for power_pca9450_init imx8mn_evk: drop duplicated code imx8mn: Add LPDDR4 EVK board support imx8m: soc: update fuse path arch: mach-imx: imx8m: fix unique_id read error for imx8mp imx8m: add regs used by CAAM imx: HAB: Update hab codes to support ARM64 and i.MX8M imx8mm_evk: switch to use binman to pack images doc: imx8mm_evk: update doc after using binman imx8mn-ddr4-evk: switch to use binman imx8mn-evk: switch to use binman doc: imx8mn_evk: update doc after using binman imx8mp-evk: switch to use binman doc: imx8mp-evk: update after using binman Sherry Sun (1): imx8mp: ddr: Add inline ECC feature support Utkarsh Gupta (2): imx: HAB: Validate IVT before authenticating image imx: hab: Display All HAB events via hab_status command Ye Li (18): imx8mm_evk: Update to latest LPDDR4 script imx8mm_evk: Switch to new imx8mm evk board imx8mp_evk: Update LPDDR4 timing for new FW 202006 imx8mp_evk: Update LPDDR4 refresh time imx8mn: Add low drive mode support for DDR4/LPDDR4 EVK imx8mn: Add support for 11x11 UltraLite part number imx8m: Update thermal and PMU kernel nodes for dual/single cores imx8m: ddr: Disable CA VREF Training for LPDDR4 iMX8MQ: Recognize the B2 revision misc: ocotp: Update OCOTP driver for iMX8MQ B2 imx8mq_evk: Applying default LPDDR4 script for B2 imx: hab: Add function to authenticate kernel image hab: Change calling to ROM API failsafe imx: HAB: Add support for iMX8MM iMX8M: Add support to enable CONFIG_IMX_HAB imx: cmd_dek: Enable DEK only for chips supporting CAAM crypto: caam: Add fsl caam driver crypto: fsl: refactor for 32 bit version CAAM support on ARM64 haidong.zheng (1): imx8mp: refine power on imx8mp board arch/arm/Kconfig | 6 + arch/arm/dts/Makefile | 1 + arch/arm/dts/imx8mm-evk-u-boot.dtsi | 117 ++++++++- arch/arm/dts/imx8mm-evk.dtsi | 127 +++++----- arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi | 115 +++++++++ arch/arm/dts/imx8mn-evk-u-boot.dtsi | 128 ++++++++++ arch/arm/dts/imx8mn-evk.dts | 128 ++++++++++ arch/arm/dts/imx8mp-evk-u-boot.dtsi | 112 +++++++++ arch/arm/include/asm/arch-imx/cpu.h | 13 +- arch/arm/include/asm/arch-imx8/image.h | 11 + arch/arm/include/asm/arch-imx8m/clock.h | 1 + arch/arm/include/asm/arch-imx8m/imx-regs.h | 21 ++ arch/arm/include/asm/arch-mx7/crm_regs.h | 8 + arch/arm/include/asm/arch-mx7ulp/imx-regs.h | 12 + arch/arm/include/asm/mach-imx/hab.h | 37 ++- arch/arm/include/asm/mach-imx/sys_proto.h | 6 +- arch/arm/mach-imx/Kconfig | 44 +++- arch/arm/mach-imx/Makefile | 3 + arch/arm/mach-imx/cmd_dek.c | 262 ++++++++++++++++++-- arch/arm/mach-imx/cmd_mfgprot.c | 150 ++++++++++++ arch/arm/mach-imx/cpu.c | 8 +- arch/arm/mach-imx/hab.c | 417 ++++++++++++++++++++++++++++---- arch/arm/mach-imx/imx8/Kconfig | 1 + arch/arm/mach-imx/imx8m/Kconfig | 11 + arch/arm/mach-imx/imx8m/clock_imx8mm.c | 8 + arch/arm/mach-imx/imx8m/clock_imx8mq.c | 7 + arch/arm/mach-imx/imx8m/soc.c | 183 ++++++++++++-- arch/arm/mach-imx/mx7ulp/Kconfig | 1 + arch/arm/mach-imx/priblob.c | 33 +++ board/freescale/imx8mm_evk/boot.cmd | 35 --- board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg | 9 + board/freescale/imx8mm_evk/lpddr4_timing.c | 692 +++++++++++++++++++++------------------------------- board/freescale/imx8mm_evk/spl.c | 33 +-- board/freescale/imx8mn_evk/Kconfig | 6 +- board/freescale/imx8mn_evk/MAINTAINERS | 3 +- board/freescale/imx8mn_evk/Makefile | 6 + board/freescale/imx8mn_evk/ddr4_timing.c | 1057 ++++++++++++++++++++++++++++++++++---------------------------------------------- board/freescale/imx8mn_evk/ddr4_timing_ld.c | 1057 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ board/freescale/imx8mn_evk/imximage-8mn-ddr4.cfg | 10 + board/freescale/imx8mn_evk/lpddr4_timing.c | 1587 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ board/freescale/imx8mn_evk/lpddr4_timing_ld.c | 1440 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ board/freescale/imx8mn_evk/spl.c | 50 +++- board/freescale/imx8mp_evk/boot.cmd | 25 -- board/freescale/imx8mp_evk/imximage-8mp-lpddr4.cfg | 10 + board/freescale/imx8mp_evk/lpddr4_timing.c | 372 +++++++++++++++++++++------- board/freescale/imx8mp_evk/spl.c | 38 +-- board/freescale/imx8mq_evk/spl.c | 2 +- board/phytec/phycore_imx8mp/spl.c | 2 +- cmd/Kconfig | 8 + cmd/Makefile | 1 + cmd/blob.c | 16 ++ cmd/cmd_fsl_caam.c | 88 +++++++ configs/imx8mm_evk_defconfig | 6 +- configs/imx8mn_ddr4_evk_defconfig | 4 +- configs/imx8mn_evk_defconfig | 93 +++++++ configs/imx8mp_evk_defconfig | 4 +- doc/board/freescale/imx8mm_evk.rst | 3 +- doc/board/freescale/imx8mn_evk.rst | 3 +- doc/board/freescale/imx8mp_evk.rst | 11 +- doc/imx/habv4/guides/mx6_mx7_secure_boot.txt | 25 ++ drivers/crypto/Makefile | 1 + drivers/crypto/fsl/Kconfig | 6 + drivers/crypto/fsl/Makefile | 4 +- drivers/crypto/fsl/desc.h | 49 ++-- drivers/crypto/fsl/desc_constr.h | 28 +-- drivers/crypto/fsl/fsl_blob.c | 6 + drivers/crypto/fsl/fsl_hash.c | 6 +- drivers/crypto/fsl/fsl_mfgprot.c | 160 ++++++++++++ drivers/crypto/fsl/jobdesc.c | 16 +- drivers/crypto/fsl/jr.c | 53 ++-- drivers/crypto/fsl/jr.h | 11 +- drivers/crypto/fsl/type.h | 16 ++ drivers/crypto/fsl_caam.c | 720 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/crypto/fsl_caam_internal.h | 230 ++++++++++++++++++ drivers/ddr/imx/imx8m/Kconfig | 8 + drivers/misc/mxc_ocotp.c | 2 +- drivers/power/pmic/pmic_pca9450.c | 4 +- include/configs/imx8mm_evk.h | 8 +- include/configs/imx8mp_evk.h | 8 +- include/fsl_caam.h | 24 ++ include/fsl_sec.h | 54 +++-- include/power/pca9450.h | 2 +- tools/imx8image.c | 2 +- tools/imx8mimage.c | 2 +- 84 files changed, 8602 insertions(+), 1485 deletions(-) create mode 100644 arch/arm/dts/imx8mn-evk-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mn-evk.dts create mode 100644 arch/arm/mach-imx/cmd_mfgprot.c create mode 100644 arch/arm/mach-imx/priblob.c delete mode 100644 board/freescale/imx8mm_evk/boot.cmd create mode 100644 board/freescale/imx8mm_evk/imximage-8mm-lpddr4.cfg create mode 100644 board/freescale/imx8mn_evk/ddr4_timing_ld.c create mode 100644 board/freescale/imx8mn_evk/imximage-8mn-ddr4.cfg create mode 100644 board/freescale/imx8mn_evk/lpddr4_timing.c create mode 100644 board/freescale/imx8mn_evk/lpddr4_timing_ld.c delete mode 100644 board/freescale/imx8mp_evk/boot.cmd create mode 100644 board/freescale/imx8mp_evk/imximage-8mp-lpddr4.cfg mode change 100644 => 100755 board/freescale/imx8mp_evk/lpddr4_timing.c create mode 100644 cmd/cmd_fsl_caam.c create mode 100644 configs/imx8mn_evk_defconfig create mode 100644 drivers/crypto/fsl/fsl_mfgprot.c create mode 100644 drivers/crypto/fsl/type.h create mode 100644 drivers/crypto/fsl_caam.c create mode 100644 drivers/crypto/fsl_caam_internal.h create mode 100644 include/fsl_caam.h