diff --git a/meta-lmp-base/recipes-bsp/u-boot/u-boot-fio_2021.04.bb b/meta-lmp-base/recipes-bsp/u-boot/u-boot-fio_2021.04.bb index a04e851a69..e8f5562f35 100644 --- a/meta-lmp-base/recipes-bsp/u-boot/u-boot-fio_2021.04.bb +++ b/meta-lmp-base/recipes-bsp/u-boot/u-boot-fio_2021.04.bb @@ -1,5 +1,5 @@ require u-boot-fio-common.inc -SRCREV = "a376f0f8012fd026a01a73f2e9b31f060924c20b" +SRCREV = "d5976b6253dcae875fb42fbef68e1d05e7de5141" SRCBRANCH = "2021.04+imx_5.10.35-2.0.0-fio" LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025" diff --git a/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.10.y.inc b/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.10.y.inc index 6fff76d17b..c4775629cb 100644 --- a/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.10.y.inc +++ b/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.10.y.inc @@ -1,4 +1,4 @@ KERNEL_META_REPO ?= "git://github.com/foundriesio/lmp-kernel-cache.git" KERNEL_META_REPO_PROTOCOL ?= "https" KERNEL_META_BRANCH ?= "linux-v5.10.y" -KERNEL_META_COMMIT ?= "cf3fa2a9cd915d4536da813b19f2e5481c5809c9" +KERNEL_META_COMMIT ?= "ec9e983bd2db7e87f853a09060a8c13898e21c01" diff --git a/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.15.y.inc b/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.15.y.inc index 83c62e1f92..404abcbabb 100644 --- a/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.15.y.inc +++ b/meta-lmp-base/recipes-kernel/linux/kmeta-linux-lmp-5.15.y.inc @@ -1,4 +1,4 @@ KERNEL_META_REPO ?= "git://github.com/foundriesio/lmp-kernel-cache.git" KERNEL_META_REPO_PROTOCOL ?= "https" KERNEL_META_BRANCH ?= "linux-v5.15.y" -KERNEL_META_COMMIT ?= "8203249516013fc2fd292da5d204d802808868c0" +KERNEL_META_COMMIT ?= "0d5ce625850b47b72ac5fff68922f25e77202eca" diff --git a/meta-lmp-bsp/conf/machine/include/lmp-machine-custom.inc b/meta-lmp-bsp/conf/machine/include/lmp-machine-custom.inc index a89e28009d..6fde2bb965 100644 --- a/meta-lmp-bsp/conf/machine/include/lmp-machine-custom.inc +++ b/meta-lmp-bsp/conf/machine/include/lmp-machine-custom.inc @@ -403,6 +403,36 @@ WKS_FILE:sota:imx8mp-lpddr4-evk-ebbr ?= "efidisk-sota.wks.in" # imx8mp comes with an AzureWave CM276MA PCIe Card MACHINE_FEATURES:append:imx8mp-lpddr4-evk = " nxp89xx mxm-mwifiex-load" +# iMX8MN +UBOOT_SIGN_ENABLE:sota:mx8mn-generic-bsp = "1" +IMX_DEFAULT_BOOTLOADER:mx8mn-generic-bsp ?= "u-boot-fio" +UBOOT_DTB_LOADADDRESS:mx8mn-generic-bsp = "0x43000000" +PREFERRED_PROVIDER_virtual/trusted-firmware-a:mx8mn-generic-bsp ?= "imx-atf" +EXTRA_IMAGEDEPENDS:append:mx8mn-generic-bsp = "virtual/trusted-firmware-a" +UBOOT_CLASSES:mx8mn-generic-bsp = "uboot-fitimage" +ATF_BINARY:mx8mn-generic-bsp = "arm-trusted-firmware.bin" +UBOOT_CONFIG:mx8mn-generic-bsp = "" +LMP_BOOT_FIRMWARE_FILES:mx8mn-generic-bsp = "imx-boot u-boot.itb" +IMAGE_BOOT_FILES:mx8mn-generic-bsp = "imx-boot u-boot.itb ${KERNEL_IMAGETYPE} ${@make_dtb_boot_files(d)} boot.scr uEnv.txt" +IMAGE_BOOT_FILES:sota:mx8mn-generic-bsp = "boot.itb" +WKS_FILE_DEPENDS:append:mx8mn-generic-bsp = " u-boot-default-script imx-boot" +PREFERRED_PROVIDER_u-boot-default-script:mx8mn-generic-bsp = "u-boot-base-scr" +PREFERRED_PROVIDER_u-boot-default-script:sota:mx8mn-generic-bsp = "u-boot-ostree-scr-fit" +KERNEL_IMAGETYPE:sota:mx8mn-generic-bsp = "fitImage" +KERNEL_CLASSES:sota:mx8mn-generic-bsp = " kernel-lmp-fitimage " +## iMX8: Use latest NXP BSP downstream kernel +PREFERRED_PROVIDER_virtual/kernel:mx8mn-generic-bsp ?= "linux-lmp-fslc-imx" +MACHINE_FIRMWARE:mx8mn-generic-bsp = "linux-firmware-imx-sdma-imx7d" +WKS_FILE:sota:mx8mn-generic-bsp = "sdimage-imx8-spl-sota.wks.in" +IMXBOOT_TARGETS:mx8mn-generic-bsp = "flash_evk_spl_ddr4" +# iMX8MN DDR4 EVK +KMACHINE:imx8mn-ddr4-evk = "imx8mn-evk" +OSTREE_KERNEL_ARGS:imx8mn-ddr4-evk ?= "console=tty1 console=ttymxc1,115200 earlycon=ec_imx6q,0x30890000,115200 root=/dev/mmcblk2p2 rootfstype=ext4" +SOTA_CLIENT_FEATURES:append:imx8mn-ddr4-evk = " ubootenv" +UBOOT_MACHINE:imx8mn-ddr4-evk = "imx8mn_ddr4_evk_config" +BOOTSCR_LOAD_ADDR:imx8mn-ddr4-evk = "0x44800000" +MACHINE_EXTRA_RRECOMMENDS:append:imx8mn-ddr4-evk = " bluetooth-attach-conf" + # STM32MP1 PREFERRED_PROVIDER_virtual/kernel:stm32mp1common ?= "linux-lmp" PREFERRED_PROVIDER_virtual/bootloader:stm32mp1common = "u-boot-fio" diff --git a/meta-lmp-bsp/conf/machine/include/lmp-mfgtool-machine-custom.inc b/meta-lmp-bsp/conf/machine/include/lmp-mfgtool-machine-custom.inc index a27061cf18..6d16974ebf 100644 --- a/meta-lmp-bsp/conf/machine/include/lmp-mfgtool-machine-custom.inc +++ b/meta-lmp-bsp/conf/machine/include/lmp-mfgtool-machine-custom.inc @@ -60,6 +60,14 @@ IMAGE_BOOT_FILES:mx8mm-nxp-bsp = "imx-boot u-boot.itb boot.itb" KERNEL_IMAGETYPE:mx8mm-generic-bsp = "fitImage" KERNEL_CLASSES:mx8mm-generic-bsp = " kernel-lmp-fitimage " +# iMX8MN +UBOOT_SIGN_ENABLE:mx8mn-generic-bsp = "1" +IMX_DEFAULT_BOOTLOADER:mx8mn-generic-bsp ?= "u-boot-fio-mfgtool" +PREFERRED_PROVIDER_u-boot-default-script:mx8mn-generic-bsp = "u-boot-ostree-scr" +IMAGE_BOOT_FILES:mx8mn-nxp-bsp = "imx-boot u-boot.itb boot.itb" +KERNEL_IMAGETYPE:mx8mn-generic-bsp = "fitImage" +KERNEL_CLASSES:mx8mn-generic-bsp = " kernel-lmp-fitimage " + # Apalis-iMX6 UBOOT_SIGN_ENABLE:apalis-imx6 = "1" PREFERRED_PROVIDER_virtual/kernel:apalis-imx6 = "linux-lmp-dev-mfgtool" diff --git a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-plat-imx8mn-implement-system_reset2.patch b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-plat-imx8mn-implement-system_reset2.patch new file mode 100644 index 0000000000..38dfe6c6e9 --- /dev/null +++ b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0001-plat-imx8mn-implement-system_reset2.patch @@ -0,0 +1,27 @@ +From 159a2308a6d6f59bd1c91b3952c57b1bb83bc090 Mon Sep 17 00:00:00 2001 +From: Michael Scott +Date: Sun, 27 Mar 2022 20:58:20 -0700 +Subject: [PATCH 1/2] plat: imx8mn: implement system_reset2 + +This allows for the setup of PSCI RESET2 function + +Signed-off-by: Michael Scott +--- + plat/imx/imx8m/imx8mn/imx8mn_psci.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/plat/imx/imx8m/imx8mn/imx8mn_psci.c b/plat/imx/imx8m/imx8mn/imx8mn_psci.c +index b8fc171ef..291b7aabf 100644 +--- a/plat/imx/imx8m/imx8mn/imx8mn_psci.c ++++ b/plat/imx/imx8m/imx8mn/imx8mn_psci.c +@@ -27,6 +27,7 @@ static const plat_psci_ops_t imx_plat_psci_ops = { + .pwr_domain_pwr_down_wfi = imx_pwr_domain_pwr_down_wfi, + .get_sys_suspend_power_state = imx_get_sys_suspend_power_state, + .system_reset = imx_system_reset, ++ .system_reset2 = imx_system_reset2, + .system_off = imx_system_off, + }; + +-- +2.37.1 + diff --git a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-plat-imx8mn-SiP-call-for-secondary-boot.patch b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-plat-imx8mn-SiP-call-for-secondary-boot.patch new file mode 100644 index 0000000000..95d18fe98e --- /dev/null +++ b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/0002-plat-imx8mn-SiP-call-for-secondary-boot.patch @@ -0,0 +1,43 @@ +From 03437de41f4082961eedc97b8fbda0d2be0d403d Mon Sep 17 00:00:00 2001 +From: Michael Scott +Date: Mon, 1 Aug 2022 12:16:20 -0700 +Subject: [PATCH 2/2] plat: imx8mn: SiP call for secondary boot + +Signed-off-by: Michael Scott +--- + plat/imx/imx8m/gpc_common.c | 2 +- + plat/imx/imx8m/imx8mn/include/platform_def.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/plat/imx/imx8m/gpc_common.c b/plat/imx/imx8m/gpc_common.c +index be1a650c8..7c9725610 100644 +--- a/plat/imx/imx8m/gpc_common.c ++++ b/plat/imx/imx8m/gpc_common.c +@@ -414,7 +414,7 @@ int imx_src_handler(uint32_t smc_fid, u_register_t x1, u_register_t x2, + SMC_SET_GP(handle, CTX_GPREG_X1, ret1); + SMC_SET_GP(handle, CTX_GPREG_X2, ret2); + break; +-#if defined(PLAT_imx8mp) ++#if defined(PLAT_imx8mp) || defined(PLAT_imx8mn) + case IMX_SIP_SRC_SET_SECONDARY_BOOT: + if (x2) + mmio_setbits_32(IMX_SRC_BASE + SRC_GPR10_OFFSET, +diff --git a/plat/imx/imx8m/imx8mn/include/platform_def.h b/plat/imx/imx8m/imx8mn/include/platform_def.h +index e612214b9..8c52640a6 100644 +--- a/plat/imx/imx8m/imx8mn/include/platform_def.h ++++ b/plat/imx/imx8m/imx8mn/include/platform_def.h +@@ -119,9 +119,11 @@ + #define SRC_M4RCR U(0xc) + #define SRC_OTG1PHY_SCR U(0x20) + #define SRC_GPR1_OFFSET U(0x74) ++#define SRC_GPR10_OFFSET U(0x98) + + #define SRC_SCR_M4_ENABLE_MASK BIT(3) + #define SRC_SCR_M4C_NON_SCLR_RST_MASK BIT(0) ++#define SRC_GPR10_PERSIST_SECONDARY_BOOT BIT(30) + + #define SNVS_LPCR U(0x38) + #define SNVS_LPCR_SRTC_ENV BIT(0) +-- +2.37.1 + diff --git a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend index cc2c9718a8..1200e9d296 100644 --- a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend +++ b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend @@ -13,6 +13,8 @@ SRC_URI:append = " \ file://0001-plat-imx8mp-implement-system_reset2.patch \ file://0004-plat-imx8mq-SiP-call-for-secondary-boot.patch \ file://0001-plat-imx8mp-SiP-call-for-secondary-boot.patch \ + file://0001-plat-imx8mn-implement-system_reset2.patch \ + file://0002-plat-imx8mn-SiP-call-for-secondary-boot.patch \ " SRC_URI:append:toradex = " \ diff --git a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot/0001-iMX8M-add-SPL-only-build-for-DDR4.patch b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot/0001-iMX8M-add-SPL-only-build-for-DDR4.patch new file mode 100644 index 0000000000..7babab45d2 --- /dev/null +++ b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot/0001-iMX8M-add-SPL-only-build-for-DDR4.patch @@ -0,0 +1,41 @@ +From 3819f5aef4438431bcf4f7655c6c49105c271aa7 Mon Sep 17 00:00:00 2001 +From: Michael Scott +Date: Tue, 2 Aug 2022 18:21:01 -0700 +Subject: [PATCH] iMX8M: add SPL-only build for DDR4 + +The flash.bin image therefore becomes the SPL image ready to be +signed. This change is specific to DDR4 firmware. + +Upstream-Status: Inappropriate [lmp specific] + +Signed-off-by: Michael Scott +--- + iMX8M/soc.mak | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak +index 4d48193..2c20376 100644 +--- a/iMX8M/soc.mak ++++ b/iMX8M/soc.mak +@@ -112,7 +112,7 @@ ddr4_dmem_2d = ddr4_dmem_2d$(DDR_FW_VERSION).bin + + u-boot-spl-ddr4.bin: u-boot-spl.bin $(ddr4_imem_1d) $(ddr4_dmem_1d) $(ddr4_imem_2d) $(ddr4_dmem_2d) + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(ddr4_imem_1d) ddr4_imem_1d_pad.bin +- @objcopy -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 $(ddr4_dmem_1d) ddr4_dmem_1d_pad.bin ++ @objcopy -I binary -O binary --pad-to 0x1000 --gap-fill=0x0 $(ddr4_dmem_1d) ddr4_dmem_1d_pad.bin + @objcopy -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 $(ddr4_imem_2d) ddr4_imem_2d_pad.bin + @cat ddr4_imem_1d_pad.bin ddr4_dmem_1d_pad.bin > ddr4_1d_fw.bin + @cat ddr4_imem_2d_pad.bin $(ddr4_dmem_2d) > ddr4_2d_fw.bin +@@ -250,6 +250,9 @@ flash_evk_spl: $(MKIMG) u-boot-spl-combine u-boot-spl-ddr.bin + ./mkimage_imx8 -version $(VERSION) -loader u-boot-spl-ddr.bin $(SPL_LOAD_ADDR) -out $(OUTIMG) + endif + ++flash_evk_spl_ddr4: $(MKIMG) u-boot-spl-combine u-boot-spl-ddr4.bin ++ ./mkimage_imx8 -version $(VERSION) -loader u-boot-spl-ddr4.bin $(SPL_LOAD_ADDR) -out $(OUTIMG) ++ + flash_evk_no_hdmi: $(MKIMG) u-boot-spl-ddr.bin u-boot.itb + ./mkimage_imx8 -version $(VERSION) -fit -loader u-boot-spl-ddr.bin $(SPL_LOAD_ADDR) -second_loader u-boot.itb 0x40200000 0x60000 -out $(OUTIMG) + +-- +2.37.1 + diff --git a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_%.bbappend b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_%.bbappend index 51d848e400..155ac87488 100644 --- a/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_%.bbappend +++ b/meta-lmp-bsp/dynamic-layers/freescale-layer/recipes-bsp/imx-mkimage/imx-boot_%.bbappend @@ -10,6 +10,7 @@ SRC_URI:append:mx8m-nxp-bsp = " \ file://0003-iMX8M-add-support-for-packing-HDMI-fw-in-SPL-only-bo.patch \ file://0004-iMX8M-also-create-nohdmi-boot-image.patch \ file://0001-iMX8M-change-DDR-DMEM-padding.patch \ + file://0001-iMX8M-add-SPL-only-build-for-DDR4.patch \ " SRC_URI:append:mx8qm-nxp-bsp = " \ @@ -25,7 +26,7 @@ do_compile[depends] = " \ do_compile:prepend:mx8-nxp-bsp() { for target in ${IMXBOOT_TARGETS}; do - if [ "${target}" = "flash_evk_spl" ]; then + if [ "${target}" = "flash_evk_spl" ] || [ "${target}" = "flash_evk_spl_ddr4" ]; then # copy u-boot-spl-nodtb instead of u-boot-spl.bin as we need to have # spl and its dtb separate (dt-spl.dtb will contain public hash of # used to check the signature of u-boot fit-image) @@ -41,7 +42,7 @@ do_compile:prepend:mx8-nxp-bsp() { do_compile:append() { for target in ${IMXBOOT_TARGETS}; do - if [ "${target}" = "flash_evk_spl" ]; then + if [ "${target}" = "flash_evk_spl" ] || [ "${target}" = "flash_evk_spl_ddr4" ]; then if [ -e "${BOOT_STAGING}/flash.bin-nohdmi" ]; then cp ${BOOT_STAGING}/flash.bin-nohdmi ${S}/${BOOT_CONFIG_MACHINE}-${target}-nohdmi fi @@ -51,7 +52,7 @@ do_compile:append() { do_install:append() { for target in ${IMXBOOT_TARGETS}; do - if [ "${target}" = "flash_evk_spl" ]; then + if [ "${target}" = "flash_evk_spl" ] || [ "${target}" = "flash_evk_spl_ddr4" ]; then if [ -e "${S}/${BOOT_CONFIG_MACHINE}-${target}-nohdmi" ]; then install -m 0644 ${S}/${BOOT_CONFIG_MACHINE}-${target}-nohdmi ${D}/boot/ fi @@ -61,7 +62,7 @@ do_install:append() { do_deploy:append() { for target in ${IMXBOOT_TARGETS}; do - if [ "${target}" = "flash_evk_spl" ]; then + if [ "${target}" = "flash_evk_spl" ] || [ "${target}" = "flash_evk_spl_ddr4" ]; then # Also create imx-boot link with the machine name if [ ! -e "${DEPLOYDIR}/${BOOT_NAME}-${MACHINE}" ]; then ln -sf ${BOOT_CONFIG_MACHINE}-${target} ${DEPLOYDIR}/${BOOT_NAME}-${MACHINE} diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/boot.cmd b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/boot.cmd new file mode 100644 index 0000000000..c93296957d --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/boot.cmd @@ -0,0 +1,3 @@ +fatload mmc ${emmc_dev}:1 ${loadaddr} /uEnv.txt +env import -t ${loadaddr} ${filesize} +run bootcmd diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/uEnv.txt.in b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/uEnv.txt.in new file mode 100644 index 0000000000..8f07bf9bb7 --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-base-scr/imx8mn-ddr4-evk/uEnv.txt.in @@ -0,0 +1,7 @@ +devnum=2 +devtype=mmc +bootcmd_args=setenv bootargs console=tty1 console=${console} root=/dev/mmcblk2p2 rootfstype=ext4 rootwait rw +bootcmd_dtb=fatload ${devtype} ${devnum}:1 ${fdt_addr} ${fdt_file} +bootcmd_load_k=fatload ${devtype} ${devnum}:1 ${loadaddr} ${image} +bootcmd_run=booti ${loadaddr} - ${fdt_addr} +bootcmd=run bootcmd_args; run bootcmd_dtb; run bootcmd_load_k; run bootcmd_run diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio-mfgtool/imx8mn-ddr4-evk/lmp.cfg b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio-mfgtool/imx8mn-ddr4-evk/lmp.cfg new file mode 100644 index 0000000000..cf3b8ad7e5 --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio-mfgtool/imx8mn-ddr4-evk/lmp.cfg @@ -0,0 +1,114 @@ +CONFIG_SPL_DM=y +CONFIG_SPL_FIT=y +# CONFIG_SPL_FIT_SIGNATURE is not set +# CONFIG_SPL_FIT_SIGNATURE_STRICT is not set +# CONFIG_SPL_MD5_SUPPORT is not set +# CONFIG_SPL_SHA1_SUPPORT is not set +CONFIG_SPL_LOAD_FIT=y +# CONFIG_SPL_FIT_IMAGE_TINY is not set +# CONFIG_SPL_BOOTROM_SUPPORT is not set +CONFIG_SPL_OF_CONTROL=y +CONFIG_SPL_CRYPTO_SUPPORT=y +CONFIG_SPL_HASH_SUPPORT=y +CONFIG_SPL_SHA256_SUPPORT=y +CONFIG_SPL_USB_HOST_SUPPORT=y +CONFIG_SPL_USB_GADGET=y +CONFIG_SPL_USB_SDP_SUPPORT=y +CONFIG_SPL_RSA=y +CONFIG_RSA=y +CONFIG_HASH=y +CONFIG_SPL_ATF=y +CONFIG_SDP_LOADADDR=0x40400000 +CONFIG_SPL_SYS_MALLOC_F_LEN=0x12000 +# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set +# CONFIG_SPL_EFI_PARTITION is not set +# CONFIG_SPL_DM_USB is not set +# CONFIG_SPL_PARTITION_UUIDS is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_MXC_OCOTP is not set +# CONFIG_SPL_DM_MMC is not set +# CONFIG_SPL_MMC_SUPPORT is not set +# CONFIG_SPL_BLK is not set +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_STRICT=y +CONFIG_FIT_VERBOSE=y +# CONFIG_LEGACY_IMAGE_FORMAT is not set +CONFIG_IMX_HAB=y +# CONFIG_SPL_IMX_HAB is not set +CONFIG_PARTITION_UUIDS=y +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_FIOVB=y +CONFIG_CMD_FIOVB=y +CONFIG_CMD_XIMG=y +CONFIG_CMD_SECONDARY_BOOT=y +CONFIG_SUPPORT_EMMC_RPMB=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_USB_GADGET_MASS_STORAGE=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x0525 +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_UUU_SUPPORT=y +CONFIG_FASTBOOT_BUF_ADDR=0x42800000 +CONFIG_FASTBOOT_BUF_SIZE=0x40000000 +CONFIG_FSL_FASTBOOT_BOOTLOADER2=y +CONFIG_FSL_FASTBOOT_BOOTLOADER2_OFFSET=0x300 +CONFIG_SECONDARY_BOOT_SECTOR_OFFSET=0x1000 +CONFIG_FSL_FASTBOOT_BOOTLOADER_SECONDARY=y +CONFIG_BOOTDELAY=-2 +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="reset" +CONFIG_ENV_IS_NOWHERE=y +CONFIG_IMX_WATCHDOG=y +CONFIG_SPL_HW_WATCHDOG=y +# CONFIG_ENV_IS_IN_MMC is not set +# CONFIG_ENV_IS_IN_SPI_FLASH is not set +# CONFIG_ANDROID_BOOT_IMAGE is not set +# CONFIG_CMD_DEKBLOB is not set +# CONFIG_NET is not set +# CONFIG_CMD_NET is not set +# CONFIG_CMD_DHCP is not set +# CONFIG_CMD_BOOTP is not set +# CONFIG_CMD_TFTPBOOT is not set +# CONFIG_CMD_NFS is not set +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_BMODE is not set +# CONFIG_CMD_PXE is not set +# CONFIG_CMD_SATA is not set +# CONFIG_CMD_USB_MASS_STORAGE is not set +# CONFIG_CMD_BOOTD is not set +# CONFIG_CMD_BOOTZ is not set +# CONFIG_CMD_SAVEENV is not set +# CONFIG_CMD_EXPORTENV is not set +# CONFIG_CMD_IMPORTENV is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_EFI_LOADER is not set +# CONFIG_SATA is not set +# CONFIG_DWC_AHSATA is not set +# CONFIG_DM_SCSI is not set +# CONFIG_USB_STORAGE is not set +# CONFIG_USB_KEYBOARD is not set +# CONFIG_USB_HOST_ETHER is not set +# CONFIG_BOOTM_NETBSD is not set +# CONFIG_BOOTM_PLAN9 is not set +# CONFIG_BOOTM_RTEMS is not set +# CONFIG_BOOTM_VXWORKS is not set +# CONFIG_DISTRO_DEFAULTS is not set +# CONFIG_CMD_ELF is not set +# CONFIG_CMD_IMI is not set +# CONFIG_CMD_LOADB is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_DM_VIDEO is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_SEC_MIPI_DSI is not set +# CONFIG_VIDEO_IMX_SEC_DSI is not set +# CONFIG_VIDEO_LINK is not set +# CONFIG_SHA_HW_ACCEL is not set +# CONFIG_CMD_DFU is not set diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/fw_env.config b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/fw_env.config new file mode 100644 index 0000000000..60b49804af --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/fw_env.config @@ -0,0 +1 @@ +/mnt/boot/uboot.env 0x0000 0x4000 diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp-base.cfg b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp-base.cfg new file mode 100644 index 0000000000..5d7c34aad3 --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp-base.cfg @@ -0,0 +1,28 @@ +CONFIG_SPL_OF_CONTROL=y +CONFIG_SPL_FIT=y +CONFIG_SPL_LOAD_FIT=y +# CONFIG_SPL_FIT_IMAGE_TINY is not set +# CONFIG_CMD_DEKBLOB is not set +# CONFIG_SPL_DM_USB is not set +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_VERBOSE=y +CONFIG_LEGACY_IMAGE_FORMAT=y +CONFIG_PARTITION_UUIDS=y +CONFIG_CMD_XIMG=y +CONFIG_SUPPORT_EMMC_RPMB=y +CONFIG_SUPPORT_EMMC_BOOT=y +# CONFIG_ENV_IS_IN_MMC is not set +CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_FAT_INTERFACE="mmc" +CONFIG_ENV_FAT_DEVICE_AND_PART="2:1" +CONFIG_ENV_SIZE=0x4000 +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +CONFIG_CMD_SAVEENV=y +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="fatload mmc ${emmc_dev}:1 ${loadaddr} /boot.scr; source ${loadaddr}; reset" +CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_HW_WATCHDOG=y +CONFIG_IMX_WATCHDOG=y diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp.cfg b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp.cfg new file mode 100644 index 0000000000..fe64a49c33 --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-fio/imx8mn-ddr4-evk/lmp.cfg @@ -0,0 +1,109 @@ +CONFIG_SPL_DM=y +CONFIG_SPL_FIT=y +CONFIG_SPL_FIT_SIGNATURE=y +CONFIG_SPL_FIT_SIGNATURE_STRICT=y +CONFIG_SPL_LOAD_FIT=y +# CONFIG_SPL_FIT_IMAGE_TINY is not set +# CONFIG_SPL_BOOTROM_SUPPORT is not set +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_ALLOC_BD=y +CONFIG_SPL_OF_CONTROL=y +CONFIG_SPL_CRYPTO_SUPPORT=y +CONFIG_SPL_HASH_SUPPORT=y +CONFIG_SPL_SHA256_SUPPORT=y +CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_HW_WATCHDOG=y +CONFIG_RSA=y +CONFIG_HASH=y +CONFIG_SPL_ATF=y +# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set +# CONFIG_SPL_DM_USB is not set +# CONFIG_SPL_EFI_PARTITION is not set +# CONFIG_SPL_PARTITION_UUIDS is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_MXC_OCOTP is not set +# CONFIG_SPL_USB_HOST_SUPPORT is not set +# CONFIG_SPL_USB_GADGET is not set +# CONFIG_SPL_USB_SDP_SUPPORT is not set +# CONFIG_SPL_WDT is not set +# CONFIG_CMD_DEKBLOB is not set +CONFIG_OF_LIBFDT_OVERLAY=y +CONFIG_FIT=y +CONFIG_FIT_SIGNATURE=y +CONFIG_FIT_SIGNATURE_STRICT=y +CONFIG_FIT_VERBOSE=y +CONFIG_SECONDARY_BOOT_RUNTIME_DETECTION=y +# TODO: fix hard-coded secondary boot offset +# defined in fuse 0x490 [22:19] IMG_CNTN_SET1_OFFSET +# default value is 0x0 == 4MB offset +CONFIG_SECONDARY_BOOT_SECTOR_OFFSET=0x1000 +# CONFIG_LEGACY_IMAGE_FORMAT is not set +CONFIG_PARTITION_UUIDS=y +CONFIG_TEE=y +CONFIG_OPTEE=y +CONFIG_FIOVB=y +CONFIG_CMD_FIOVB=y +CONFIG_CMD_XIMG=y +CONFIG_CMD_SECONDARY_BOOT=y +CONFIG_SUPPORT_EMMC_RPMB=y +CONFIG_SUPPORT_EMMC_BOOT=y +# CONFIG_ENV_IS_IN_MMC is not set +CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_FAT_INTERFACE="mmc" +CONFIG_ENV_FAT_DEVICE_AND_PART="2:1" +CONFIG_ENV_SIZE=0x4000 +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +CONFIG_CMD_SAVEENV=y +CONFIG_BOOTDELAY=-2 +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="setenv verify 1; source 0x44800000; reset" +CONFIG_IMX_WATCHDOG=y +# CONFIG_ANDROID_BOOT_IMAGE is not set +# CONFIG_CMD_NFS is not set +# CONFIG_CMD_SYSBOOT is not set +# CONFIG_CMD_BDI is not set +# CONFIG_CMD_BMODE is not set +# CONFIG_CMD_PXE is not set +# CONFIG_CMD_SATA is not set +# CONFIG_CMD_USB is not set +# CONFIG_CMD_USB_MASS_STORAGE is not set +# CONFIG_CMD_USB_SDP is not set +# CONFIG_CMD_BOOTD is not set +# CONFIG_CMD_BOOTZ is not set +# CONFIG_CMD_FUSE is not set +# CONFIG_CMD_GPIO is not set +# CONFIG_CMD_I2C is not set +# CONFIG_EFI_LOADER is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_EXT4_WRITE is not set +# CONFIG_SATA is not set +# CONFIG_DWC_AHSATA is not set +# CONFIG_DM_SCSI is not set +# CONFIG_UDP_FUNCTION_FASTBOOT is not set +# CONFIG_USB_FUNCTION_FASTBOOT is not set +# CONFIG_CMD_FASTBOOT is not set +# CONFIG_FASTBOOT is not set +# CONFIG_USB is not set +# CONFIG_USB_STORAGE is not set +# CONFIG_USB_KEYBOARD is not set +# CONFIG_USB_HOST_ETHER is not set +# CONFIG_USB_TCPC is not set +# CONFIG_BOOTM_NETBSD is not set +# CONFIG_BOOTM_PLAN9 is not set +# CONFIG_BOOTM_RTEMS is not set +# CONFIG_BOOTM_VXWORKS is not set +# CONFIG_DISTRO_DEFAULTS is not set +# CONFIG_CMD_ELF is not set +# CONFIG_CMD_IMI is not set +# CONFIG_CMD_LOADB is not set +# CONFIG_CMD_LOADS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_DM_VIDEO is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_VIDEO_SEC_MIPI_DSI is not set +# CONFIG_VIDEO_IMX_SEC_DSI is not set +# CONFIG_VIDEO_LINK is not set +# CONFIG_DISTRO_DEFAULTS is not set +# CONFIG_SHA_HW_ACCEL is not set +# CONFIG_DFU_TFTP is not set diff --git a/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-ostree-scr-fit/imx8mn-ddr4-evk/boot.cmd b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-ostree-scr-fit/imx8mn-ddr4-evk/boot.cmd new file mode 100644 index 0000000000..0d136ece85 --- /dev/null +++ b/meta-lmp-bsp/recipes-bsp/u-boot/u-boot-ostree-scr-fit/imx8mn-ddr4-evk/boot.cmd @@ -0,0 +1,26 @@ +echo "Using freescale_${fdtfile}" + +# Default boot type and device +setenv bootlimit 3 +setenv devtype mmc +setenv devnum 2 +setenv bootpart 1 +setenv rootpart 2 + +# Boot image files +setenv fdt_file_final freescale_${fdtfile} +setenv fit_addr 0x43800000 + +# Boot firmware updates +setenv bootloader 0 +setenv bootloader2 300 +setenv bootloader_s 1000 +setenv bootloader2_s 1300 +setenv bootloader_image "imx-boot" +setenv bootloader_s_image ${bootloader_image} +setenv bootloader2_image "u-boot.itb" +setenv bootloader2_s_image ${bootloader2_image} +setenv uboot_hwpart 1 + +@@INCLUDE_COMMON_IMX@@ +@@INCLUDE_COMMON@@ diff --git a/meta-lmp-bsp/recipes-core/base-files/base-files/imx8mn-ddr4-evk/fstab b/meta-lmp-bsp/recipes-core/base-files/base-files/imx8mn-ddr4-evk/fstab new file mode 100644 index 0000000000..ed7ed07ff0 --- /dev/null +++ b/meta-lmp-bsp/recipes-core/base-files/base-files/imx8mn-ddr4-evk/fstab @@ -0,0 +1,8 @@ +/dev/root / auto defaults 1 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts mode=0620,gid=5 0 0 +tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0 +tmpfs /var/volatile tmpfs defaults 0 0 + +# boot partition +/dev/mmcblk2p1 /mnt/boot vfat noatime,sync 0 0 diff --git a/meta-lmp-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/meta-lmp-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend index de4350d34a..96e3329870 100644 --- a/meta-lmp-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend +++ b/meta-lmp-bsp/recipes-kernel/linux-firmware/linux-firmware_%.bbappend @@ -6,6 +6,9 @@ # sdiouart8987_combo_v0.bin is required for WiFi/BT support but this firmware # is not available in the linux-firmware repository. # +# brcmfmac43455-sdio.txt and BCM4345C0.1MW.hcd for Murata 1MW on the i.MX8M Nano EVK +# are required for WiFi/BT support but not available in the linux-firmware repository. +# # A code from meta-imx layer is used as a reference: # https://source.codeaurora.org/external/imx/meta-imx/tree/meta-bsp/recipes-kernel/linux-firmware/linux-firmware_%25.bbappend?h=hardknott-5.10.52-2.1.0 # @@ -54,6 +57,10 @@ do_install:append:imx-nxp-bsp () { install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997/ed_mac_ctrl_V3_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997/pcieuart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp install -m 0644 ${WORKDIR}/imx-firmware/nxp/FwImage_8997/txpwrlimit_cfg_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp + + # Install Murata 1MW NVRAM and HCD files + install -m 0644 ${WORKDIR}/imx-firmware/cyw-wifi-bt/1MW_CYW43455/BCM4345C0.1MW.hcd ${D}${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd + install -m 0644 ${WORKDIR}/imx-firmware/cyw-wifi-bt/1MW_CYW43455/brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.fsl,${MACHINE}.txt } do_install:append:stm32mpcommon() { @@ -72,3 +79,8 @@ FILES:${PN}-nxp89xx = " \ ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ ${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \ " + +FILES:${PN}-bcm43455 += " \ + ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ + ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.fsl,${MACHINE}.txt \ +" diff --git a/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx/imx8mn-ddr4-evk/0001-FIO-internal-arm64-dts-imx8mn-evk.dtsi-re-add-blueto.patch b/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx/imx8mn-ddr4-evk/0001-FIO-internal-arm64-dts-imx8mn-evk.dtsi-re-add-blueto.patch new file mode 100644 index 0000000000..9b06f70e91 --- /dev/null +++ b/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx/imx8mn-ddr4-evk/0001-FIO-internal-arm64-dts-imx8mn-evk.dtsi-re-add-blueto.patch @@ -0,0 +1,62 @@ +From 4966fadb0d380ac4e2b8e42703300d2df2cb9690 Mon Sep 17 00:00:00 2001 +From: Michael Scott +Date: Thu, 4 Aug 2022 17:46:13 -0700 +Subject: [PATCH] [FIO internal] arm64: dts: imx8mn-evk.dtsi: re-add bluetooth + reset configuration + +This fixes the Murata 1MW bluetooth initialization + +Signed-off-by: Michael Scott +--- + arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi +index 1493b546e023..d68ac33ce668 100644 +--- a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi ++++ b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi +@@ -28,6 +28,14 @@ memory@40000000 { + reg = <0x0 0x40000000 0 0x80000000>; + }; + ++ modem_reset: modem-reset { ++ compatible = "gpio-reset"; ++ reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; ++ reset-delay-us = <2000>; ++ reset-post-delay-ms = <40>; ++ #reset-cells = <0>; ++ }; ++ + ir_recv: ir-receiver { + compatible = "gpio-ir-receiver"; + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; +@@ -441,6 +449,7 @@ &uart1 { /* BT */ + assigned-clocks = <&clk IMX8MN_CLK_UART1>; + assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>; + fsl,uart-has-rtscts; ++ resets = <&modem_reset>; + status = "okay"; + }; + +@@ -467,8 +476,10 @@ &usdhc1 { + pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wlan>; + pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wlan>; + bus-width = <4>; ++ pm-ignore-notify; + keep-power-in-suspend; + non-removable; ++ cap-power-off-card; + wakeup-source; + /delete-property/ vmmc-supply; + mmc-pwrseq = <&usdhc1_pwrseq>; +@@ -717,6 +728,7 @@ MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140 + MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140 + MX8MN_IOMUXC_UART3_RXD_UART1_DCE_CTS_B 0x140 + MX8MN_IOMUXC_UART3_TXD_UART1_DCE_RTS_B 0x140 ++ MX8MN_IOMUXC_SD1_DATA4_GPIO2_IO6 0x19 + >; + }; + +-- +2.37.1 + diff --git a/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx_git.bb b/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx_git.bb index d3e40cc628..d66512c9b5 100644 --- a/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx_git.bb +++ b/meta-lmp-bsp/recipes-kernel/linux/linux-lmp-fslc-imx_git.bb @@ -24,6 +24,11 @@ SRC_URI:append:imx8mp-lpddr4-evk = " \ ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'file://0001-FIO-internal-arch-arm64-dts-imx8mp-enable-I2C5-bus.patch', '', d)} \ " +# Fix bluetooth reset for Murata 1MW +SRC_URI:append:imx8mn-ddr4-evk = " \ + file://0001-FIO-internal-arm64-dts-imx8mn-evk.dtsi-re-add-blueto.patch \ +" + KMETA = "kernel-meta" include recipes-kernel/linux/linux-lmp.inc diff --git a/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp-mfgtool.inc b/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp-mfgtool.inc index 7b4f798fa8..423c98aec9 100644 --- a/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp-mfgtool.inc +++ b/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp-mfgtool.inc @@ -6,6 +6,7 @@ OPTEEMACHINE:imx7ulpea-ucom = "imx-mx7ulpevk" OPTEEMACHINE:imx8mm-lpddr4-evk = "imx-mx8mmevk" OPTEEMACHINE:imx8mp-lpddr4-evk = "imx-mx8mpevk" OPTEEMACHINE:imx8mq-evk = "imx-mx8mqevk" +OPTEEMACHINE:imx8mn-ddr4-evk = "imx-mx8mnevk" OPTEEMACHINE:imx8qm-mek = "imx-mx8qmmek" # SoC Settings @@ -46,6 +47,9 @@ EXTRA_OEMAKE:append:imx7ulpea-ucom = " \ EXTRA_OEMAKE:append:imx8mp-lpddr4-evk = " \ CFG_TZDRAM_START=0x56000000 \ " +EXTRA_OEMAKE:append:imx8mn-ddr4-evk = " \ + CFG_TZDRAM_START=0x56000000 \ +" # Additional Settings for SE05X EXTRA_OEMAKE:append:imx6ullevk = " \ @@ -57,6 +61,9 @@ EXTRA_OEMAKE:append:imx8mm-lpddr4-evk = " \ EXTRA_OEMAKE:append:imx8mp-lpddr4-evk = " \ ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'CFG_IMX_I2C=y CFG_CORE_SE05X_I2C_BUS=4', '', d)} \ " +EXTRA_OEMAKE:append:imx8mn-ddr4-evk = " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'CFG_IMX_I2C=y CFG_CORE_SE05X_I2C_BUS=2', '', d)} \ +" # Extra Settings for Secure Machines EXTRA_OEMAKE:append:apalis-imx6-sec = " \ diff --git a/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp.inc b/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp.inc index da3a3a7aff..30c5bef631 100644 --- a/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp.inc +++ b/meta-lmp-bsp/recipes-security/optee/optee-os-fio-bsp.inc @@ -6,6 +6,7 @@ OPTEEMACHINE:imx7ulpea-ucom = "imx-mx7ulpevk" OPTEEMACHINE:imx8mm-lpddr4-evk = "imx-mx8mmevk" OPTEEMACHINE:imx8mp-lpddr4-evk = "imx-mx8mpevk" OPTEEMACHINE:imx8mq-evk = "imx-mx8mqevk" +OPTEEMACHINE:imx8mn-ddr4-evk = "imx-mx8mnevk" OPTEEMACHINE:imx8qm-mek = "imx-mx8qmmek" OPTEEMACHINE:qemuarm64 = "vexpress-qemu_armv8a" OPTEEMACHINE:zynqmp = "zynqmp-zcu102" @@ -60,6 +61,9 @@ EXTRA_OEMAKE:append:imx7ulpea-ucom = " \ EXTRA_OEMAKE:append:imx8mp-lpddr4-evk = " \ CFG_TZDRAM_START=0x56000000 \ " +EXTRA_OEMAKE:append:imx8mn-ddr4-evk = " \ + CFG_TZDRAM_START=0x56000000 \ +" EXTRA_OEMAKE:append:qemuarm64 = " \ CFG_RPMB_FS=y CFG_RPMB_WRITE_KEY=y \ " @@ -74,6 +78,9 @@ EXTRA_OEMAKE:append:imx8mm-lpddr4-evk = " \ EXTRA_OEMAKE:append:imx8mp-lpddr4-evk = " \ ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'CFG_IMX_I2C=y CFG_CORE_SE05X_I2C_BUS=4', '', d)} \ " +EXTRA_OEMAKE:append:imx8mn-ddr4-evk = " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'CFG_IMX_I2C=y CFG_CORE_SE05X_I2C_BUS=2', '', d)} \ +" # Extra Settings for Secure Machines EXTRA_OEMAKE:append:apalis-imx6-sec = " \ diff --git a/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach/imx8mn-ddr4-evk/btattach.conf b/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach/imx8mn-ddr4-evk/btattach.conf new file mode 100644 index 0000000000..c37cc0af68 --- /dev/null +++ b/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach/imx8mn-ddr4-evk/btattach.conf @@ -0,0 +1,3 @@ +HCITTY=/dev/ttymxc0 +HCISPEED=3000000 +HCIPROTO=bcm diff --git a/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach_%.bbappend b/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach_%.bbappend new file mode 100644 index 0000000000..4fc41d0580 --- /dev/null +++ b/meta-lmp-bsp/recipes-support/bluetooth-attach/bluetooth-attach_%.bbappend @@ -0,0 +1 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" diff --git a/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/bootloader.uuu.in b/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/bootloader.uuu.in new file mode 100644 index 0000000000..4214f1fda7 --- /dev/null +++ b/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/bootloader.uuu.in @@ -0,0 +1,19 @@ +uuu_version 1.2.39 + +SDPS: boot -f imx-boot-mfgtool + +SDPV: delay 1000 +SDPV: write -f u-boot-mfgtool.itb +SDPV: jump + +FB: ucmd setenv fastboot_dev mmc +FB: ucmd setenv mmcdev ${emmc_dev} +FB: ucmd mmc dev ${emmc_dev} 1; mmc erase 0 0x2000 +FB: flash bootloader ../imx-boot-@@MACHINE@@ +FB: flash bootloader2 ../u-boot-@@MACHINE@@.itb +FB: flash bootloader_s ../imx-boot-@@MACHINE@@ +FB: flash bootloader2_s ../u-boot-@@MACHINE@@.itb +# No sit.bin for imx8mp: offset is defined in fuses +FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; +FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 +FB: done diff --git a/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/full_image.uuu.in b/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/full_image.uuu.in new file mode 100644 index 0000000000..6f9f72cfc9 --- /dev/null +++ b/meta-lmp-bsp/recipes-support/mfgtool-files/mfgtool-files/imx8mn-ddr4-evk/full_image.uuu.in @@ -0,0 +1,20 @@ +uuu_version 1.2.39 + +SDPS: boot -f imx-boot-mfgtool + +SDPV: delay 1000 +SDPV: write -f u-boot-mfgtool.itb +SDPV: jump + +FB: ucmd setenv fastboot_dev mmc +FB: ucmd setenv mmcdev ${emmc_dev} +FB: ucmd mmc dev ${emmc_dev} 1; mmc erase 0 0x2000 +FB: flash -raw2sparse all ../@@MFGTOOL_FLASH_IMAGE@@-@@MACHINE@@.wic +FB: flash bootloader ../imx-boot-@@MACHINE@@ +FB: flash bootloader2 ../u-boot-@@MACHINE@@.itb +FB: flash bootloader_s ../imx-boot-@@MACHINE@@ +FB: flash bootloader2_s ../u-boot-@@MACHINE@@.itb +# No sit.bin for imx8mn: offset is defined in fuses +FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; +FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 +FB: done