From 559c106c2c3cbba97695b19ac84dc501d83ab2da Mon Sep 17 00:00:00 2001 From: Eric Lee Date: Wed, 10 Apr 2019 14:47:23 +0800 Subject: [PATCH] Add 2g industral temp and 4g LPDDR4 machine file --- conf/machine/smarcimx8m2g.conf | 2 +- conf/machine/smarcimx8m2gind.conf | 87 ++++++++++++++++++++++ conf/machine/smarcimx8m4g.conf | 87 ++++++++++++++++++++++ recipes-bsp/u-boot/u-boot-smarcimx8m_2017.03.bb | 2 +- .../linux/linux-smarcimx8m_4.9.51_imx8m.bb | 52 +++++++++++++ recipes-kernel/linux/linux-smarcimx8m_4.9.88.bb | 52 ------------- 6 files changed, 228 insertions(+), 54 deletions(-) create mode 100644 conf/machine/smarcimx8m2gind.conf create mode 100644 conf/machine/smarcimx8m4g.conf create mode 100644 recipes-kernel/linux/linux-smarcimx8m_4.9.51_imx8m.bb delete mode 100644 recipes-kernel/linux/linux-smarcimx8m_4.9.88.bb diff --git a/conf/machine/smarcimx8m2g.conf b/conf/machine/smarcimx8m2g.conf index f3c22a7..d851ee7 100644 --- a/conf/machine/smarcimx8m2g.conf +++ b/conf/machine/smarcimx8m2g.conf @@ -18,7 +18,7 @@ MACHINE_SOCARCH_FILTER_append_mx8mq = "virtual/libopenvg virtual/libgles1 virtua # Embedian BSP default providers PREFERRED_PROVIDER_virtual/kernel_smarcimx8m2g ?= "linux-smarcimx8m" -PREFERRED_VERSION_linux-smarcimx8m_smarcimx8m2g = "4.9.88" +PREFERRED_VERSION_linux-smarcimx8m_smarcimx8m2g = "4.9.51_imx8m" KERNEL_DEVICETREE = " \ embedian/fsl-smarcimx8mq.dtb \ diff --git a/conf/machine/smarcimx8m2gind.conf b/conf/machine/smarcimx8m2gind.conf new file mode 100644 index 0000000..01f6153 --- /dev/null +++ b/conf/machine/smarcimx8m2gind.conf @@ -0,0 +1,87 @@ +#@TYPE: Machine +#@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 2GB LPDDR4 MEMORY +#@SOC: i.MX8MQ +#@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M +#@MAINTAINER: Eric Lee + +MACHINEOVERRIDES =. "mx8:mx8mq:" +MACHINEOVERRIDES =. "imx:" + +require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/imx-base.inc + +MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth optee" + +IMAGE_FEATURES += "package-management" + +MACHINE_SOCARCH_FILTER_append_mx8mq = "virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d" + +# Embedian BSP default providers +PREFERRED_PROVIDER_virtual/kernel_smarcimx8m2g ?= "linux-smarcimx8m" +PREFERRED_VERSION_linux-smarcimx8m_smarcimx8m2g = "4.9.51_imx8m" + +KERNEL_DEVICETREE = " \ + embedian/fsl-smarcimx8mq.dtb \ + embedian/fsl-smarcimx8mq-dcss-lvds.dtb \ + embedian/fsl-smarcimx8mq-lcdif-lvds.dtb \ + embedian/fsl-smarcimx8mq-hdmi.dtb \ + embedian/fsl-smarcimx8mq-hdmi-4k.dtb \ + embedian/fsl-smarcimx8mq-dual-display.dtb \ +" + +IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy" +IMAGE_BOOTFILES += "imx8mq_m4_TCM_hello_world.bin imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin" + +PREFERRED_PROVIDER_u-boot_smarcimx8m2g = "u-boot-smarcimx8m" +PREFERRED_PROVIDER_virtual/bootloader_smarcimx8m2g = "u-boot-smarcimx8m" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "smarcimx8mq_2g_ser3_ind_defconfig,sdcard" +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 = "fsl-smarcimx8mq.dtb" + +# Set imx-mkimage boot target +IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi" + +SERIAL_CONSOLE = "115200 ttymxc0" + +IMAGE_BOOTLOADER = "imx-boot" + +BOOT_SPACE = "65536" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +UBOOT_MAKE_TARGET = "" +IMX_BOOT_SEEK = "33" + +OPTEE_BIN_EXT = "8mq" + +MACHINE_EXTRA_RDEPENDS += " \ + pm-utils \ + kmod \ + hdparm \ + gptfdisk \ + lftp \ + vim \ + ntp \ + boost \ + nodejs \ + networkmanager \ + " + +# Packages added to all images (including core-image-minimal) +IMAGE_INSTALL_append = " \ + fsl-rc-local \ +" + +IMAGE_FSTYPES = "tar.bz2" + +# Ship all kernel modules by default +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" + +MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k" diff --git a/conf/machine/smarcimx8m4g.conf b/conf/machine/smarcimx8m4g.conf new file mode 100644 index 0000000..0b4a30f --- /dev/null +++ b/conf/machine/smarcimx8m4g.conf @@ -0,0 +1,87 @@ +#@TYPE: Machine +#@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 2GB LPDDR4 MEMORY +#@SOC: i.MX8MQ +#@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M +#@MAINTAINER: Eric Lee + +MACHINEOVERRIDES =. "mx8:mx8mq:" +MACHINEOVERRIDES =. "imx:" + +require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/imx-base.inc + +MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth optee" + +IMAGE_FEATURES += "package-management" + +MACHINE_SOCARCH_FILTER_append_mx8mq = "virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d" + +# Embedian BSP default providers +PREFERRED_PROVIDER_virtual/kernel_smarcimx8m2g ?= "linux-smarcimx8m" +PREFERRED_VERSION_linux-smarcimx8m_smarcimx8m2g = "4.9.51_imx8m" + +KERNEL_DEVICETREE = " \ + embedian/fsl-smarcimx8mq.dtb \ + embedian/fsl-smarcimx8mq-dcss-lvds.dtb \ + embedian/fsl-smarcimx8mq-lcdif-lvds.dtb \ + embedian/fsl-smarcimx8mq-hdmi.dtb \ + embedian/fsl-smarcimx8mq-hdmi-4k.dtb \ + embedian/fsl-smarcimx8mq-dual-display.dtb \ +" + +IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy" +IMAGE_BOOTFILES += "imx8mq_m4_TCM_hello_world.bin imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin" + +PREFERRED_PROVIDER_u-boot_smarcimx8m2g = "u-boot-smarcimx8m" +PREFERRED_PROVIDER_virtual/bootloader_smarcimx8m2g = "u-boot-smarcimx8m" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "smarcimx8mq_4g_ser3_defconfig,sdcard" +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 = "fsl-smarcimx8mq.dtb" + +# Set imx-mkimage boot target +IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi" + +SERIAL_CONSOLE = "115200 ttymxc0" + +IMAGE_BOOTLOADER = "imx-boot" + +BOOT_SPACE = "65536" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +UBOOT_MAKE_TARGET = "" +IMX_BOOT_SEEK = "33" + +OPTEE_BIN_EXT = "8mq" + +MACHINE_EXTRA_RDEPENDS += " \ + pm-utils \ + kmod \ + hdparm \ + gptfdisk \ + lftp \ + vim \ + ntp \ + boost \ + nodejs \ + networkmanager \ + " + +# Packages added to all images (including core-image-minimal) +IMAGE_INSTALL_append = " \ + fsl-rc-local \ +" + +IMAGE_FSTYPES = "tar.bz2" + +# Ship all kernel modules by default +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" + +MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k" diff --git a/recipes-bsp/u-boot/u-boot-smarcimx8m_2017.03.bb b/recipes-bsp/u-boot/u-boot-smarcimx8m_2017.03.bb index 5f0a1de..5a1fcda 100644 --- a/recipes-bsp/u-boot/u-boot-smarcimx8m_2017.03.bb +++ b/recipes-bsp/u-boot/u-boot-smarcimx8m_2017.03.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a UBOOT_SRC ?= "git://git@git.embedian.com/developer/smarc-t335x-uboot.git;protocol=https" SRCBRANCH = "smarc-imx_v2017.03_4.9.88_2.0.0_ga" SRC_URI = "${EMB_UBOOT_MIRROR};protocol=ssh;branch=${SRCBRANCH}" -SRCREV = "6282b048e3c32fefa7a5dd19b5fa9bcfb85f9265" +SRCREV = "27ce391e80f24a67fbe55e41e58fc5c70478e1ef" S = "${WORKDIR}/git" diff --git a/recipes-kernel/linux/linux-smarcimx8m_4.9.51_imx8m.bb b/recipes-kernel/linux/linux-smarcimx8m_4.9.51_imx8m.bb new file mode 100644 index 0000000..1e97d65 --- /dev/null +++ b/recipes-kernel/linux/linux-smarcimx8m_4.9.51_imx8m.bb @@ -0,0 +1,52 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright 2017 NXP +# Copyright 2018 Embedian, Inc.. +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Linux Kernel provided and supported by NXP" +DESCRIPTION = "Linux Kernel provided and supported by NXP with focus on \ +i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU." + +require recipes-kernel/linux/linux-imx.inc +require recipes-kernel/linux/linux-imx-src.inc + +DEPENDS += "lzop-native bc-native" + +DEFAULT_PREFERENCE = "1" + +DO_CONFIG_V7_COPY = "no" +DO_CONFIG_V7_COPY_mx6 = "yes" +DO_CONFIG_V7_COPY_mx7 = "yes" +DO_CONFIG_V7_COPY_mx8 = "no" + +SRCBRANCH = "smarc-imx_4.9.51_imx8m_ga" + +LOCALVERSION = "-${SRCBRANCH}" +DEFCONFIG_mx8 = "smarcimx8m_defconfig" + +KERNEL_SRC ?= "git@git.embedian.com:developer/smarc-fsl-linux-kernel.git;protocol=git" +SRC_URI = "${EMB_KERNEL_MIRROR};protocol=ssh;branch=${SRCBRANCH}" +SRCREV = "044022d8da98d6636945dc33ef969f5e096fce1f" + +S = "${WORKDIR}/git" + +addtask copy_defconfig after do_unpack before do_preconfigure +do_copy_defconfig () { + install -d ${B} + if [ ${DO_CONFIG_V7_COPY} = "yes" ]; then + # copy latest imx_v7_defconfig to use for mx6, mx6ul and mx7 + mkdir -p ${B} + cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/.config + cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/../defconfig + else + # copy latest defconfig to use for mx8 + mkdir -p ${B} + cp ${S}/arch/arm64/configs/${DEFCONFIG_mx8} ${B}/.config + cp ${S}/arch/arm64/configs/${DEFCONFIG_mx8} ${B}/../defconfig + fi +} + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +EXTRA_OEMAKE_append_mx6 = " ARCH=arm" +EXTRA_OEMAKE_append_mx7 = " ARCH=arm" +EXTRA_OEMAKE_append_mx8 = " ARCH=arm64" diff --git a/recipes-kernel/linux/linux-smarcimx8m_4.9.88.bb b/recipes-kernel/linux/linux-smarcimx8m_4.9.88.bb deleted file mode 100644 index c73fdee..0000000 --- a/recipes-kernel/linux/linux-smarcimx8m_4.9.88.bb +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Copyright 2018 Embedian, Inc.. -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Linux Kernel provided and supported by NXP" -DESCRIPTION = "Linux Kernel provided and supported by NXP with focus on \ -i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU." - -require recipes-kernel/linux/linux-imx.inc -require recipes-kernel/linux/linux-imx-src.inc - -DEPENDS += "lzop-native bc-native" - -DEFAULT_PREFERENCE = "1" - -DO_CONFIG_V7_COPY = "no" -DO_CONFIG_V7_COPY_mx6 = "yes" -DO_CONFIG_V7_COPY_mx7 = "yes" -DO_CONFIG_V7_COPY_mx8 = "no" - -SRCBRANCH = "smarc-imx_4.9.88_2.0.0_ga" - -LOCALVERSION = "-${SRCBRANCH}" -DEFCONFIG_mx8 = "smarcimx8m_defconfig" - -KERNEL_SRC ?= "git@git.embedian.com:developer/smarc-fsl-linux-kernel.git;protocol=git" -SRC_URI = "${EMB_KERNEL_MIRROR};protocol=ssh;branch=${SRCBRANCH}" -SRCREV = "a0f48761d7bb4f790f996f0765cced72c1ff3ee2" - -S = "${WORKDIR}/git" - -addtask copy_defconfig after do_unpack before do_preconfigure -do_copy_defconfig () { - install -d ${B} - if [ ${DO_CONFIG_V7_COPY} = "yes" ]; then - # copy latest imx_v7_defconfig to use for mx6, mx6ul and mx7 - mkdir -p ${B} - cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/.config - cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/../defconfig - else - # copy latest defconfig to use for mx8 - mkdir -p ${B} - cp ${S}/arch/arm64/configs/${DEFCONFIG_mx8} ${B}/.config - cp ${S}/arch/arm64/configs/${DEFCONFIG_mx8} ${B}/../defconfig - fi -} - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" -EXTRA_OEMAKE_append_mx6 = " ARCH=arm" -EXTRA_OEMAKE_append_mx7 = " ARCH=arm" -EXTRA_OEMAKE_append_mx8 = " ARCH=arm64" -- 1.9.1