]> code.ossystems Code Review - meta-freescale.git/commitdiff
imx8mm-*-evk: Split 8M Mini EVK for LPDDR4 and DDR4 variants
authorTom Hochstein <tom.hochstein@nxp.com>
Tue, 15 Dec 2020 21:36:32 +0000 (15:36 -0600)
committerOtavio Salvador <otavio@ossystems.com.br>
Thu, 21 Jan 2021 11:37:58 +0000 (08:37 -0300)
The 8M Mini Evaluation Kit has two variants, one for LPDDR4 and one for
DDR4, with two corresponding sets of image components. The current machine
configuration places both sets into a single image and boots for LPDDR4.
The user must manually update the image to make it work for the DDR4
EVK variant.

Simplify the DDR4 case by providing a dedicated machine configuration.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
conf/machine/imx8mm-ddr4-evk.conf [new file with mode: 0644]
conf/machine/imx8mm-lpddr4-evk.conf [new file with mode: 0644]
conf/machine/imx8mmevk.conf [deleted file]
conf/machine/include/imx8mm-evk.inc [new file with mode: 0644]

diff --git a/conf/machine/imx8mm-ddr4-evk.conf b/conf/machine/imx8mm-ddr4-evk.conf
new file mode 100644 (file)
index 0000000..4e9d392
--- /dev/null
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Mini EVK with DDR4
+#@SOC: i.MX8MM
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with DDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mm-evk.inc
+
+KERNEL_DEVICETREE_BASENAME = "${MACHINE}"
+KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+    freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \
+"
+
+UBOOT_CONFIG_BASENAME = "imx8mm_ddr4_evk"
+UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig,ubifs"
+
+DDR_FIRMWARE_NAME = " \
+    ddr4_imem_1d.bin \
+    ddr4_dmem_1d.bin \
+    ddr4_imem_2d.bin \
+    ddr4_dmem_2d.bin \
+"
+
+IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk"
diff --git a/conf/machine/imx8mm-lpddr4-evk.conf b/conf/machine/imx8mm-lpddr4-evk.conf
new file mode 100644 (file)
index 0000000..3f71289
--- /dev/null
@@ -0,0 +1,34 @@
+#@TYPE: Machine
+#@NAME: NXP i.MX 8M Mini EVK with LPDDR4
+#@SOC: i.MX8MM
+#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with LPDDR4
+#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
+
+require include/imx8mm-evk.inc
+
+# The device tree name is implicit for LPDDR4, so can't use MACHINE here
+KERNEL_DEVICETREE_BASENAME = "imx8mm-evk"
+KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-ak4497.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-audio-tdm.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \
+"
+
+
+UBOOT_CONFIG_BASENAME = "imx8mm_evk"
+UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
+
+DDR_FIRMWARE_NAME = " \
+       lpddr4_pmu_train_1d_imem.bin \
+       lpddr4_pmu_train_1d_dmem.bin \
+       lpddr4_pmu_train_2d_imem.bin \
+       lpddr4_pmu_train_2d_dmem.bin \
+"
+
+IMXBOOT_TARGETS_BASENAME = "flash_evk"
diff --git a/conf/machine/imx8mmevk.conf b/conf/machine/imx8mmevk.conf
deleted file mode 100644 (file)
index 82a9b3d..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#@TYPE: Machine
-#@NAME: NXP i.MX8MM LPDDR4 Evaluation Kit and i.MX8MM DDR4 Evaluation Kit
-#@SOC: i.MX8MM
-#@DESCRIPTION: Machine configuration for NXP i.MX8MMini LPDDR4 EVK and i.MX8MMini DDR4 EVK
-#@MAINTAINER: Jun Zhu <junzhu@nxp.com>
-
-MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
-
-require conf/machine/include/imx-base.inc
-require conf/machine/include/tune-cortexa53.inc
-
-MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356"
-
-# NXP BSP can consume BCM4359 and QCA9377 driver and firmware
-# Since the firmware is not available publicly, and rather distributed
-# under "Proprietary" license - we opt-out from using it in all BSPs
-# and pin it to NXP BSP only
-MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359 qca9377"
-
-# Mainline kernel contains only one DTB file for
-# imx8mmevk machine
-KERNEL_DEVICETREE = "freescale/imx8mm-evk.dtb"
-
-# NXP kernel has additional DTB files for various board configuration and
-# derivates. Include them here for NXP BSP only
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
-       freescale/imx8mm-ddr4-evk.dtb \
-       freescale/imx8mm-ddr4-evk-pcie-ep.dtb \
-       freescale/imx8mm-ddr4-evk-revb.dtb \
-       freescale/imx8mm-ddr4-evk-revb-rm67191.dtb \
-       freescale/imx8mm-ddr4-evk-rm67191.dtb \
-       freescale/imx8mm-evk-8mic-revE.dtb \
-       freescale/imx8mm-evk-8mic-swpdm.dtb \
-       freescale/imx8mm-evk-ak4497.dtb \
-       freescale/imx8mm-evk-ak5558.dtb \
-       freescale/imx8mm-evk-audio-tdm.dtb \
-       freescale/imx8mm-evk-inmate.dtb \
-       freescale/imx8mm-evk-pcie-ep.dtb \
-       freescale/imx8mm-evk-revb.dtb \
-       freescale/imx8mm-evk-rm67191.dtb \
-       freescale/imx8mm-evk-root.dtb \
-       freescale/imx8mm-evk-rpmsg.dtb \
-       freescale/imx8mm-evk-usd-wifi.dtb \
-"
-
-
-UBOOT_CONFIG ??= "sd"
-UBOOT_CONFIG[sd]       = "imx8mm_evk_config,sdcard"
-UBOOT_CONFIG[fspi]     = "imx8mm_evk_fspi_defconfig"
-UBOOT_CONFIG[mfgtool]  = "imx8mm_evk_config"
-
-SPL_BINARY = "spl/u-boot-spl.bin"
-
-# Set DDR FIRMWARE
-DDR_FIRMWARE_NAME = " \
-       lpddr4_pmu_train_1d_imem.bin \
-       lpddr4_pmu_train_1d_dmem.bin \
-       lpddr4_pmu_train_2d_imem.bin \
-       lpddr4_pmu_train_2d_dmem.bin \
-"
-
-# Set u-boot DTB
-UBOOT_DTB_NAME = "imx8mm-evk.dtb"
-
-# Set ATF platform name
-ATF_PLATFORM = "imx8mm"
-
-# Set imx-mkimage boot target
-IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_evk', d)}"
-IMX_BOOT_SOC_TARGET = "iMX8MM"
-
-# Set Serial console
-SERIAL_CONSOLES = "115200;ttymxc1"
-
-LOADADDR = ""
-UBOOT_SUFFIX = "bin"
-UBOOT_MAKE_TARGET = ""
-IMX_BOOT_SEEK = "33"
-
-OPTEE_BIN_EXT = "8mm"
-
-# Add additional firmware
-MACHINE_FIRMWARE_append = " linux-firmware-ath10k"
diff --git a/conf/machine/include/imx8mm-evk.inc b/conf/machine/include/imx8mm-evk.inc
new file mode 100644 (file)
index 0000000..7225556
--- /dev/null
@@ -0,0 +1,46 @@
+MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/tune-cortexa53.inc
+
+MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356"
+
+# NXP BSP can consume BCM4359 and QCA9377 driver and firmware
+# Since the firmware is not available publicly, and rather distributed
+# under "Proprietary" license - we opt-out from using it in all BSPs
+# and pin it to NXP BSP only
+MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359 qca9377"
+
+KERNEL_DEVICETREE = " \
+    freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
+"
+KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-revb.dtb \
+       freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
+"
+UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd]       = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
+UBOOT_CONFIG[mfgtool]  = "${UBOOT_CONFIG_BASENAME}_defconfig"
+
+SPL_BINARY = "spl/u-boot-spl.bin"
+
+ATF_PLATFORM = "imx8mm"
+
+IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
+
+IMX_BOOT_SOC_TARGET = "iMX8MM"
+
+SERIAL_CONSOLES = "115200;ttymxc1"
+
+LOADADDR = ""
+UBOOT_SUFFIX = "bin"
+UBOOT_MAKE_TARGET = ""
+IMX_BOOT_SEEK = "33"
+
+OPTEE_BIN_EXT = "8mm"
+
+# Add additional firmware
+MACHINE_FIRMWARE_append = " linux-firmware-ath10k"