Commit 2a81539004bc2900a14367c7d3de653c781405b7

Authored by Eric Lee
1 parent 7325f8364c

Move some descriptions from layer to machine configuration and change package ma…

…nagement from rpm to ipk

Showing 5 changed files with 78 additions and 88 deletions Inline Diff

1 # We have a conf and classes directory, add to BBPATH 1 # We have a conf and classes directory, add to BBPATH
2 BBPATH .= ":${LAYERDIR}" 2 BBPATH .= ":${LAYERDIR}"
3 3
4 # We have a packages directory, add to BBFILES 4 # We have a packages directory, add to BBFILES
5 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ 5 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6 ${LAYERDIR}/recipes-*/*/*.bbappend" 6 ${LAYERDIR}/recipes-*/*/*.bbappend"
7 7
8 BBFILE_COLLECTIONS += "smarcimx8mq" 8 BBFILE_COLLECTIONS += "smarcimx8mq"
9 BBFILE_PATTERN_smarcimx8mq := "^${LAYERDIR}" 9 BBFILE_PATTERN_smarcimx8mq := "^${LAYERDIR}"
10 BBFILE_PRIORITY_smarcimx8mq = "12" 10 BBFILE_PRIORITY_smarcimx8mq = "12"
11 LAYERSERIES_COMPAT_smarcimx8mq = "warrior zeus" 11 LAYERSERIES_COMPAT_smarcimx8mq = "warrior zeus"
12 12
13 # Define new EULAs and add them to the list defined in meta-freescale. 13 # Define new EULAs and add them to the list defined in meta-freescale.
14 # See fsl-eula-unpack.bbclass. 14 # See fsl-eula-unpack.bbclass.
15 FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10 = "fd4b227530cd88a82af6a5982cfb724d" 15 FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10 = "fd4b227530cd88a82af6a5982cfb724d"
16 FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11 = "228c72f2a91452b8a03c4cab30f30ef9" 16 FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11 = "228c72f2a91452b8a03c4cab30f30ef9"
17 FSL_EULA_FILE_MD5SUMS_append = " \ 17 FSL_EULA_FILE_MD5SUMS_append = " \
18 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10} \ 18 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V10} \
19 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11} \ 19 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11} \
20 " 20 "
21 21
22 # Override the EULA defined in meta-freescale. 22 # Override the EULA defined in meta-freescale.
23 FSL_EULA_FILE = "${LAYERDIR}/../EULA.txt" 23 FSL_EULA_FILE = "${LAYERDIR}/../EULA.txt"
24 FSL_EULA_FILE_MD5SUM = "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11}" 24 FSL_EULA_FILE_MD5SUM = "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V11}"
25 25
26 HOSTTOOLS_NONFATAL_append = " bc rsync xxd" 26 HOSTTOOLS_NONFATAL_append = " bc rsync xxd"
27 27
28 # optee is no longer a valid distro feature. Use machine feature to remove, like this: 28 # optee is no longer a valid distro feature. Use machine feature to remove, like this:
29 # MACHINE_FEATURES_remove = "optee" 29 # MACHINE_FEATURES_remove = "optee"
30 # DEPRECATED: The ability to remove optee from the build is deprecated and 30 # DEPRECATED: The ability to remove optee from the build is deprecated and
31 # will be removed in some future release. 31 # will be removed in some future release.
32 32
33 DISTRO_FEATURES_FILTER_NATIVESDK += "wayland"
34
35 MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE ?= "0"
36
37 # Overrides for imx-base.inc
38 IMAGE_CLASSES += "image_types_create_sdcard_symlink"
39
40 MACHINE_SOCARCH_FILTER_append_imxgpu = " opencv"
41
42 MACHINE_SOCARCH_FILTER_remove = " imx-parser"
43
44 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4339', 'linux-firmware-bcm4339', '', d)}"
45 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43430', 'linux-firmware-bcm43430', '', d)}"
46 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43455', 'linux-firmware-bcm43455', '', d)}"
47 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4356', 'linux-firmware-bcm4356-pcie', '', d)}"
48 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'linux-firmware-bcm4359-pcie', '', d)}"
49 MACHINE_FIRMWARE_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987', 'linux-firmware-nxp8987', '', d)}"
50
51 # Extra Marvell Wi-Fi & BTE driver and firmware
52 MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'mrvl8997', 'packagegroup-imx-mrvl8997', '', d)}"
53
54 # Extra NXP Wlan SDK
55 MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987', 'nxp-wlan-sdk', '', d)}"
56
57 MACHINE_GSTREAMER_1_0_PLUGIN_mx8 ?= "imx-gst1.0-plugin"
58
59 PREFERRED_VERSION_weston_mx8 ?= "8.0.0.imx"
60
61 PREFERRED_VERSION_wayland-protocols_mx8 = "1.18.imx"
62
63 PREFERRED_VERSION_libdrm_mx8 ?= "2.4.99.imx"
64
65 PREFERRED_VERSION_isp-imx ?= "4.0.8.2"
66 PREFERRED_VERSION_basler-camera ?= "1.0.2"
67
68 PREFERRED_VERSION_optee-client_mx8 = "3.7.0.imx"
69 PREFERRED_VERSION_optee-os_mx8 = "3.7.0.imx"
70 PREFERRED_VERSION_optee-test_mx8 = "3.7.0.imx"
71
72 # Use the stable version 3.2.0. Version 3.7.0 is still
73 # in an experimental state
74 PREFERRED_VERSION_optee-os ?= "3.2.0.imx"
75 PREFERRED_VERSION_optee-client ?= "3.2.0.imx"
76 PREFERRED_VERSION_optee-test ?= "3.2.0.imx"
77 # Temporary workaround to override specific prefered version
78 # in meta-freescale layer for i.MX8.
79 PREFERRED_VERSION_optee-os_mx8 ?= "3.7.0.imx"
80 PREFERRED_VERSION_optee-client_mx8 ?= "3.7.0.imx"
81 PREFERRED_VERSION_optee-test_mx8 ?= "3.7.0.imx"
82
83 IMX_DEFAULT_KERNEL_mx6ulz = "linux-imx"
84
85 SOC_DEFAULT_IMAGE_FSTYPES_remove = "wic.gz"
86 SOC_DEFAULT_IMAGE_FSTYPES_append = " wic.bz2 tar.bz2"
87
88 # Remove from upstream
89 SDCARD_ROOTFS = "NO_LONGER_USED"
90
91 OPTEE_BOOT_IMAGE_mx8 ?= "tee.bin"
92
93 IMAGE_BOOT_FILES_append = " \
94 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'xen', '', d)} \
95 "
96
97 IMAGE_INSTALL_append = " \
98 ${@bb.utils.contains('COMBINED_FEATURES', 'jailhouse', 'jailhouse', '', d)} \
99 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'packagegroup-fsl-optee-imx', '', d)} \
100 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'imx-xen-base imx-xen-hypervisor', '', d)} \
101 "
102
103 MACHINE_FEATURES_append_imx = " nxp8987"
104
105 # Overrides for all MACHINE.conf with optee support
106 UBOOT_CONFIG_OPTEE_CONFIG = "mx${OPTEE_BIN_EXT}_optee_config"
107 UBOOT_CONFIG[sd-optee] = "${UBOOT_CONFIG_OPTEE_CONFIG},sdcard"
108
109
110 MACHINE_FEATURES_remove_smarcimx8mq2g = "qca6174"
111 MACHINE_FEATURES_append_smarcimx8mq2g = " bcm43455 bcm4356 bcm4359 mrvl8997 jailhouse"
112 MACHINE_FEATURES_remove_smarcimx8mq4g = "qca6174"
113 MACHINE_FEATURES_append_smarcimx8mq4g = " bcm43455 bcm4356 bcm4359 mrvl8997 jailhouse"
114
115 EMB_UBOOT_MIRROR ?= "git://git@git.embedian.com/developer/smarc-t335x-uboot.git" 33 EMB_UBOOT_MIRROR ?= "git://git@git.embedian.com/developer/smarc-t335x-uboot.git"
116 EMB_KERNEL_MIRROR ?= "git://git@git.embedian.com/developer/smarc-fsl-linux-kernel.git" 34 EMB_KERNEL_MIRROR ?= "git://git@git.embedian.com/developer/smarc-fsl-linux-kernel.git"
117 35
118 MIRRORS += " \ 36 MIRRORS += " \
119 ${EMB_UBOOT_MIRROR} git://github.com/embedian/smarc-uboot.git;protocol=git;branch=${SRCBRANCH} \n \ 37 ${EMB_UBOOT_MIRROR} git://github.com/embedian/smarc-uboot.git;protocol=git;branch=${SRCBRANCH} \n \
120 ${EMB_KERNEL_MIRROR} git://github.com/embedian/smarc-fsl-linux-kernel.git;protocol=git;branch=${SRCBRANCH} \n \ 38 ${EMB_KERNEL_MIRROR} git://github.com/embedian/smarc-fsl-linux-kernel.git;protocol=git;branch=${SRCBRANCH} \n \
121 " 39 "
122 40
123 41
conf/machine/include/smarc-common.inc
File was created 1 MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE ?= "0"
2
3 PACKAGE_CLASSES = "package_ipk"
4
5 MACHINE_SOCARCH_FILTER_append_imxgpu = " opencv"
6
7 MACHINE_SOCARCH_FILTER_remove = " imx-parser"
8
9 MACHINE_SOCARCH_FILTER_append_imxgpu = " opencv"
10
11 MACHINE_SOCARCH_FILTER_remove = " imx-parser"
12
13 # Extra Marvell Wi-Fi & BTE driver and firmware
14 MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'mrvl8997', 'packagegroup-imx-mrvl8997', '', d)}"
15
16 # Extra NXP Wlan SDK
17 MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987', 'nxp-wlan-sdk', '', d)}"
18
19 MACHINE_GSTREAMER_1_0_PLUGIN_mx8 ?= "imx-gst1.0-plugin"
20
21 PREFERRED_VERSION_weston_mx8 ?= "8.0.0.imx"
22
23 PREFERRED_VERSION_wayland-protocols_mx8 = "1.18.imx"
24
25 PREFERRED_VERSION_libdrm_mx8 ?= "2.4.99.imx"
26
27 PREFERRED_VERSION_isp-imx ?= "4.0.8.2"
28 PREFERRED_VERSION_basler-camera ?= "1.0.2"
29
30 PREFERRED_VERSION_optee-client_mx8 = "3.7.0.imx"
31 PREFERRED_VERSION_optee-os_mx8 = "3.7.0.imx"
32 PREFERRED_VERSION_optee-test_mx8 = "3.7.0.imx"
33
34 # Use the stable version 3.2.0. Version 3.7.0 is still
35 # in an experimental state
36 PREFERRED_VERSION_optee-os ?= "3.2.0.imx"
37 PREFERRED_VERSION_optee-client ?= "3.2.0.imx"
38 PREFERRED_VERSION_optee-test ?= "3.2.0.imx"
39 # Temporary workaround to override specific prefered version
40 # in meta-freescale layer for i.MX8.
41 PREFERRED_VERSION_optee-os_mx8 ?= "3.7.0.imx"
42 PREFERRED_VERSION_optee-client_mx8 ?= "3.7.0.imx"
43 PREFERRED_VERSION_optee-test_mx8 ?= "3.7.0.imx"
44
45 IMX_DEFAULT_KERNEL_mx6ulz = "linux-imx"
46
47 SOC_DEFAULT_IMAGE_FSTYPES_remove = "wic.gz"
48 SOC_DEFAULT_IMAGE_FSTYPES_append = " wic.bz2 tar.bz2"
49
50 # Remove from upstream
51 SDCARD_ROOTFS = "NO_LONGER_USED"
52
53 OPTEE_BOOT_IMAGE_mx8 ?= "tee.bin"
54
55 IMAGE_BOOT_FILES_append = " \
56 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'xen', '', d)} \
57 "
58
59 IMAGE_INSTALL_append = " \
60 ${@bb.utils.contains('COMBINED_FEATURES', 'jailhouse', 'jailhouse', '', d)} \
61 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'packagegroup-fsl-optee-imx', '', d)} \
62 ${@bb.utils.contains('COMBINED_FEATURES', 'xen', 'imx-xen-base imx-xen-hypervisor', '', d)} \
63 "
64
65 MACHINE_FEATURES_append_imx = " nxp8987"
66
67 # Overrides for all MACHINE.conf with optee support
68 UBOOT_CONFIG_OPTEE_CONFIG = "mx${OPTEE_BIN_EXT}_optee_config"
69 UBOOT_CONFIG[sd-optee] = "${UBOOT_CONFIG_OPTEE_CONFIG},sdcard"
70
71
72 MACHINE_FEATURES_remove_smarcimx8mq2g = "qca6174"
73 MACHINE_FEATURES_append_smarcimx8mq2g = " mrvl8997 jailhouse"
74 MACHINE_FEATURES_remove_smarcimx8mq4g = "qca6174"
75 MACHINE_FEATURES_append_smarcimx8mq4g = " mrvl8997 jailhouse"
76
conf/machine/smarcimx8mq2g.conf
1 #@TYPE: Machine 1 #@TYPE: Machine
2 #@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 2GB LPDDR4 MEMORY 2 #@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 2GB LPDDR4 MEMORY
3 #@SOC: i.MX8MQ 3 #@SOC: i.MX8MQ
4 #@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M 4 #@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M
5 #@MAINTAINER: Eric Lee <eric.lee@embedian.com> 5 #@MAINTAINER: Eric Lee <eric.lee@embedian.com>
6 # 6 #
7 # http://www.www.embedian.com 7 # http://www.www.embedian.com
8 8
9 MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:" 9 MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
10 10
11 require conf/machine/include/imx-base.inc 11 require conf/machine/include/imx-base.inc
12 require conf/machine/include/tune-cortexa53.inc 12 require conf/machine/include/tune-cortexa53.inc
13 require conf/machine/include/smarc-common.inc
13 14
14 MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth" 15 MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth"
15
16 PACKAGE_CLASSES = "package_rpm"
17 16
18 # Embedian BSP default providers 17 # Embedian BSP default providers
19 PREFERRED_PROVIDER_virtual/kernel_smarcimx8mq2g ?= "linux-smarcimx8mq" 18 PREFERRED_PROVIDER_virtual/kernel_smarcimx8mq2g ?= "linux-smarcimx8mq"
20 PREFERRED_VERSION_linux-smarcimx8mq4g_smarcimx8mq2g = "5.4" 19 PREFERRED_VERSION_linux-smarcimx8mq4g_smarcimx8mq2g = "5.4"
21 20
22 KERNEL_DEVICETREE = " \ 21 KERNEL_DEVICETREE = " \
23 embedian/imx8mq-smarc.dtb \ 22 embedian/imx8mq-smarc.dtb \
24 embedian/imx8mq-smarc-dcss-lvds.dtb \ 23 embedian/imx8mq-smarc-dcss-lvds.dtb \
25 embedian/imx8mq-smarc-lcdif-lvds.dtb \ 24 embedian/imx8mq-smarc-lcdif-lvds.dtb \
26 embedian/imx8mq-smarc-hdmi.dtb \ 25 embedian/imx8mq-smarc-hdmi.dtb \
27 embedian/imx8mq-smarc-dp.dtb \ 26 embedian/imx8mq-smarc-dp.dtb \
28 embedian/imx8mq-smarc-dual-display.dtb \ 27 embedian/imx8mq-smarc-dual-display.dtb \
29 embedian/imx8mq-smarc-m4.dtb \ 28 embedian/imx8mq-smarc-m4.dtb \
30 embedian/imx8mq-smarc-m4-dcss-lvds.dtb \ 29 embedian/imx8mq-smarc-m4-dcss-lvds.dtb \
31 embedian/imx8mq-smarc-m4-lcdif-lvds.dtb \ 30 embedian/imx8mq-smarc-m4-lcdif-lvds.dtb \
32 embedian/imx8mq-smarc-m4-hdmi.dtb \ 31 embedian/imx8mq-smarc-m4-hdmi.dtb \
33 embedian/imx8mq-smarc-m4-dp.dtb \ 32 embedian/imx8mq-smarc-m4-dp.dtb \
34 embedian/imx8mq-smarc-m4-dual-display.dtb \ 33 embedian/imx8mq-smarc-m4-dual-display.dtb \
35 " 34 "
36 MACHINE_EXTRA_RRECOMMENDS_append_mx8mq = " imx-m4-demos" 35 MACHINE_EXTRA_RRECOMMENDS_append_mx8mq = " imx-m4-demos"
37 IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy" 36 IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy"
38 IMAGE_BOOT_FILES += "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" 37 IMAGE_BOOT_FILES += "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"
39 38
40 PREFERRED_PROVIDER_u-boot_smarcimx8mq2g = "u-boot-smarcimx8mq" 39 PREFERRED_PROVIDER_u-boot_smarcimx8mq2g = "u-boot-smarcimx8mq"
41 PREFERRED_PROVIDER_virtual/bootloader_smarcimx8mq2g = "u-boot-smarcimx8mq" 40 PREFERRED_PROVIDER_virtual/bootloader_smarcimx8mq2g = "u-boot-smarcimx8mq"
42 41
43 UBOOT_CONFIG ??= "sd" 42 UBOOT_CONFIG ??= "sd"
44 UBOOT_CONFIG[sd] = "smarcimx8mq_2g_ser3_defconfig,sdcard" 43 UBOOT_CONFIG[sd] = "smarcimx8mq_2g_ser3_defconfig,sdcard"
45 SPL_BINARY = "spl/u-boot-spl.bin" 44 SPL_BINARY = "spl/u-boot-spl.bin"
46 45
47 # Set DDR FIRMWARE 46 # Set DDR FIRMWARE
48 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" 47 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"
49 48
50 # Set U-Boot DTB 49 # Set U-Boot DTB
51 UBOOT_DTB_NAME = "imx8mq-smarc.dtb" 50 UBOOT_DTB_NAME = "imx8mq-smarc.dtb"
52 51
53 # Set imx-mkimage boot target 52 # Set imx-mkimage boot target
54 IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk" 53 IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"
55 54
56 SERIAL_CONSOLE = "115200 ttymxc0" 55 SERIAL_CONSOLE = "115200 ttymxc0"
57 56
58 IMAGE_BOOTLOADER = "imx-boot" 57 IMAGE_BOOTLOADER = "imx-boot"
59 58
60 LOADADDR = "" 59 LOADADDR = ""
61 UBOOT_MAKE_TARGET = "" 60 UBOOT_MAKE_TARGET = ""
62 IMX_BOOT_SEEK = "33" 61 IMX_BOOT_SEEK = "33"
63 62
64 MACHINE_EXTRA_RDEPENDS += " \ 63 MACHINE_EXTRA_RDEPENDS += " \
65 imx-boot \ 64 imx-boot \
66 packagegroup-tools-bluetooth \ 65 packagegroup-tools-bluetooth \
67 pm-utils \ 66 pm-utils \
68 kmod \ 67 kmod \
69 hdparm \ 68 hdparm \
70 gptfdisk \ 69 gptfdisk \
71 lftp \ 70 lftp \
72 vim \ 71 vim \
73 ntp \ 72 ntp \
74 boost \ 73 boost \
75 nodejs \ 74 nodejs \
76 networkmanager \ 75 networkmanager \
77 imx-gpu-viv \ 76 imx-gpu-viv \
78 " 77 "
79 78
80 # Packages added to all images (including core-image-minimal) 79 # Packages added to all images (including core-image-minimal)
81 80
82 # eIQ Machine Learning. Note that many of the features require Qt 5. Disable 81 # eIQ Machine Learning. Note that many of the features require Qt 5. Disable
83 # this when you build image without QT 5. 82 # this when you build image without QT 5.
84 IMAGE_INSTALL_append = " \ 83 IMAGE_INSTALL_append = " \
85 packagegroup-imx-ml \ 84 packagegroup-imx-ml \
86 fsl-rc-local \ 85 fsl-rc-local \
87 " 86 "
88 #IMAGE_INSTALL_append = " \ 87 #IMAGE_INSTALL_append = " \
89 # fsl-rc-local \ 88 # fsl-rc-local \
90 # " 89 # "
91 90
92 IMAGE_FSTYPES = "tar.bz2" 91 IMAGE_FSTYPES = "tar.bz2"
93 92
94 # Ship all kernel modules by default 93 # Ship all kernel modules by default
95 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" 94 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
96 95
97 MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k firmware-imx-sdma firmware-imx-regulatory" 96 MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k firmware-imx-sdma firmware-imx-regulatory"
conf/machine/smarcimx8mq4g.conf
1 #@TYPE: Machine 1 #@TYPE: Machine
2 #@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 4GB LPDDR4 MEMORY 2 #@NAME: EMBEDIAN SMARC-iMX8M COMPUTER ON MODULES with 4GB LPDDR4 MEMORY
3 #@SOC: i.MX8MQ 3 #@SOC: i.MX8MQ
4 #@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M 4 #@DESCRIPTION: Machine configuration for Embedian SMARC-iMX8M
5 #@MAINTAINER: Eric Lee <eric.lee@embedian.com> 5 #@MAINTAINER: Eric Lee <eric.lee@embedian.com>
6 # 6 #
7 # http://www.www.embedian.com 7 # http://www.www.embedian.com
8 8
9 MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:" 9 MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:"
10 10
11 require conf/machine/include/imx-base.inc 11 require conf/machine/include/imx-base.inc
12 require conf/machine/include/tune-cortexa53.inc 12 require conf/machine/include/tune-cortexa53.inc
13 require conf/machine/include/smarc-common.inc
13 14
14 MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth" 15 MACHINE_FEATURES += " usbgadget vfat ext2 alsa serial pci wifi bluetooth"
15
16 PACKAGE_CLASSES = "package_rpm"
17 16
18 # Embedian BSP default providers 17 # Embedian BSP default providers
19 PREFERRED_PROVIDER_virtual/kernel_smarcimx8mq4g ?= "linux-smarcimx8mq" 18 PREFERRED_PROVIDER_virtual/kernel_smarcimx8mq4g ?= "linux-smarcimx8mq"
20 PREFERRED_VERSION_linux-smarcimx8mq4g_smarcimx8mq4g = "5.4" 19 PREFERRED_VERSION_linux-smarcimx8mq4g_smarcimx8mq4g = "5.4"
21 20
22 KERNEL_DEVICETREE = " \ 21 KERNEL_DEVICETREE = " \
23 embedian/imx8mq-smarc.dtb \ 22 embedian/imx8mq-smarc.dtb \
24 embedian/imx8mq-smarc-dcss-lvds.dtb \ 23 embedian/imx8mq-smarc-dcss-lvds.dtb \
25 embedian/imx8mq-smarc-lcdif-lvds.dtb \ 24 embedian/imx8mq-smarc-lcdif-lvds.dtb \
26 embedian/imx8mq-smarc-hdmi.dtb \ 25 embedian/imx8mq-smarc-hdmi.dtb \
27 embedian/imx8mq-smarc-dp.dtb \ 26 embedian/imx8mq-smarc-dp.dtb \
28 embedian/imx8mq-smarc-dual-display.dtb \ 27 embedian/imx8mq-smarc-dual-display.dtb \
29 embedian/imx8mq-smarc-m4.dtb \ 28 embedian/imx8mq-smarc-m4.dtb \
30 embedian/imx8mq-smarc-m4-dcss-lvds.dtb \ 29 embedian/imx8mq-smarc-m4-dcss-lvds.dtb \
31 embedian/imx8mq-smarc-m4-lcdif-lvds.dtb \ 30 embedian/imx8mq-smarc-m4-lcdif-lvds.dtb \
32 embedian/imx8mq-smarc-m4-hdmi.dtb \ 31 embedian/imx8mq-smarc-m4-hdmi.dtb \
33 embedian/imx8mq-smarc-m4-dp.dtb \ 32 embedian/imx8mq-smarc-m4-dp.dtb \
34 embedian/imx8mq-smarc-m4-dual-display.dtb \ 33 embedian/imx8mq-smarc-m4-dual-display.dtb \
35 " 34 "
36 MACHINE_EXTRA_RRECOMMENDS_append_mx8mq = " imx-m4-demos" 35 MACHINE_EXTRA_RRECOMMENDS_append_mx8mq = " imx-m4-demos"
37 IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy" 36 IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos:do_deploy"
38 IMAGE_BOOT_FILES += "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" 37 IMAGE_BOOT_FILES += "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"
39 38
40 PREFERRED_PROVIDER_u-boot_smarcimx8mq4g = "u-boot-smarcimx8mq" 39 PREFERRED_PROVIDER_u-boot_smarcimx8mq4g = "u-boot-smarcimx8mq"
41 PREFERRED_PROVIDER_virtual/bootloader_smarcimx8mq4g = "u-boot-smarcimx8mq" 40 PREFERRED_PROVIDER_virtual/bootloader_smarcimx8mq4g = "u-boot-smarcimx8mq"
42 41
43 UBOOT_CONFIG ??= "sd" 42 UBOOT_CONFIG ??= "sd"
44 UBOOT_CONFIG[sd] = "smarcimx8mq_4g_ser3_defconfig,sdcard" 43 UBOOT_CONFIG[sd] = "smarcimx8mq_4g_ser3_defconfig,sdcard"
45 SPL_BINARY = "spl/u-boot-spl.bin" 44 SPL_BINARY = "spl/u-boot-spl.bin"
46 45
47 # Set DDR FIRMWARE 46 # Set DDR FIRMWARE
48 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" 47 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"
49 48
50 # Set U-Boot DTB 49 # Set U-Boot DTB
51 UBOOT_DTB_NAME = "imx8mq-smarc.dtb" 50 UBOOT_DTB_NAME = "imx8mq-smarc.dtb"
52 51
53 # Set imx-mkimage boot target 52 # Set imx-mkimage boot target
54 IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk" 53 IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk"
55 54
56 SERIAL_CONSOLE = "115200 ttymxc0" 55 SERIAL_CONSOLE = "115200 ttymxc0"
57 56
58 IMAGE_BOOTLOADER = "imx-boot" 57 IMAGE_BOOTLOADER = "imx-boot"
59 58
60 LOADADDR = "" 59 LOADADDR = ""
61 UBOOT_MAKE_TARGET = "" 60 UBOOT_MAKE_TARGET = ""
62 IMX_BOOT_SEEK = "33" 61 IMX_BOOT_SEEK = "33"
63 62
64 MACHINE_EXTRA_RDEPENDS += " \ 63 MACHINE_EXTRA_RDEPENDS += " \
65 imx-boot \ 64 imx-boot \
66 packagegroup-tools-bluetooth \ 65 packagegroup-tools-bluetooth \
67 pm-utils \ 66 pm-utils \
68 kmod \ 67 kmod \
69 hdparm \ 68 hdparm \
70 gptfdisk \ 69 gptfdisk \
71 lftp \ 70 lftp \
72 vim \ 71 vim \
73 ntp \ 72 ntp \
74 boost \ 73 boost \
75 nodejs \ 74 nodejs \
76 networkmanager \ 75 networkmanager \
77 imx-gpu-viv \ 76 imx-gpu-viv \
78 " 77 "
79 78
80 # Packages added to all images (including core-image-minimal) 79 # Packages added to all images (including core-image-minimal)
81 80
82 # eIQ Machine Learning. Note that many of the features require Qt 5. Disable 81 # eIQ Machine Learning. Note that many of the features require Qt 5. Disable
83 # this when you build image without QT 5. 82 # this when you build image without QT 5.
84 IMAGE_INSTALL_append = " \ 83 IMAGE_INSTALL_append = " \
85 packagegroup-imx-ml \ 84 packagegroup-imx-ml \
86 fsl-rc-local \ 85 fsl-rc-local \
87 " 86 "
88 #IMAGE_INSTALL_append = " \ 87 #IMAGE_INSTALL_append = " \
89 # fsl-rc-local \ 88 # fsl-rc-local \
90 # " 89 # "
91 90
92 IMAGE_FSTYPES = "tar.bz2" 91 IMAGE_FSTYPES = "tar.bz2"
93 92
94 # Ship all kernel modules by default 93 # Ship all kernel modules by default
95 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" 94 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
96 95
97 MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k firmware-imx-sdma firmware-imx-regulatory" 96 MACHINE_FIRMWARE_append_mx8 = " linux-firmware-ath10k firmware-imx-sdma firmware-imx-regulatory"
recipes-kernel/linux/linux-smarcimx8mq_5.4.bb
1 # Copyright (C) 2013-2016 Freescale Semiconductor 1 # Copyright (C) 2013-2016 Freescale Semiconductor
2 # Copyright 2017-2019 NXP 2 # Copyright 2017-2019 NXP
3 # Copyright 2018-2019 Embedian, Inc. 3 # Copyright 2018-2019 Embedian, Inc.
4 # Released under the MIT license (see COPYING.MIT for the terms) 4 # Released under the MIT license (see COPYING.MIT for the terms)
5 5
6 SUMMARY = "Linux kernel provided and supported by Embedian" 6 SUMMARY = "Linux kernel provided and supported by Embedian"
7 DESCRIPTION = "Linux kernel provided and supported by Embedian (based on the kernel imx_5.4.24_2.1.0 provided by NXP) \ 7 DESCRIPTION = "Linux kernel provided and supported by Embedian (based on the kernel imx_5.4.24_2.1.0 provided by NXP) \
8 with focus on i.MX Family SOMs. It includes support for many IPs such as GPU, VPU and IPU." 8 with focus on i.MX Family SOMs. It includes support for many IPs such as GPU, VPU and IPU."
9 9
10 require recipes-kernel/linux/linux-imx.inc 10 require recipes-kernel/linux/linux-imx.inc
11 11
12 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" 12 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
13 13
14 DEPENDS += "lzop-native bc-native" 14 DEPENDS += "lzop-native bc-native"
15 15
16 SRCBRANCH = "smarc_8mq_imx_5.4.24_2.1.0" 16 SRCBRANCH = "smarc_8mq_imx_5.4.24_2.1.0"
17 #KERNEL_BRANCH ?= "smarc_8mq_imx_5.4.24_2.1.0" 17 LOCALVERSION = "-2.1.0"
18 LOCALVERSION = "-${SRCBRANCH}"
19 KERNEL_DEFCONFIG = "${S}/arch/arm64/configs/smarcimx8mq_defconfig" 18 KERNEL_DEFCONFIG = "${S}/arch/arm64/configs/smarcimx8mq_defconfig"
20 19
21 KERNEL_SRC ?= "git@git.embedian.com:developer/smarc-fsl-linux-kernel.git;protocol=git" 20 KERNEL_SRC ?= "git@git.embedian.com:developer/smarc-fsl-linux-kernel.git;protocol=git"
22 SRC_URI = "${EMB_KERNEL_MIRROR};protocol=ssh;branch=${SRCBRANCH}" 21 SRC_URI = "${EMB_KERNEL_MIRROR};protocol=ssh;branch=${SRCBRANCH}"
23 SRCREV = "d0b156720daed973213a749162ac1d66d6c62ea8" 22 SRCREV = "d0b156720daed973213a749162ac1d66d6c62ea8"
24 23
25 S = "${WORKDIR}/git" 24 S = "${WORKDIR}/git"
26 25
27 FILES_${KERNEL_PACKAGE_NAME}-base += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo " 26 FILES_${KERNEL_PACKAGE_NAME}-base += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo "
28 27
29 KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} olddefconfig" 28 KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} olddefconfig"
30 29
31 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 30 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
32 31
33 DEFAULT_PREFERENCE = "1" 32 DEFAULT_PREFERENCE = "1"
34 33
35 addtask copy_defconfig after do_patch before do_preconfigure 34 addtask copy_defconfig after do_patch before do_preconfigure
36 35
37 do_copy_defconfig () { 36 do_copy_defconfig () {
38 install -d ${B} 37 install -d ${B}
39 # copy kernel defconfig smarcimx8mq_defconfig to use for mx8 38 # copy kernel defconfig smarcimx8mq_defconfig to use for mx8
40 mkdir -p ${B} 39 mkdir -p ${B}
41 cp ${KERNEL_DEFCONFIG} ${B}/.config 40 cp ${KERNEL_DEFCONFIG} ${B}/.config
42 cp ${KERNEL_DEFCONFIG} ${B}/../defconfig 41 cp ${KERNEL_DEFCONFIG} ${B}/../defconfig
43 } 42 }
44 43
45 DELTA_KERNEL_DEFCONFIG ?= "" 44 DELTA_KERNEL_DEFCONFIG ?= ""
46 #DELTA_KERNEL_DEFCONFIG_prepend_mx8 = "sdk_imx.config " 45 #DELTA_KERNEL_DEFCONFIG_prepend_mx8 = "sdk_imx.config "
47 46
48 do_merge_delta_config[dirs] = "${B}" 47 do_merge_delta_config[dirs] = "${B}"
49 do_merge_delta_config() { 48 do_merge_delta_config() {
50 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do 49 for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do
51 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then 50 if [ -f ${S}/arch/${ARCH}/configs/${deltacfg} ]; then
52 ${KERNEL_CONFIG_COMMAND} 51 ${KERNEL_CONFIG_COMMAND}
53 oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} ${deltacfg} 52 oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} ${deltacfg}
54 elif [ -f "${WORKDIR}/${deltacfg}" ]; then 53 elif [ -f "${WORKDIR}/${deltacfg}" ]; then
55 ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} 54 ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg}
56 elif [ -f "${deltacfg}" ]; then 55 elif [ -f "${deltacfg}" ]; then
57 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg} 56 ${S}/scripts/kconfig/merge_config.sh -m .config ${deltacfg}
58 fi 57 fi
59 done 58 done
60 cp .config ${WORKDIR}/defconfig 59 cp .config ${WORKDIR}/defconfig
61 } 60 }
62 addtask merge_delta_config before do_preconfigure after do_copy_defconfig 61 addtask merge_delta_config before do_preconfigure after do_copy_defconfig
63 62
64 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" 63 COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
65 64