From 835b030f6593823275f34a1b99e3e390a4d76088 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 09:47:29 -0300 Subject: firmware-upower(1.1.0): Add recipe from 5.15.52-2.2.0 BSP Signed-off-by: Daiane Angolini --- .../firmware-upower/firmware-upower_1.1.0.bb | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb diff --git a/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb new file mode 100644 index 00000000..f21de75a --- /dev/null +++ b/recipes-bsp/firmware-upower/firmware-upower_1.1.0.bb @@ -0,0 +1,31 @@ +# Copyright 2021-2022 NXP +DESCRIPTION = "NXP i.MX uPower firmware" +LICENSE = "Proprietary" +SECTION = "BSP" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +S = "${WORKDIR}/${PN}-${PV}" + +inherit fsl-eula-unpack pkgconfig deploy + +SRC_URI[md5sum] = "d2cbe8d2f8fa170e5d48c599c4caac5e" +SRC_URI[sha256sum] = "c02595917744769abe810107a08506e4055b8077b5fc4ed17c353b833756c8b0" + +do_configure[noexec] = "1" + +do_compile[noexec] = "1" + +do_install[noexec] = "1" + +BOOT_TOOLS = "imx-boot-tools" + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${S}/${UPOWER_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/upower.bin +} +addtask deploy after do_install before do_build + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 600c4fa63ecd0f3b242da45c3c775351d10ccc28 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 09:55:26 -0300 Subject: firmware-sentinel(0.8): Add recipe from 5.15.52-2.2.0 BSP Signed-off-by: Daiane Angolini --- .../firmware-sentinel/firmware-sentinel_0.8.bb | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb diff --git a/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb b/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb new file mode 100644 index 00000000..0ea56f98 --- /dev/null +++ b/recipes-bsp/firmware-sentinel/firmware-sentinel_0.8.bb @@ -0,0 +1,23 @@ +# Copyright 2021-2022 NXP +SUMMARY = "NXP i.MX Sentinel firmware" +DESCRIPTION = "Firmware for i.MX Sentinel Security Controller" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy nopackages + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "be47a5e59c1192ee36246af97d5d1532" +SRC_URI[sha256sum] = "1003d4c6773c153ea341911a74e25c249423644f70f3d8f8d085599e00770b3f" + +do_compile[noexec] = "1" +do_install[noexec] = "1" + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From a2bc8248ad63adc2eccbe2de533bab4336474e55 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 10:02:57 -0300 Subject: imx8ulp-lpddr4-evk: Add i.MX 8ULP EVK machine The new machine is currently supported only by linux-imx and u-boot-imx. The recipes are from 5.15.52-2.2.0 NXP BSP. Signed-off-by: Daiane Angolini --- conf/machine/imx8ulp-lpddr4-evk.conf | 27 ++++++++++++++++++++++ conf/machine/include/imx8ulp-evk.inc | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 conf/machine/imx8ulp-lpddr4-evk.conf create mode 100644 conf/machine/include/imx8ulp-evk.inc diff --git a/conf/machine/imx8ulp-lpddr4-evk.conf b/conf/machine/imx8ulp-lpddr4-evk.conf new file mode 100644 index 00000000..707597d2 --- /dev/null +++ b/conf/machine/imx8ulp-lpddr4-evk.conf @@ -0,0 +1,27 @@ +#@TYPE: Machine +#@NAME: i.MX 8ULP EVK +#@SOC: i.MX8ULP +#@DESCRIPTION: Machine configuration for NXP i.MX 8ULP Evaluation Kit with LPDDR4 +#@MAINTAINER: Jun Zhu + +require include/imx8ulp-evk.inc + +KERNEL_DEVICETREE_BASENAME = "imx8ulp-evk" + +KERNEL_DEVICETREE += " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-epdc.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-flexio-i2c.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-i3c.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-lpa.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-nd.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4m.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-rk055hdmipi4mv2.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-sof-btsco.dtb \ +" + +UBOOT_CONFIG_BASENAME = "imx8ulp_evk" + +MACHINE_FEATURES += "soc-reva1" +UPOWER_FIRMWARE_NAME = "upower_a1.bin" +IMX_DEFAULT_BSP = "nxp" diff --git a/conf/machine/include/imx8ulp-evk.inc b/conf/machine/include/imx8ulp-evk.inc new file mode 100644 index 00000000..23269530 --- /dev/null +++ b/conf/machine/include/imx8ulp-evk.inc @@ -0,0 +1,44 @@ +MACHINEOVERRIDES =. "mx8:mx8ulp:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/arm/armv8a/tune-cortexa35.inc + +MACHINE_FEATURES += "pci wifi bluetooth optee jailhouse" + +KERNEL_DEVICETREE = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \ +" + +IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx" +IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +UBOOT_MAKE_TARGET = "" + +SPL_BINARY = "spl/u-boot-spl.bin" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard" +UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig" +UBOOT_CONFIG[nd] = "${UBOOT_CONFIG_BASENAME}_nd_defconfig" + +# Set ATF platform name +ATF_PLATFORM = "imx8ulp" + +IMXBOOT_TARGETS_SD = "flash_singleboot flash_dualboot" +IMXBOOT_TARGETS_FSPI = "flash_dualboot_flexspi" +IMXBOOT_TARGETS_ND = "" + +IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \ + bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \ + '${IMXBOOT_TARGETS_ND}', d), d)}" + +IMX_BOOT_SOC_TARGET = "iMX8ULP" +IMX_BOOT_SEEK = "32" + +# We have to disable SERIAL_CONSOLE due to auto-serial-console +SERIAL_CONSOLES = "115200;ttyLP1" + +# Add additional firmware +MACHINE_FIRMWARE:append = " firmware-imx-epdc" -- cgit v1.2.3-54-g00ecf From cfc0780441bd0dc6edcc90453f75261f2366c5e7 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 10:10:10 -0300 Subject: imx-base: Add support for i.MX 8ULP SOC Signed-off-by: Daiane Angolini --- conf/machine/include/imx-base.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 3106d637..7639f6e7 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -163,6 +163,7 @@ DEFAULTTUNE:vf-generic-bsp ?= "cortexa5thf-neon" DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto" DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto" DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto" +DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto" INHERIT += "machine-overrides-extender" @@ -198,6 +199,8 @@ MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxd MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8dxl-generic-bsp:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-nxp-bsp" +MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp" + ####### ### Mainline BSP specific overrides ####### @@ -238,6 +241,8 @@ MACHINEOVERRIDES_EXTENDER:mx8qxp:use-mainline-bsp = "imx-generic-bsp:imx-mainlin MACHINEOVERRIDES_EXTENDER:mx8dx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dx-generic-bsp:mx8dx-mainline-bsp" MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dxl-generic-bsp:mx8dxl-mainline-bsp" +MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp" + MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ mx6 \ mx6q \ @@ -265,6 +270,7 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \ mx8qxp \ mx8dx \ mx8dxl \ + mx8ulp \ " MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'." @@ -290,6 +296,7 @@ MACHINE_SOCARCH_SUFFIX:mx8mq-nxp-bsp = "-mx8m" MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8" MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8" MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl" +MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp" # For Mainline we use a single SoC suffix as we don't have different build options MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx" @@ -364,6 +371,7 @@ IMX_EXTRA_FIRMWARE ?= "" IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "firmware-imx-8 imx-sc-firmware imx-seco" IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "firmware-imx-8m" IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" +IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-sentinel" # Firmware MACHINE_FIRMWARE ?= "" @@ -449,6 +457,7 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8mq-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta" MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin" PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.20.3.imx" PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.20.3.imx" -- cgit v1.2.3-54-g00ecf From 5fac36afdf8b0a3d0094e5647116dc6b0f6acece Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 10:33:24 -0300 Subject: use-imx-security-controller-firmware: Configure for imx8ulp Add SECO_FIRMWARE_NAME for i.MX 8ULP. Signed-off-by: Daiane Angolini --- classes/use-imx-security-controller-firmware.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass index eb88fb99..603ea80d 100644 --- a/classes/use-imx-security-controller-firmware.bbclass +++ b/classes/use-imx-security-controller-firmware.bbclass @@ -23,6 +23,7 @@ SECO_FIRMWARE_NAME:mx8qxp-nxp-bsp = \ 'mx8qxc0-ahab-container.img', d)}" SECO_FIRMWARE_NAME:mx8dx-nxp-bsp = "mx8qxc0-ahab-container.img" SECO_FIRMWARE_NAME:mx8dxl-nxp-bsp = "mx8dxla1-ahab-container.img" +SECO_FIRMWARE_NAME:mx8ulp-nxp-bsp = "mx8ulpa1-ahab-container.img" python () { if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"): -- cgit v1.2.3-54-g00ecf From d6c88b44cfbbee663c475cf5defbf002ac9e1e6b Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Tue, 24 Jan 2023 16:31:04 -0300 Subject: imx-boot: Add support for i.MX 8ULP machines It comes from 5.15.52-2.2.0 BSP. Signed-off-by: Daiane Angolini --- recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 5c20fac8..71f8b25d 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -65,12 +65,16 @@ SOC_FAMILY = "INVALID" SOC_FAMILY:mx8-generic-bsp = "mx8" SOC_FAMILY:mx8m-generic-bsp = "mx8m" SOC_FAMILY:mx8x-generic-bsp = "mx8x" +SOC_FAMILY:mx8ulp-nxp-bsp = "mx8ulp" REV_OPTION ?= "" REV_OPTION:mx8qxp-generic-bsp = \ "${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', '', \ 'REV=C0', d)}" REV_OPTION:mx8dx-generic-bsp = "REV=C0" +REV_OPTION:mx8ulp-generic-bsp = \ + "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', '', \ + 'REV=A1', d)}" do_uboot_assemble_fitimage:prepend:imx-generic-bsp() { for config in ${UBOOT_MACHINE}; do @@ -121,6 +125,19 @@ compile_mx8x() { ${BOOT_STAGING}/u-boot-spl.bin fi } + +compile_mx8ulp() { + bbnote 8ULP boot binary build + cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/ + cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then + cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ + ${BOOT_STAGING}/u-boot-spl.bin + fi +} + do_compile() { # mkimage for i.MX8 # Copy TEE binary to SoC target folder to mkimage @@ -180,6 +197,17 @@ deploy_mx8x() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } + +deploy_mx8ulp() { + install -d ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ + ${DEPLOYDIR}/${BOOT_TOOLS} + fi +} + do_deploy() { deploy_${SOC_FAMILY} # copy the sc fw, dcd and uboot to deploy path -- cgit v1.2.3-54-g00ecf