* [Buildroot] [PATCH 1/2] package/freescale-imx/imx-m4-firmware: new package
@ 2019-10-29 17:01 Fabrice Goucem
2019-10-29 17:01 ` [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
0 siblings, 2 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-29 17:01 UTC (permalink / raw)
To: buildroot
New package to download and install i.MX Cortex-M4 firmware
for following SoCs:
* i.MX7D
* i.MX8M
* i.MX8MM
* i.MX8QXP
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
Tested-by: Julien Olivain <julien.olivain@nxp.com>
---
DEVELOPERS | 3 +
board/freescale/common/imx/post-image.sh | 14 ++++-
package/freescale-imx/Config.in | 8 +++
.../freescale-imx/imx-m4-firmware/Config.in | 11 ++++
.../imx-m4-firmware/imx-m4-firmware.hash | 7 +++
.../imx-m4-firmware/imx-m4-firmware.mk | 61 +++++++++++++++++++
6 files changed, 103 insertions(+), 1 deletion(-)
create mode 100644 package/freescale-imx/imx-m4-firmware/Config.in
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 6f6b768e0d..47404057b4 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -878,6 +878,9 @@ F: package/tinydtls/
F: package/tinymembench/
F: package/whois/
+N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: package/freescale-imx/imx-m4-firmware/
+
N: Falco Hyfing <hyfinglists@gmail.com>
F: package/python-pymodbus/
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 19d8fffb63..f9851c2d3b 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -30,6 +30,18 @@ linux_image()
fi
}
+#
+# m4_image prints all available M4 firmware file names for the genimage
+# configuration file
+#
+m4_image()
+{
+ if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
+ echo -n ", "
+ for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
+ fi
+}
+
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
@@ -75,7 +87,7 @@ uboot_image()
main()
{
- local FILES="$(dtb_list) $(linux_image)"
+ local FILES="$(dtb_list) $(linux_image) $(m4_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index f010aab87b..76694bc788 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ bool
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
+source "package/freescale-imx/imx-m4-firmware/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
diff --git a/package/freescale-imx/imx-m4-firmware/Config.in b/package/freescale-imx/imx-m4-firmware/Config.in
new file mode 100644
index 0000000000..2c318e5dfc
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/Config.in
@@ -0,0 +1,11 @@
+comment "imx-m4-firmware needs an i.MX platform with Cortex-M4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+
+config BR2_PACKAGE_IMX_M4_FIRMWARE
+ bool "imx-m4-firmware"
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ help
+ Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
new file mode 100644
index 0000000000..fdc2c23c9f
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
@@ -0,0 +1,7 @@
+# locally computed
+sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
+sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
+sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
+
+# no hash for license file as it is different for each package listed above
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
new file mode 100644
index 0000000000..435592afc0
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
@@ -0,0 +1,61 @@
+################################################################################
+#
+# imx-m4-firmware
+#
+################################################################################
+
+IMX_M4_FIRMWARE_SITE = $(FREESCALE_IMX_SITE)
+
+IMX_M4_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement
+IMX_M4_FIRMWARE_LICENSE_FILES = COPYING
+IMX_M4_FIRMWARE_REDISTRIBUTE = NO
+
+define IMX_M4_FIRMWARE_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_FIRMWARE_DL_DIR)/$(IMX_M4_FIRMWARE_SOURCE))
+endef
+
+# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
+
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+IMX_M4_FIRMWARE_VERSION = 1.0.1
+IMX_M4_FIRMWARE_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8qx-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
+ cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
+ cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+IMX_M4_FIRMWARE_VERSION = 2.3.0
+IMX_M4_FIRMWARE_SOURCE = imx8mq-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8mm-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
+endef
+endif
+
+$(eval $(generic-package))
--
2.23.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-10-29 17:01 [Buildroot] [PATCH 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
@ 2019-10-29 17:01 ` Fabrice Goucem
2019-10-29 18:09 ` Fabio Estevam
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
1 sibling, 1 reply; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-29 17:01 UTC (permalink / raw)
To: buildroot
Add basic support for NXP's i.MX7 ULP EVK board:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 +
board/freescale/imx7ulpevk/readme.txt | 65 +++++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 28 ++++++++
package/freescale-imx/Config.in | 8 ++-
.../imx-m4-firmware/imx-m4-firmware.hash | 1 +
.../imx-m4-firmware/imx-m4-firmware.mk | 13 +++-
7 files changed, 116 insertions(+), 2 deletions(-)
create mode 100644 board/freescale/imx7ulpevk/readme.txt
create mode 100644 configs/freescale_imx7ulpevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d71257a20..74ee5b732e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
+freescale_imx7ulpevk_defconfig: { extends: .defconfig }
freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index 47404057b4..9735edd704 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -879,6 +879,8 @@ F: package/tinymembench/
F: package/whois/
N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: board/freescale/imx7ulpevk/
+F: configs/freescale_imx7ulpevk_defconfig
F: package/freescale-imx/imx-m4-firmware/
N: Falco Hyfing <hyfinglists@gmail.com>
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
new file mode 100644
index 0000000000..6d4ddd86d1
--- /dev/null
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -0,0 +1,65 @@
+****************************
+Freescale i.MX7ULP EVK board
+****************************
+
+This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
+
+Build
+=====
+
+First, configure Buildroot for your i.MX7ULP EVK board:
+
+ make freescale_imx7ulpevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - boot.vfat
+ - imx7ulp-evkb.dtb
+ - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ - m4_imx7ulp_m4_demo.img
+ - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ - m4_imx7ulp_wireless_uart_bridge.img
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - u-boot.imx
+ - zImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template.
+
+Boot the i.MX7ULP EVK board
+===========================
+
+To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
+- insert the SD card in the micro SD slot of the board;
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
new file mode 100644
index 0000000000..243a5c66f1
--- /dev/null
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -0,0 +1,28 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_PACKAGE_IMX_M4_FIRMWARE=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 76694bc788..c4a22a2765 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
bool "imx6ul/imx6ull"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
- bool "imx7d/imx7ulp"
+ bool "imx7d"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
+ bool "imx7ulp"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
bool "imx8m"
@@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+ default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
@@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
index fdc2c23c9f..fdbf1ab608 100644
--- a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
@@ -1,5 +1,6 @@
# locally computed
sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
index 435592afc0..3726d5c436 100644
--- a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
@@ -16,7 +16,18 @@ endef
# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
-ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
+IMX_M4_FIRMWARE_VERSION = 2.6.0
+IMX_M4_FIRMWARE_SOURCE = imx7ulp-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
+ cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
IMX_M4_FIRMWARE_VERSION = 1.0.1
IMX_M4_FIRMWARE_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_FIRMWARE_VERSION).bin
IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
--
2.23.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-10-29 17:01 ` [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-10-29 18:09 ` Fabio Estevam
2019-10-30 13:43 ` Fabrice Goucem
0 siblings, 1 reply; 21+ messages in thread
From: Fabio Estevam @ 2019-10-29 18:09 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
On Tue, Oct 29, 2019 at 2:01 PM Fabrice Goucem <fabrice.goucem@nxp.com> wrote:
>
> Add basic support for NXP's i.MX7 ULP EVK board:
>
> https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> ---
> .gitlab-ci.yml | 1 +
> DEVELOPERS | 2 +
> board/freescale/imx7ulpevk/readme.txt | 65 +++++++++++++++++++
> configs/freescale_imx7ulpevk_defconfig | 28 ++++++++
> package/freescale-imx/Config.in | 8 ++-
> .../imx-m4-firmware/imx-m4-firmware.hash | 1 +
> .../imx-m4-firmware/imx-m4-firmware.mk | 13 +++-
The M4 firmware changes should not be part of this patch.
> +Boot the i.MX7ULP EVK board
> +===========================
> +
> +To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
> +- insert the SD card in the micro SD slot of the board;
> +- put a micro USB cable into the Debug USB Port and connect using a terminal
> + emulator at 115200 bps, 8n1;
> +- power on the board.
You should include some instructions to tell the user how to flash the
QSPI flash with the M4 SDK binary.
Thanks
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package
2019-10-29 17:01 [Buildroot] [PATCH 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-10-29 17:01 ` [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-10-30 13:40 ` Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 2/3] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
` (2 more replies)
1 sibling, 3 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-30 13:40 UTC (permalink / raw)
To: buildroot
New package to download and install i.MX Cortex-M4 firmware
for following SoCs:
* i.MX7D
* i.MX8M
* i.MX8MM
* i.MX8QXP
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
Tested-by: Julien Olivain <julien.olivain@nxp.com>
---
DEVELOPERS | 3 +
board/freescale/common/imx/post-image.sh | 14 ++++-
package/freescale-imx/Config.in | 8 +++
.../freescale-imx/imx-m4-firmware/Config.in | 11 ++++
.../imx-m4-firmware/imx-m4-firmware.hash | 7 +++
.../imx-m4-firmware/imx-m4-firmware.mk | 61 +++++++++++++++++++
6 files changed, 103 insertions(+), 1 deletion(-)
create mode 100644 package/freescale-imx/imx-m4-firmware/Config.in
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index cdd44be37c..81e144ead5 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -878,6 +878,9 @@ F: package/tinydtls/
F: package/tinymembench/
F: package/whois/
+N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: package/freescale-imx/imx-m4-firmware/
+
N: Falco Hyfing <hyfinglists@gmail.com>
F: package/python-pymodbus/
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 19d8fffb63..f9851c2d3b 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -30,6 +30,18 @@ linux_image()
fi
}
+#
+# m4_image prints all available M4 firmware file names for the genimage
+# configuration file
+#
+m4_image()
+{
+ if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
+ echo -n ", "
+ for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
+ fi
+}
+
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
@@ -75,7 +87,7 @@ uboot_image()
main()
{
- local FILES="$(dtb_list) $(linux_image)"
+ local FILES="$(dtb_list) $(linux_image) $(m4_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index f010aab87b..76694bc788 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ bool
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
+source "package/freescale-imx/imx-m4-firmware/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
diff --git a/package/freescale-imx/imx-m4-firmware/Config.in b/package/freescale-imx/imx-m4-firmware/Config.in
new file mode 100644
index 0000000000..2c318e5dfc
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/Config.in
@@ -0,0 +1,11 @@
+comment "imx-m4-firmware needs an i.MX platform with Cortex-M4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+
+config BR2_PACKAGE_IMX_M4_FIRMWARE
+ bool "imx-m4-firmware"
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ help
+ Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
new file mode 100644
index 0000000000..fdc2c23c9f
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
@@ -0,0 +1,7 @@
+# locally computed
+sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
+sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
+sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
+
+# no hash for license file as it is different for each package listed above
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
new file mode 100644
index 0000000000..435592afc0
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
@@ -0,0 +1,61 @@
+################################################################################
+#
+# imx-m4-firmware
+#
+################################################################################
+
+IMX_M4_FIRMWARE_SITE = $(FREESCALE_IMX_SITE)
+
+IMX_M4_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement
+IMX_M4_FIRMWARE_LICENSE_FILES = COPYING
+IMX_M4_FIRMWARE_REDISTRIBUTE = NO
+
+define IMX_M4_FIRMWARE_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_FIRMWARE_DL_DIR)/$(IMX_M4_FIRMWARE_SOURCE))
+endef
+
+# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
+
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+IMX_M4_FIRMWARE_VERSION = 1.0.1
+IMX_M4_FIRMWARE_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8qx-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
+ cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
+ cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+IMX_M4_FIRMWARE_VERSION = 2.3.0
+IMX_M4_FIRMWARE_SOURCE = imx8mq-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8mm-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
+endef
+endif
+
+$(eval $(generic-package))
--
2.23.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v2 2/3] configs/freescale_imx7ulpevk: new defconfig
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
@ 2019-10-30 13:40 ` Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP Fabrice Goucem
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2 siblings, 0 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-30 13:40 UTC (permalink / raw)
To: buildroot
Add basic support for NXP's i.MX7 ULP EVK board:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 +
board/freescale/imx7ulpevk/readme.txt | 60 ++++++++++++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 27 ++++++++++++
4 files changed, 90 insertions(+)
create mode 100644 board/freescale/imx7ulpevk/readme.txt
create mode 100644 configs/freescale_imx7ulpevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d71257a20..74ee5b732e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
+freescale_imx7ulpevk_defconfig: { extends: .defconfig }
freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index 81e144ead5..c7f41ecf6f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -879,6 +879,8 @@ F: package/tinymembench/
F: package/whois/
N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: board/freescale/imx7ulpevk/
+F: configs/freescale_imx7ulpevk_defconfig
F: package/freescale-imx/imx-m4-firmware/
N: Falco Hyfing <hyfinglists@gmail.com>
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
new file mode 100644
index 0000000000..c7a2120f13
--- /dev/null
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -0,0 +1,60 @@
+****************************
+Freescale i.MX7ULP EVK board
+****************************
+
+This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
+
+Build
+=====
+
+First, configure Buildroot for your i.MX7ULP EVK board:
+
+ make freescale_imx7ulpevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - boot.vfat
+ - imx7ulp-evkb.dtb
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - u-boot.imx
+ - zImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template.
+
+Boot the i.MX7ULP EVK board
+===========================
+
+To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
+- insert the SD card in the micro SD slot of the board;
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
new file mode 100644
index 0000000000..441ececa47
--- /dev/null
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -0,0 +1,27 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
--
2.23.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 2/3] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-10-30 13:40 ` Fabrice Goucem
2019-10-31 22:52 ` Fabio Estevam
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2 siblings, 1 reply; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-30 13:40 UTC (permalink / raw)
To: buildroot
Create new flag BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP to
differentiate i.MX7ULP from i.MX7D which has different Cortex-M4
firmware.
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
Changes v1 -> v2:
- Split i.MX7ULP support into two commits:
new defconfig and m4 support (suggested by Fabio Estevam)
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
board/freescale/imx7ulpevk/readme.txt | 16 ++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 1 +
package/freescale-imx/Config.in | 8 +++++++-
.../imx-m4-firmware/imx-m4-firmware.hash | 1 +
.../imx-m4-firmware/imx-m4-firmware.mk | 13 ++++++++++++-
5 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
index c7a2120f13..a2aa68b46f 100644
--- a/board/freescale/imx7ulpevk/readme.txt
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -18,6 +18,11 @@ Build all components:
You will find in output/images/ the following files:
- boot.vfat
- imx7ulp-evkb.dtb
+ - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ - m4_imx7ulp_m4_demo.img
+ - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ - m4_imx7ulp_wireless_uart_bridge.img
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
@@ -44,6 +49,17 @@ command as root:
For details about the medium image layout, see the definition in
board/freescale/common/imx/genimage.cfg.template.
+Flash QSPI with Cortex-M4 firmware
+==================================
+
+Cortex-M4 firmware can be flashed onto QSPI NOR memory.
+To do so, stop at u-boot prompt and run the following commands:
+
+ sf probe
+ sf erase 0 30000
+ fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
+ sf write 62000000 0 30000
+
Boot the i.MX7ULP EVK board
===========================
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
index 441ececa47..243a5c66f1 100644
--- a/configs/freescale_imx7ulpevk_defconfig
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -12,6 +12,7 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
BR2_PACKAGE_FREESCALE_IMX=y
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_PACKAGE_IMX_M4_FIRMWARE=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 76694bc788..c4a22a2765 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
bool "imx6ul/imx6ull"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
- bool "imx7d/imx7ulp"
+ bool "imx7d"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
+ bool "imx7ulp"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
bool "imx8m"
@@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+ default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
@@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
index fdc2c23c9f..fdbf1ab608 100644
--- a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
@@ -1,5 +1,6 @@
# locally computed
sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
index 435592afc0..3726d5c436 100644
--- a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
@@ -16,7 +16,18 @@ endef
# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
-ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
+IMX_M4_FIRMWARE_VERSION = 2.6.0
+IMX_M4_FIRMWARE_SOURCE = imx7ulp-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
+ cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
IMX_M4_FIRMWARE_VERSION = 1.0.1
IMX_M4_FIRMWARE_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_FIRMWARE_VERSION).bin
IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
--
2.23.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-10-29 18:09 ` Fabio Estevam
@ 2019-10-30 13:43 ` Fabrice Goucem
0 siblings, 0 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-10-30 13:43 UTC (permalink / raw)
To: buildroot
On Tue, 2019-10-29 at 15:09 -0300, Fabio Estevam wrote:
> > .gitlab-ci.yml | 1 +
> > DEVELOPERS | 2 +
> > board/freescale/imx7ulpevk/readme.txt | 65
> > +++++++++++++++++++
> > configs/freescale_imx7ulpevk_defconfig | 28 ++++++++
> > package/freescale-imx/Config.in | 8 ++-
> > .../imx-m4-firmware/imx-m4-firmware.hash | 1 +
> > .../imx-m4-firmware/imx-m4-firmware.mk | 13 +++-
>
> The M4 firmware changes should not be part of this patch.
>
> > +Boot the i.MX7ULP EVK board
> > +===========================
> > +
> > +To boot your newly created system (refer to the i.MX 7ULP EVK
> > Quick Start Guide [1] for guidance):
> > +- insert the SD card in the micro SD slot of the board;
> > +- put a micro USB cable into the Debug USB Port and connect using
> > a terminal
> > + emulator at 115200 bps, 8n1;
> > +- power on the board.
>
> You should include some instructions to tell the user how to flash
> the
> QSPI flash with the M4 SDK binary.
Thanks for your review Fabio.
I've followed your comments and resubmitted the series of patches.
Fabrice
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP
2019-10-30 13:40 ` [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP Fabrice Goucem
@ 2019-10-31 22:52 ` Fabio Estevam
0 siblings, 0 replies; 21+ messages in thread
From: Fabio Estevam @ 2019-10-31 22:52 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
On Wed, Oct 30, 2019 at 10:40 AM Fabrice Goucem <fabrice.goucem@nxp.com> wrote:
>
> Create new flag BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP to
> differentiate i.MX7ULP from i.MX7D which has different Cortex-M4
> firmware.
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
>
> ---
> Changes v1 -> v2:
> - Split i.MX7ULP support into two commits:
> new defconfig and m4 support (suggested by Fabio Estevam)
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> ---
> board/freescale/imx7ulpevk/readme.txt | 16 ++++++++++++++++
> configs/freescale_imx7ulpevk_defconfig | 1 +
> package/freescale-imx/Config.in | 8 +++++++-
> .../imx-m4-firmware/imx-m4-firmware.hash | 1 +
> .../imx-m4-firmware/imx-m4-firmware.mk | 13 ++++++++++++-
This is still touching imx-m4-firmware package and imx7ulp-evk files
in the same patch.
It is preferred not to touch them in the same patch.
The patch that adds imx7ulp-evk support can be the last of the series
and contain the complete readme.txt and defconfig options.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 2/3] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP Fabrice Goucem
@ 2019-11-05 12:03 ` Fabrice Goucem
2019-11-05 12:03 ` [Buildroot] [PATCH v3 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
` (2 more replies)
2 siblings, 3 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-05 12:03 UTC (permalink / raw)
To: buildroot
New package to download and install i.MX Cortex-M4 firmware
for following SoCs:
* i.MX7D
* i.MX7ULP
* i.MX8M
* i.MX8MM
* i.MX8QXP
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
Tested-by: Julien Olivain <julien.olivain@nxp.com>
---
DEVELOPERS | 3 +
board/freescale/common/imx/post-image.sh | 14 +++-
package/freescale-imx/Config.in | 8 +++
.../freescale-imx/imx-m4-firmware/Config.in | 11 +++
.../imx-m4-firmware/imx-m4-firmware.hash | 8 +++
.../imx-m4-firmware/imx-m4-firmware.mk | 72 +++++++++++++++++++
6 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 package/freescale-imx/imx-m4-firmware/Config.in
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 24c57b25f7..93f395ed69 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -874,6 +874,9 @@ F: package/tinydtls/
F: package/tinymembench/
F: package/whois/
+N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: package/freescale-imx/imx-m4-firmware/
+
N: Falco Hyfing <hyfinglists@gmail.com>
F: package/python-pymodbus/
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 19d8fffb63..f9851c2d3b 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -30,6 +30,18 @@ linux_image()
fi
}
+#
+# m4_image prints all available M4 firmware file names for the genimage
+# configuration file
+#
+m4_image()
+{
+ if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
+ echo -n ", "
+ for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
+ fi
+}
+
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
@@ -75,7 +87,7 @@ uboot_image()
main()
{
- local FILES="$(dtb_list) $(linux_image)"
+ local FILES="$(dtb_list) $(linux_image) $(m4_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index f010aab87b..76694bc788 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ bool
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
+source "package/freescale-imx/imx-m4-firmware/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
diff --git a/package/freescale-imx/imx-m4-firmware/Config.in b/package/freescale-imx/imx-m4-firmware/Config.in
new file mode 100644
index 0000000000..2c318e5dfc
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/Config.in
@@ -0,0 +1,11 @@
+comment "imx-m4-firmware needs an i.MX platform with Cortex-M4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+
+config BR2_PACKAGE_IMX_M4_FIRMWARE
+ bool "imx-m4-firmware"
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ help
+ Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
new file mode 100644
index 0000000000..fdbf1ab608
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
@@ -0,0 +1,8 @@
+# locally computed
+sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
+sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
+sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
+sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
+
+# no hash for license file as it is different for each package listed above
diff --git a/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
new file mode 100644
index 0000000000..3726d5c436
--- /dev/null
+++ b/package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
@@ -0,0 +1,72 @@
+################################################################################
+#
+# imx-m4-firmware
+#
+################################################################################
+
+IMX_M4_FIRMWARE_SITE = $(FREESCALE_IMX_SITE)
+
+IMX_M4_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement
+IMX_M4_FIRMWARE_LICENSE_FILES = COPYING
+IMX_M4_FIRMWARE_REDISTRIBUTE = NO
+
+define IMX_M4_FIRMWARE_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_FIRMWARE_DL_DIR)/$(IMX_M4_FIRMWARE_SOURCE))
+endef
+
+# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
+
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
+IMX_M4_FIRMWARE_VERSION = 2.6.0
+IMX_M4_FIRMWARE_SOURCE = imx7ulp-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
+ cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+IMX_M4_FIRMWARE_VERSION = 1.0.1
+IMX_M4_FIRMWARE_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8qx-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
+ cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
+ cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+IMX_M4_FIRMWARE_VERSION = 2.3.0
+IMX_M4_FIRMWARE_SOURCE = imx8mq-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
+IMX_M4_FIRMWARE_VERSION = 2.5.0
+IMX_M4_FIRMWARE_SOURCE = imx8mm-m4-demo-$(IMX_M4_FIRMWARE_VERSION).bin
+IMX_M4_FIRMWARE_INSTALL_IMAGES = YES
+define IMX_M4_FIRMWARE_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
+endef
+endif
+
+$(eval $(generic-package))
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v3 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
@ 2019-11-05 12:03 ` Fabrice Goucem
2019-11-06 17:23 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Gary Bisson
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
2 siblings, 0 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-05 12:03 UTC (permalink / raw)
To: buildroot
Add basic support for NXP's i.MX7 ULP EVK board:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
Changes v2 -> v3:
- Resplit so that imx7ulp commit does not touch file from
imx-m4-firmware package (suggested by Fabio Estevam)
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 +
board/freescale/imx7ulpevk/readme.txt | 76 ++++++++++++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 28 ++++++++++
package/freescale-imx/Config.in | 8 ++-
5 files changed, 114 insertions(+), 1 deletion(-)
create mode 100644 board/freescale/imx7ulpevk/readme.txt
create mode 100644 configs/freescale_imx7ulpevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d71257a20..74ee5b732e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
+freescale_imx7ulpevk_defconfig: { extends: .defconfig }
freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index 93f395ed69..4de86d0a36 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -875,6 +875,8 @@ F: package/tinymembench/
F: package/whois/
N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: board/freescale/imx7ulpevk/
+F: configs/freescale_imx7ulpevk_defconfig
F: package/freescale-imx/imx-m4-firmware/
N: Falco Hyfing <hyfinglists@gmail.com>
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
new file mode 100644
index 0000000000..a2aa68b46f
--- /dev/null
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -0,0 +1,76 @@
+****************************
+Freescale i.MX7ULP EVK board
+****************************
+
+This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
+
+Build
+=====
+
+First, configure Buildroot for your i.MX7ULP EVK board:
+
+ make freescale_imx7ulpevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - boot.vfat
+ - imx7ulp-evkb.dtb
+ - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ - m4_imx7ulp_m4_demo.img
+ - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ - m4_imx7ulp_wireless_uart_bridge.img
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - u-boot.imx
+ - zImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template.
+
+Flash QSPI with Cortex-M4 firmware
+==================================
+
+Cortex-M4 firmware can be flashed onto QSPI NOR memory.
+To do so, stop at u-boot prompt and run the following commands:
+
+ sf probe
+ sf erase 0 30000
+ fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
+ sf write 62000000 0 30000
+
+Boot the i.MX7ULP EVK board
+===========================
+
+To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
+- insert the SD card in the micro SD slot of the board;
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
new file mode 100644
index 0000000000..243a5c66f1
--- /dev/null
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -0,0 +1,28 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_PACKAGE_IMX_M4_FIRMWARE=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 76694bc788..c4a22a2765 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
bool "imx6ul/imx6ull"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
- bool "imx7d/imx7ulp"
+ bool "imx7d"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
+ bool "imx7ulp"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
bool "imx8m"
@@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+ default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
@@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-11-05 12:03 ` [Buildroot] [PATCH v3 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-11-06 17:23 ` Gary Bisson
2019-11-07 9:59 ` [Buildroot] [EXT] " Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
2 siblings, 1 reply; 21+ messages in thread
From: Gary Bisson @ 2019-11-06 17:23 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
On Tue, Nov 05, 2019 at 12:03:55PM +0000, Fabrice Goucem wrote:
> New package to download and install i.MX Cortex-M4 firmware
> for following SoCs:
> * i.MX7D
> * i.MX7ULP
> * i.MX8M
> * i.MX8MM
> * i.MX8QXP
Any reason why there's no i.MX6SX package?
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> Tested-by: Julien Olivain <julien.olivain@nxp.com>
> ---
> DEVELOPERS | 3 +
> board/freescale/common/imx/post-image.sh | 14 +++-
> package/freescale-imx/Config.in | 8 +++
> .../freescale-imx/imx-m4-firmware/Config.in | 11 +++
> .../imx-m4-firmware/imx-m4-firmware.hash | 8 +++
> .../imx-m4-firmware/imx-m4-firmware.mk | 72 +++++++++++++++++++
> 6 files changed, 115 insertions(+), 1 deletion(-)
> create mode 100644 package/freescale-imx/imx-m4-firmware/Config.in
> create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.hash
> create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-firmware.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 24c57b25f7..93f395ed69 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -874,6 +874,9 @@ F: package/tinydtls/
> F: package/tinymembench/
> F: package/whois/
>
> +N: Fabrice Goucem <fabrice.goucem@nxp.com>
> +F: package/freescale-imx/imx-m4-firmware/
> +
> N: Falco Hyfing <hyfinglists@gmail.com>
> F: package/python-pymodbus/
>
> diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
> index 19d8fffb63..f9851c2d3b 100755
> --- a/board/freescale/common/imx/post-image.sh
> +++ b/board/freescale/common/imx/post-image.sh
> @@ -30,6 +30,18 @@ linux_image()
> fi
> }
>
> +#
> +# m4_image prints all available M4 firmware file names for the genimage
> +# configuration file
> +#
> +m4_image()
> +{
> + if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
> + echo -n ", "
> + for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
> + fi
> +}
> +
> genimage_type()
> {
> if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
> @@ -75,7 +87,7 @@ uboot_image()
>
> main()
> {
> - local FILES="$(dtb_list) $(linux_image)"
> + local FILES="$(dtb_list) $(linux_image) $(m4_image)"
> local IMXOFFSET="$(imx_offset)"
> local UBOOTBIN="$(uboot_image)"
> local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index f010aab87b..76694bc788 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> +config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> + bool
> + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
Same here.
Regards,
Gary
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [EXT] Re: [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package
2019-11-06 17:23 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Gary Bisson
@ 2019-11-07 9:59 ` Fabrice Goucem
0 siblings, 0 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-07 9:59 UTC (permalink / raw)
To: buildroot
Hi Gary,
On Wed, 2019-11-06 at 18:23 +0100, Gary Bisson wrote:
> Caution: EXT Email
>
> Hi Fabrice,
>
> On Tue, Nov 05, 2019 at 12:03:55PM +0000, Fabrice Goucem wrote:
> > New package to download and install i.MX Cortex-M4 firmware
> > for following SoCs:
> > * i.MX7D
> > * i.MX7ULP
> > * i.MX8M
> > * i.MX8MM
> > * i.MX8QXP
>
> Any reason why there's no i.MX6SX package?
Simply because I could not locate an M4 demo image from NXP servers.
I used the NXP Yocto recipes to locate the different M4 images and
i.MX6SX is not a SoC supported by these recipes.
Will gladly add an image if a reliable location is found.
> > Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> > Tested-by: Julien Olivain <julien.olivain@nxp.com>
> > ---
> > DEVELOPERS | 3 +
> > board/freescale/common/imx/post-image.sh | 14 +++-
> > package/freescale-imx/Config.in | 8 +++
> > .../freescale-imx/imx-m4-firmware/Config.in | 11 +++
> > .../imx-m4-firmware/imx-m4-firmware.hash | 8 +++
> > .../imx-m4-firmware/imx-m4-firmware.mk | 72
> > +++++++++++++++++++
> > 6 files changed, 115 insertions(+), 1 deletion(-)
> > create mode 100644 package/freescale-imx/imx-m4-firmware/Config.in
> > create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-
> > firmware.hash
> > create mode 100644 package/freescale-imx/imx-m4-firmware/imx-m4-
> > firmware.mk
> >
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index 24c57b25f7..93f395ed69 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -874,6 +874,9 @@ F: package/tinydtls/
> > F: package/tinymembench/
> > F: package/whois/
> >
> > +N: Fabrice Goucem <fabrice.goucem@nxp.com>
> > +F: package/freescale-imx/imx-m4-firmware/
> > +
> > N: Falco Hyfing <hyfinglists@gmail.com>
> > F: package/python-pymodbus/
> >
> > diff --git a/board/freescale/common/imx/post-image.sh
> > b/board/freescale/common/imx/post-image.sh
> > index 19d8fffb63..f9851c2d3b 100755
> > --- a/board/freescale/common/imx/post-image.sh
> > +++ b/board/freescale/common/imx/post-image.sh
> > @@ -30,6 +30,18 @@ linux_image()
> > fi
> > }
> >
> > +#
> > +# m4_image prints all available M4 firmware file names for the
> > genimage
> > +# configuration file
> > +#
> > +m4_image()
> > +{
> > + if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG};
> > then
> > + echo -n ", "
> > + for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n
> > "$(basename $f), "; done
> > + fi
> > +}
> > +
> > genimage_type()
> > {
> > if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$"
> > ${BR2_CONFIG}; then
> > @@ -75,7 +87,7 @@ uboot_image()
> >
> > main()
> > {
> > - local FILES="$(dtb_list) $(linux_image)"
> > + local FILES="$(dtb_list) $(linux_image) $(m4_image)"
> > local IMXOFFSET="$(imx_offset)"
> > local UBOOTBIN="$(uboot_image)"
> > local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> > diff --git a/package/freescale-imx/Config.in b/package/freescale-
> > imx/Config.in
> > index f010aab87b..76694bc788 100644
> > --- a/package/freescale-imx/Config.in
> > +++ b/package/freescale-imx/Config.in
> > @@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> >
> > +config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> > + bool
> > + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> Same here.
>
> Regards,
> Gary
Regards,
Fabrice
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-11-05 12:03 ` [Buildroot] [PATCH v3 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-06 17:23 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Gary Bisson
@ 2019-11-10 23:08 ` Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
` (2 more replies)
2 siblings, 3 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-10 23:08 UTC (permalink / raw)
To: buildroot
New package to download and install i.MX Cortex-M4 demos
for following SoCs:
* i.MX7D
* i.MX7ULP
* i.MX8M
* i.MX8MM
* i.MX8QXP
Yocto recipes from where the demos location has been extracted:
https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/meta-sdk/recipes-fsl/m4-demos?h=imx-morty&id=bfb1e26798775f161b14218ac6f1d50069bea8ed
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
Tested-by: Julien Olivain <julien.olivain@nxp.com>
---
DEVELOPERS | 3 +
board/freescale/common/imx/post-image.sh | 14 +++-
package/freescale-imx/Config.in | 8 +++
package/freescale-imx/imx-m4-demos/Config.in | 11 +++
.../imx-m4-demos/imx-m4-demos.hash | 8 +++
.../imx-m4-demos/imx-m4-demos.mk | 72 +++++++++++++++++++
6 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 package/freescale-imx/imx-m4-demos/Config.in
create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index c0863aabc6..194e5249d0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -874,6 +874,9 @@ F: package/tinydtls/
F: package/tinymembench/
F: package/whois/
+N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: package/freescale-imx/imx-m4-firmware/
+
N: Falco Hyfing <hyfinglists@gmail.com>
F: package/python-pymodbus/
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 19d8fffb63..f9851c2d3b 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -30,6 +30,18 @@ linux_image()
fi
}
+#
+# m4_image prints all available M4 firmware file names for the genimage
+# configuration file
+#
+m4_image()
+{
+ if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
+ echo -n ", "
+ for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
+ fi
+}
+
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
@@ -75,7 +87,7 @@ uboot_image()
main()
{
- local FILES="$(dtb_list) $(linux_image)"
+ local FILES="$(dtb_list) $(linux_image) $(m4_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index f010aab87b..55cd53aa37 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ bool
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
+source "package/freescale-imx/imx-m4-demos/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
diff --git a/package/freescale-imx/imx-m4-demos/Config.in b/package/freescale-imx/imx-m4-demos/Config.in
new file mode 100644
index 0000000000..fc2312d410
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/Config.in
@@ -0,0 +1,11 @@
+comment "imx-m4-demos needs an i.MX platform with Cortex-M4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+
+config BR2_PACKAGE_IMX_M4_DEMOS
+ bool "imx-m4-demos"
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ help
+ Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
new file mode 100644
index 0000000000..fdbf1ab608
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
@@ -0,0 +1,8 @@
+# locally computed
+sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
+sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
+sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
+sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
+
+# no hash for license file as it is different for each package listed above
diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
new file mode 100644
index 0000000000..6d08dcc8f8
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
@@ -0,0 +1,72 @@
+################################################################################
+#
+# imx-m4-demos
+#
+################################################################################
+
+IMX_M4_DEMOS_SITE = $(FREESCALE_IMX_SITE)
+
+IMX_M4_DEMOS_LICENSE = NXP Semiconductor Software License Agreement
+IMX_M4_DEMOS_LICENSE_FILES = COPYING
+IMX_M4_DEMOS_REDISTRIBUTE = NO
+
+define IMX_M4_DEMOS_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_DEMOS_DL_DIR)/$(IMX_M4_DEMOS_SOURCE))
+endef
+
+# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
+
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
+IMX_M4_DEMOS_VERSION = 2.6.0
+IMX_M4_DEMOS_SOURCE = imx7ulp-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
+ cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+IMX_M4_DEMOS_VERSION = 1.0.1
+IMX_M4_DEMOS_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
+IMX_M4_DEMOS_VERSION = 2.5.0
+IMX_M4_DEMOS_SOURCE = imx8qx-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
+ cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
+ cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+IMX_M4_DEMOS_VERSION = 2.3.0
+IMX_M4_DEMOS_SOURCE = imx8mq-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
+IMX_M4_DEMOS_VERSION = 2.5.0
+IMX_M4_DEMOS_SOURCE = imx8mm-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
+endef
+endif
+
+$(eval $(generic-package))
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
@ 2019-11-10 23:08 ` Fabrice Goucem
2019-11-11 8:53 ` Gilles Talis
2019-11-11 8:50 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
2019-11-11 10:15 ` [Buildroot] [PATCH v5 " Fabrice Goucem
2 siblings, 1 reply; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-10 23:08 UTC (permalink / raw)
To: buildroot
Add basic support for NXP's i.MX7 ULP EVK board:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
Changes v3 -> v4:
- Renamed M4 package to imx-m4-demos (suggested by Gary Bisson)
- Added link to m4-demos Yocto recipes in commit log (suggested by
Gary Bisson)
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 +
board/freescale/imx7ulpevk/readme.txt | 76 ++++++++++++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 28 ++++++++++
package/freescale-imx/Config.in | 8 ++-
5 files changed, 114 insertions(+), 1 deletion(-)
create mode 100644 board/freescale/imx7ulpevk/readme.txt
create mode 100644 configs/freescale_imx7ulpevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d71257a20..74ee5b732e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
+freescale_imx7ulpevk_defconfig: { extends: .defconfig }
freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index 194e5249d0..2205a49000 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -875,6 +875,8 @@ F: package/tinymembench/
F: package/whois/
N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: board/freescale/imx7ulpevk/
+F: configs/freescale_imx7ulpevk_defconfig
F: package/freescale-imx/imx-m4-firmware/
N: Falco Hyfing <hyfinglists@gmail.com>
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
new file mode 100644
index 0000000000..a2aa68b46f
--- /dev/null
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -0,0 +1,76 @@
+****************************
+Freescale i.MX7ULP EVK board
+****************************
+
+This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
+
+Build
+=====
+
+First, configure Buildroot for your i.MX7ULP EVK board:
+
+ make freescale_imx7ulpevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - boot.vfat
+ - imx7ulp-evkb.dtb
+ - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ - m4_imx7ulp_m4_demo.img
+ - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ - m4_imx7ulp_wireless_uart_bridge.img
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - u-boot.imx
+ - zImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template.
+
+Flash QSPI with Cortex-M4 firmware
+==================================
+
+Cortex-M4 firmware can be flashed onto QSPI NOR memory.
+To do so, stop at u-boot prompt and run the following commands:
+
+ sf probe
+ sf erase 0 30000
+ fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
+ sf write 62000000 0 30000
+
+Boot the i.MX7ULP EVK board
+===========================
+
+To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
+- insert the SD card in the micro SD slot of the board;
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
new file mode 100644
index 0000000000..7998eb04ad
--- /dev/null
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -0,0 +1,28 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_PACKAGE_IMX_M4_DEMOS=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 55cd53aa37..639b789ebe 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
bool "imx6ul/imx6ull"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
- bool "imx7d/imx7ulp"
+ bool "imx7d"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
+ bool "imx7ulp"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
bool "imx8m"
@@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+ default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
@@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-11-11 8:50 ` Gilles Talis
2019-11-11 10:09 ` [Buildroot] [EXT] " Fabrice Goucem
2019-11-11 10:15 ` [Buildroot] [PATCH v5 " Fabrice Goucem
2 siblings, 1 reply; 21+ messages in thread
From: Gilles Talis @ 2019-11-11 8:50 UTC (permalink / raw)
To: buildroot
Hello Fabrice,
Le lun. 11 nov. 2019 ? 02:44, Fabrice Goucem <fabrice.goucem@nxp.com> a ?crit :
>
> New package to download and install i.MX Cortex-M4 demos
> for following SoCs:
> * i.MX7D
> * i.MX7ULP
> * i.MX8M
> * i.MX8MM
> * i.MX8QXP
>
> Yocto recipes from where the demos location has been extracted:
> https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/meta-sdk/recipes-fsl/m4-demos?h=imx-morty&id=bfb1e26798775f161b14218ac6f1d50069bea8ed
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> Tested-by: Julien Olivain <julien.olivain@nxp.com>
> ---
> DEVELOPERS | 3 +
> board/freescale/common/imx/post-image.sh | 14 +++-
> package/freescale-imx/Config.in | 8 +++
> package/freescale-imx/imx-m4-demos/Config.in | 11 +++
> .../imx-m4-demos/imx-m4-demos.hash | 8 +++
> .../imx-m4-demos/imx-m4-demos.mk | 72 +++++++++++++++++++
> 6 files changed, 115 insertions(+), 1 deletion(-)
> create mode 100644 package/freescale-imx/imx-m4-demos/Config.in
> create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index c0863aabc6..194e5249d0 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -874,6 +874,9 @@ F: package/tinydtls/
> F: package/tinymembench/
> F: package/whois/
>
> +N: Fabrice Goucem <fabrice.goucem@nxp.com>
> +F: package/freescale-imx/imx-m4-firmware/
You need to change the package name here: imx-m4-firmware -> imx-m4-demos
> +
> N: Falco Hyfing <hyfinglists@gmail.com>
> F: package/python-pymodbus/
>
> diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
> index 19d8fffb63..f9851c2d3b 100755
> --- a/board/freescale/common/imx/post-image.sh
> +++ b/board/freescale/common/imx/post-image.sh
> @@ -30,6 +30,18 @@ linux_image()
> fi
> }
>
> +#
> +# m4_image prints all available M4 firmware file names for the genimage
> +# configuration file
> +#
> +m4_image()
> +{
> + if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$" ${BR2_CONFIG}; then
> + echo -n ", "
> + for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
> + fi
> +}
> +
> genimage_type()
> {
> if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
> @@ -75,7 +87,7 @@ uboot_image()
>
> main()
> {
> - local FILES="$(dtb_list) $(linux_image)"
> + local FILES="$(dtb_list) $(linux_image) $(m4_image)"
> local IMXOFFSET="$(imx_offset)"
> local UBOOTBIN="$(uboot_image)"
> local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index f010aab87b..55cd53aa37 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> +config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> + bool
> + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> +
> source "package/freescale-imx/imx-alsa-plugins/Config.in"
> source "package/freescale-imx/imx-codec/Config.in"
> source "package/freescale-imx/imx-kobs/Config.in"
> source "package/freescale-imx/imx-lib/Config.in"
> +source "package/freescale-imx/imx-m4-demos/Config.in"
> source "package/freescale-imx/imx-m4fwloader/Config.in"
> source "package/freescale-imx/imx-parser/Config.in"
> source "package/freescale-imx/imx-uuc/Config.in"
> diff --git a/package/freescale-imx/imx-m4-demos/Config.in b/package/freescale-imx/imx-m4-demos/Config.in
> new file mode 100644
> index 0000000000..fc2312d410
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/Config.in
> @@ -0,0 +1,11 @@
> +comment "imx-m4-demos needs an i.MX platform with Cortex-M4"
> + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> +
> +config BR2_PACKAGE_IMX_M4_DEMOS
> + bool "imx-m4-demos"
> + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> + help
> + Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
> +
> + This library is provided by Freescale as-is and doesn't have
> + an upstream.
> diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> new file mode 100644
> index 0000000000..fdbf1ab608
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> @@ -0,0 +1,8 @@
> +# locally computed
> +sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
> +sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
> +sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
> +sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
> +sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
> +
> +# no hash for license file as it is different for each package listed above
> diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> new file mode 100644
> index 0000000000..6d08dcc8f8
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> @@ -0,0 +1,72 @@
> +################################################################################
> +#
> +# imx-m4-demos
> +#
> +################################################################################
> +
> +IMX_M4_DEMOS_SITE = $(FREESCALE_IMX_SITE)
> +
> +IMX_M4_DEMOS_LICENSE = NXP Semiconductor Software License Agreement
> +IMX_M4_DEMOS_LICENSE_FILES = COPYING
> +IMX_M4_DEMOS_REDISTRIBUTE = NO
> +
> +define IMX_M4_DEMOS_EXTRACT_CMDS
> + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_DEMOS_DL_DIR)/$(IMX_M4_DEMOS_SOURCE))
> +endef
> +
> +# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
> +
> +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
> +IMX_M4_DEMOS_VERSION = 2.6.0
> +IMX_M4_DEMOS_SOURCE = imx7ulp-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
> + cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
> + cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
> + cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
> + cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
> +IMX_M4_DEMOS_VERSION = 1.0.1
> +IMX_M4_DEMOS_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
> + cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
> + cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
> +IMX_M4_DEMOS_VERSION = 2.5.0
> +IMX_M4_DEMOS_SOURCE = imx8qx-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
> + cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
> + cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
> + cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> + cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
> +IMX_M4_DEMOS_VERSION = 2.3.0
> +IMX_M4_DEMOS_SOURCE = imx8mq-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
> + cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
> +IMX_M4_DEMOS_VERSION = 2.5.0
> +IMX_M4_DEMOS_SOURCE = imx8mm-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
> + cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> + cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
> +endef
> +endif
> +
> +$(eval $(generic-package))
Other than that, the rest is OK with me.
thanks
Gilles.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-11-10 23:08 ` [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-11-11 8:53 ` Gilles Talis
0 siblings, 0 replies; 21+ messages in thread
From: Gilles Talis @ 2019-11-11 8:53 UTC (permalink / raw)
To: buildroot
Hello Fabrice,
Le lun. 11 nov. 2019 ? 02:42, Fabrice Goucem <fabrice.goucem@nxp.com> a ?crit :
>
> Add basic support for NXP's i.MX7 ULP EVK board:
>
> https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
>
> ---
> Changes v3 -> v4:
> - Renamed M4 package to imx-m4-demos (suggested by Gary Bisson)
> - Added link to m4-demos Yocto recipes in commit log (suggested by
> Gary Bisson)
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> ---
> .gitlab-ci.yml | 1 +
> DEVELOPERS | 2 +
> board/freescale/imx7ulpevk/readme.txt | 76 ++++++++++++++++++++++++++
> configs/freescale_imx7ulpevk_defconfig | 28 ++++++++++
> package/freescale-imx/Config.in | 8 ++-
> 5 files changed, 114 insertions(+), 1 deletion(-)
> create mode 100644 board/freescale/imx7ulpevk/readme.txt
> create mode 100644 configs/freescale_imx7ulpevk_defconfig
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 1d71257a20..74ee5b732e 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
> freescale_imx6qsabresd_defconfig: { extends: .defconfig }
> freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
> freescale_imx7dsabresd_defconfig: { extends: .defconfig }
> +freescale_imx7ulpevk_defconfig: { extends: .defconfig }
> freescale_imx8mmevk_defconfig: { extends: .defconfig }
> freescale_imx8mqevk_defconfig: { extends: .defconfig }
> freescale_imx8qxpmek_defconfig: { extends: .defconfig }
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 194e5249d0..2205a49000 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -875,6 +875,8 @@ F: package/tinymembench/
> F: package/whois/
>
> N: Fabrice Goucem <fabrice.goucem@nxp.com>
> +F: board/freescale/imx7ulpevk/
> +F: configs/freescale_imx7ulpevk_defconfig
> F: package/freescale-imx/imx-m4-firmware/
>
> N: Falco Hyfing <hyfinglists@gmail.com>
> diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
> new file mode 100644
> index 0000000000..a2aa68b46f
> --- /dev/null
> +++ b/board/freescale/imx7ulpevk/readme.txt
> @@ -0,0 +1,76 @@
> +****************************
> +Freescale i.MX7ULP EVK board
> +****************************
> +
> +This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
> +
> +Build
> +=====
> +
> +First, configure Buildroot for your i.MX7ULP EVK board:
> +
> + make freescale_imx7ulpevk_defconfig
> +
> +Build all components:
> +
> + make
> +
> +You will find in output/images/ the following files:
> + - boot.vfat
> + - imx7ulp-evkb.dtb
> + - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
> + - m4_imx7ulp_m4_demo.img
> + - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
> + - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
> + - m4_imx7ulp_wireless_uart_bridge.img
> + - rootfs.ext2
> + - rootfs.ext4
> + - rootfs.tar
> + - sdcard.img
> + - u-boot.imx
> + - zImage
> +
> +Create a bootable SD card
> +=========================
> +
> +To determine the device associated to the SD card have a look in the
> +/proc/partitions file:
> +
> + cat /proc/partitions
> +
> +Buildroot prepares a bootable "sdcard.img" image in the output/images/
> +directory, ready to be dumped on a SD card. Launch the following
> +command as root:
> +
> + dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
> +
> +*** WARNING! This will destroy all the card content. Use with care! ***
> +
> +For details about the medium image layout, see the definition in
> +board/freescale/common/imx/genimage.cfg.template.
> +
> +Flash QSPI with Cortex-M4 firmware
firmware -> demos
> +==================================
> +
> +Cortex-M4 firmware can be flashed onto QSPI NOR memory.
firmware -> demos
> +To do so, stop at u-boot prompt and run the following commands:
> +
> + sf probe
> + sf erase 0 30000
> + fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
> + sf write 62000000 0 30000
> +
> +Boot the i.MX7ULP EVK board
> +===========================
> +
> +To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
> +- insert the SD card in the micro SD slot of the board;
> +- put a micro USB cable into the Debug USB Port and connect using a terminal
> + emulator at 115200 bps, 8n1;
> +- power on the board.
> +
> +Enjoy!
> +
> +References
> +==========
> +[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
> diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
> new file mode 100644
> index 0000000000..7998eb04ad
> --- /dev/null
> +++ b/configs/freescale_imx7ulpevk_defconfig
> @@ -0,0 +1,28 @@
> +BR2_arm=y
> +BR2_cortex_a7=y
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
> +BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
> +BR2_PACKAGE_FREESCALE_IMX=y
> +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
> +BR2_PACKAGE_IMX_M4_DEMOS=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +# BR2_TARGET_UBOOT_FORMAT_BIN is not set
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index 55cd53aa37..639b789ebe 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
> bool "imx6ul/imx6ull"
>
> config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
> - bool "imx7d/imx7ulp"
> + bool "imx7d"
> +
> +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
> + bool "imx7ulp"
>
> config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
> bool "imx8m"
> @@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
> default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
> default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
> default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
> + default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
> default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> @@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> bool
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> --
> 2.24.0.rc1
The rest is OK with me.
thanks
Gilles.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [EXT] Re: [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package
2019-11-11 8:50 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
@ 2019-11-11 10:09 ` Fabrice Goucem
0 siblings, 0 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-11 10:09 UTC (permalink / raw)
To: buildroot
Hello Gilles,
Thanks for the review.
On Mon, 2019-11-11 at 09:50 +0100, Gilles Talis wrote:
> Hello Fabrice,
>
> Le lun. 11 nov. 2019 ? 02:44, Fabrice Goucem <fabrice.goucem@nxp.com>
> a ?crit :
> > New package to download and install i.MX Cortex-M4 demos
> > for following SoCs:
> > * i.MX7D
> > * i.MX7ULP
> > * i.MX8M
> > * i.MX8MM
> > * i.MX8QXP
> >
> > Yocto recipes from where the demos location has been extracted:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fimx%2Fmeta-fsl-bsp-release%2Ftree%2Fimx%2Fmeta-sdk%2Frecipes-fsl%2Fm4-demos%3Fh%3Dimx-morty%26id%3Dbfb1e26798775f161b14218ac6f1d50069bea8ed&data=02%7C01%7Cfabrice.goucem%40nxp.com%7Cc21a49595bba4a98f54e08d7668440b0%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637090590525363574&sdata=Y8DTYqGNj6tjGOMShOhjmcSUvquwygc2SWik1JLvf1c%3D&reserved=0
> >
> > Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> > Tested-by: Julien Olivain <julien.olivain@nxp.com>
> > ---
> > DEVELOPERS | 3 +
> > board/freescale/common/imx/post-image.sh | 14 +++-
> > package/freescale-imx/Config.in | 8 +++
> > package/freescale-imx/imx-m4-demos/Config.in | 11 +++
> > .../imx-m4-demos/imx-m4-demos.hash | 8 +++
> > .../imx-m4-demos/imx-m4-demos.mk | 72
> > +++++++++++++++++++
> > 6 files changed, 115 insertions(+), 1 deletion(-)
> > create mode 100644 package/freescale-imx/imx-m4-demos/Config.in
> > create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-
> > demos.hash
> > create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-
> > demos.mk
> >
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index c0863aabc6..194e5249d0 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -874,6 +874,9 @@ F: package/tinydtls/
> > F: package/tinymembench/
> > F: package/whois/
> >
> > +N: Fabrice Goucem <fabrice.goucem@nxp.com>
> > +F: package/freescale-imx/imx-m4-firmware/
> You need to change the package name here: imx-m4-firmware -> imx-m4-
> demos
Thanks for spotting that one.
>
> > +
> > N: Falco Hyfing <hyfinglists@gmail.com>
> > F: package/python-pymodbus/
> >
> > diff --git a/board/freescale/common/imx/post-image.sh
> > b/board/freescale/common/imx/post-image.sh
> > index 19d8fffb63..f9851c2d3b 100755
> > --- a/board/freescale/common/imx/post-image.sh
> > +++ b/board/freescale/common/imx/post-image.sh
> > @@ -30,6 +30,18 @@ linux_image()
> > fi
> > }
> >
> > +#
> > +# m4_image prints all available M4 firmware file names for the
> > genimage
> > +# configuration file
> > +#
> > +m4_image()
> > +{
> > + if grep -Eq "^BR2_PACKAGE_IMX_M4_FIRMWARE=y$"
There's this as well, which I'm fixing in v5.
> > ${BR2_CONFIG}; then
> > + echo -n ", "
> > + for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n
> > "$(basename $f), "; done
> > + fi
> > +}
> > +
> > genimage_type()
> > {
> > if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$"
> > ${BR2_CONFIG}; then
> > @@ -75,7 +87,7 @@ uboot_image()
> >
> > main()
> > {
> > - local FILES="$(dtb_list) $(linux_image)"
> > + local FILES="$(dtb_list) $(linux_image) $(m4_image)"
> > local IMXOFFSET="$(imx_offset)"
> > local UBOOTBIN="$(uboot_image)"
> > local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> > diff --git a/package/freescale-imx/Config.in b/package/freescale-
> > imx/Config.in
> > index f010aab87b..55cd53aa37 100644
> > --- a/package/freescale-imx/Config.in
> > +++ b/package/freescale-imx/Config.in
> > @@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> >
> > +config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> > + bool
> > + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> > +
> > source "package/freescale-imx/imx-alsa-plugins/Config.in"
> > source "package/freescale-imx/imx-codec/Config.in"
> > source "package/freescale-imx/imx-kobs/Config.in"
> > source "package/freescale-imx/imx-lib/Config.in"
> > +source "package/freescale-imx/imx-m4-demos/Config.in"
> > source "package/freescale-imx/imx-m4fwloader/Config.in"
> > source "package/freescale-imx/imx-parser/Config.in"
> > source "package/freescale-imx/imx-uuc/Config.in"
> > diff --git a/package/freescale-imx/imx-m4-demos/Config.in
> > b/package/freescale-imx/imx-m4-demos/Config.in
> > new file mode 100644
> > index 0000000000..fc2312d410
> > --- /dev/null
> > +++ b/package/freescale-imx/imx-m4-demos/Config.in
> > @@ -0,0 +1,11 @@
> > +comment "imx-m4-demos needs an i.MX platform with Cortex-M4"
> > + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> > +
> > +config BR2_PACKAGE_IMX_M4_DEMOS
> > + bool "imx-m4-demos"
> > + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> > + help
> > + Cortex-M4 firmware blobs for the Freescale i.MX SoCs.
> > +
> > + This library is provided by Freescale as-is and doesn't
> > have
> > + an upstream.
> > diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> > b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> > new file mode 100644
> > index 0000000000..fdbf1ab608
> > --- /dev/null
> > +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> > @@ -0,0 +1,8 @@
> > +# locally computed
> > +sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22
> > f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
> > +sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d8
> > 41e681 imx7ulp-m4-demo-2.6.0.bin
> > +sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c
> > 5c12c3 imx8mm-m4-demo-2.5.0.bin
> > +sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394
> > bb7ad8 imx8mq-m4-demo-2.3.0.bin
> > +sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf
> > 66eb6c imx8qx-m4-demo-2.5.0.bin
> > +
> > +# no hash for license file as it is different for each package
> > listed above
> > diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> > b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> > new file mode 100644
> > index 0000000000..6d08dcc8f8
> > --- /dev/null
> > +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> > @@ -0,0 +1,72 @@
> > +##################################################################
> > ##############
> > +#
> > +# imx-m4-demos
> > +#
> > +##################################################################
> > ##############
> > +
> > +IMX_M4_DEMOS_SITE = $(FREESCALE_IMX_SITE)
> > +
> > +IMX_M4_DEMOS_LICENSE = NXP Semiconductor Software License
> > Agreement
> > +IMX_M4_DEMOS_LICENSE_FILES = COPYING
> > +IMX_M4_DEMOS_REDISTRIBUTE = NO
> > +
> > +define IMX_M4_DEMOS_EXTRACT_CMDS
> > + $(call
> > FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_DEMOS_DL_DIR)/$(IMX_M4_DEMOS_
> > SOURCE))
> > +endef
> > +
> > +# Note: firmware names are copied to binaries directory with an
> > "m4_" prefix, for easier post image scripting
> > +
> > +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
> > +IMX_M4_DEMOS_VERSION = 2.6.0
> > +IMX_M4_DEMOS_SOURCE = imx7ulp-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> > +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> > +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> > + cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
> > $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.i
> > mg
> > + cp $(@D)/imx7ulp_m4_demo.img
> > $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
> > + cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img
> > $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
> > + cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img
> > $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
> > + cp $(@D)/imx7ulp_wireless_uart_bridge.img
> > $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
> > +endef
> > +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
> > +IMX_M4_DEMOS_VERSION = 1.0.1
> > +IMX_M4_DEMOS_SOURCE = imx7d-sabresd-m4-freertos-
> > $(IMX_M4_DEMOS_VERSION).bin
> > +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> > +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> > + cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin
> > $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
> > + cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin
> > $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
> > + cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin
> > $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
> > +endef
> > +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
> > +IMX_M4_DEMOS_VERSION = 2.5.0
> > +IMX_M4_DEMOS_SOURCE = imx8qx-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> > +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> > +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> > + cp $(@D)/imx8qx_m4_TCM_hello_world.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
> > + cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
> > + cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
> > + cp
> > $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_rem
> > ote.bin
> > + cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > + cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin
> > $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
> > +endef
> > +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
> > +IMX_M4_DEMOS_VERSION = 2.3.0
> > +IMX_M4_DEMOS_SOURCE = imx8mq-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> > +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> > +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> > + cp $(@D)/imx8mq_m4_TCM_hello_world.bin
> > $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
> > + cp
> > $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> > $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_rem
> > ote.bin
> > + cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > +endef
> > +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
> > +IMX_M4_DEMOS_VERSION = 2.5.0
> > +IMX_M4_DEMOS_SOURCE = imx8mm-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> > +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> > +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> > + cp $(@D)/imx8mm_m4_TCM_hello_world.bin
> > $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
> > + cp
> > $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> > $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_rem
> > ote.bin
> > + cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> > + cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin
> > $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
> > +endef
> > +endif
> > +
> > +$(eval $(generic-package))
> Other than that, the rest is OK with me.
>
> thanks
> Gilles.
Fixed all (plus the board/freescale/common/imx/post-image.sh one) in a
coming v5.
Regards,
Fabrice
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v5 1/2] package/freescale-imx/imx-m4-demos: new package
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-11 8:50 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
@ 2019-11-11 10:15 ` Fabrice Goucem
2019-11-11 10:15 ` [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-11 15:29 ` [Buildroot] [PATCH v5 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
2 siblings, 2 replies; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-11 10:15 UTC (permalink / raw)
To: buildroot
New package to download and install i.MX Cortex-M4 demos
for following SoCs:
* i.MX7D
* i.MX7ULP
* i.MX8M
* i.MX8MM
* i.MX8QXP
Yocto recipes from where the demos location has been extracted:
https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/meta-sdk/recipes-fsl/m4-demos?h=imx-morty&id=bfb1e26798775f161b14218ac6f1d50069bea8ed
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
Tested-by: Julien Olivain <julien.olivain@nxp.com>
---
DEVELOPERS | 3 +
board/freescale/common/imx/post-image.sh | 14 +++-
package/freescale-imx/Config.in | 8 +++
package/freescale-imx/imx-m4-demos/Config.in | 11 +++
.../imx-m4-demos/imx-m4-demos.hash | 8 +++
.../imx-m4-demos/imx-m4-demos.mk | 72 +++++++++++++++++++
6 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 package/freescale-imx/imx-m4-demos/Config.in
create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index c0863aabc6..b2519ca2c2 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -874,6 +874,9 @@ F: package/tinydtls/
F: package/tinymembench/
F: package/whois/
+N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: package/freescale-imx/imx-m4-demos/
+
N: Falco Hyfing <hyfinglists@gmail.com>
F: package/python-pymodbus/
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index 19d8fffb63..1aba516d9c 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -30,6 +30,18 @@ linux_image()
fi
}
+#
+# m4_image prints all available M4 demo file names for the genimage
+# configuration file
+#
+m4_image()
+{
+ if grep -Eq "^BR2_PACKAGE_IMX_M4_DEMOS=y$" ${BR2_CONFIG}; then
+ echo -n ", "
+ for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
+ fi
+}
+
genimage_type()
{
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
@@ -75,7 +87,7 @@ uboot_image()
main()
{
- local FILES="$(dtb_list) $(linux_image)"
+ local FILES="$(dtb_list) $(linux_image) $(m4_image)"
local IMXOFFSET="$(imx_offset)"
local UBOOTBIN="$(uboot_image)"
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index f010aab87b..55cd53aa37 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ bool
+ default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
+
source "package/freescale-imx/imx-alsa-plugins/Config.in"
source "package/freescale-imx/imx-codec/Config.in"
source "package/freescale-imx/imx-kobs/Config.in"
source "package/freescale-imx/imx-lib/Config.in"
+source "package/freescale-imx/imx-m4-demos/Config.in"
source "package/freescale-imx/imx-m4fwloader/Config.in"
source "package/freescale-imx/imx-parser/Config.in"
source "package/freescale-imx/imx-uuc/Config.in"
diff --git a/package/freescale-imx/imx-m4-demos/Config.in b/package/freescale-imx/imx-m4-demos/Config.in
new file mode 100644
index 0000000000..b1cbebb74f
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/Config.in
@@ -0,0 +1,11 @@
+comment "imx-m4-demos needs an i.MX platform with Cortex-M4"
+ depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+
+config BR2_PACKAGE_IMX_M4_DEMOS
+ bool "imx-m4-demos"
+ depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
+ help
+ Cortex-M4 demo blobs for the Freescale i.MX SoCs.
+
+ This library is provided by Freescale as-is and doesn't have
+ an upstream.
diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
new file mode 100644
index 0000000000..fdbf1ab608
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
@@ -0,0 +1,8 @@
+# locally computed
+sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
+sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
+sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
+sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
+sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
+
+# no hash for license file as it is different for each package listed above
diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
new file mode 100644
index 0000000000..6d08dcc8f8
--- /dev/null
+++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
@@ -0,0 +1,72 @@
+################################################################################
+#
+# imx-m4-demos
+#
+################################################################################
+
+IMX_M4_DEMOS_SITE = $(FREESCALE_IMX_SITE)
+
+IMX_M4_DEMOS_LICENSE = NXP Semiconductor Software License Agreement
+IMX_M4_DEMOS_LICENSE_FILES = COPYING
+IMX_M4_DEMOS_REDISTRIBUTE = NO
+
+define IMX_M4_DEMOS_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_DEMOS_DL_DIR)/$(IMX_M4_DEMOS_SOURCE))
+endef
+
+# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
+
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
+IMX_M4_DEMOS_VERSION = 2.6.0
+IMX_M4_DEMOS_SOURCE = imx7ulp-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
+ cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
+IMX_M4_DEMOS_VERSION = 1.0.1
+IMX_M4_DEMOS_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
+ cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
+IMX_M4_DEMOS_VERSION = 2.5.0
+IMX_M4_DEMOS_SOURCE = imx8qx-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
+ cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
+ cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+IMX_M4_DEMOS_VERSION = 2.3.0
+IMX_M4_DEMOS_SOURCE = imx8mq-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+endef
+else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
+IMX_M4_DEMOS_VERSION = 2.5.0
+IMX_M4_DEMOS_SOURCE = imx8mm-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
+IMX_M4_DEMOS_INSTALL_IMAGES = YES
+define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
+ cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
+ cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
+ cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
+endef
+endif
+
+$(eval $(generic-package))
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-11-11 10:15 ` [Buildroot] [PATCH v5 " Fabrice Goucem
@ 2019-11-11 10:15 ` Fabrice Goucem
2019-11-11 15:30 ` Gilles Talis
2019-11-11 15:29 ` [Buildroot] [PATCH v5 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
1 sibling, 1 reply; 21+ messages in thread
From: Fabrice Goucem @ 2019-11-11 10:15 UTC (permalink / raw)
To: buildroot
Add basic support for NXP's i.MX7 ULP EVK board:
https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
Changes v4 -> v5:
- Changed all occurences of m4-firmware to m4-demos (suggested by
Gilles Talis)
- Changed wrong flag name in post-image.sh (indirectly suggested by
Gilles Talis)
Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
---
.gitlab-ci.yml | 1 +
DEVELOPERS | 2 +
board/freescale/imx7ulpevk/readme.txt | 76 ++++++++++++++++++++++++++
configs/freescale_imx7ulpevk_defconfig | 28 ++++++++++
package/freescale-imx/Config.in | 8 ++-
5 files changed, 114 insertions(+), 1 deletion(-)
create mode 100644 board/freescale/imx7ulpevk/readme.txt
create mode 100644 configs/freescale_imx7ulpevk_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d71257a20..74ee5b732e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
freescale_imx6qsabresd_defconfig: { extends: .defconfig }
freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
freescale_imx7dsabresd_defconfig: { extends: .defconfig }
+freescale_imx7ulpevk_defconfig: { extends: .defconfig }
freescale_imx8mmevk_defconfig: { extends: .defconfig }
freescale_imx8mqevk_defconfig: { extends: .defconfig }
freescale_imx8qxpmek_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index b2519ca2c2..ccd331e364 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -875,6 +875,8 @@ F: package/tinymembench/
F: package/whois/
N: Fabrice Goucem <fabrice.goucem@nxp.com>
+F: board/freescale/imx7ulpevk/
+F: configs/freescale_imx7ulpevk_defconfig
F: package/freescale-imx/imx-m4-demos/
N: Falco Hyfing <hyfinglists@gmail.com>
diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
new file mode 100644
index 0000000000..c18f901010
--- /dev/null
+++ b/board/freescale/imx7ulpevk/readme.txt
@@ -0,0 +1,76 @@
+****************************
+Freescale i.MX7ULP EVK board
+****************************
+
+This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
+
+Build
+=====
+
+First, configure Buildroot for your i.MX7ULP EVK board:
+
+ make freescale_imx7ulpevk_defconfig
+
+Build all components:
+
+ make
+
+You will find in output/images/ the following files:
+ - boot.vfat
+ - imx7ulp-evkb.dtb
+ - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
+ - m4_imx7ulp_m4_demo.img
+ - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
+ - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
+ - m4_imx7ulp_wireless_uart_bridge.img
+ - rootfs.ext2
+ - rootfs.ext4
+ - rootfs.tar
+ - sdcard.img
+ - u-boot.imx
+ - zImage
+
+Create a bootable SD card
+=========================
+
+To determine the device associated to the SD card have a look in the
+/proc/partitions file:
+
+ cat /proc/partitions
+
+Buildroot prepares a bootable "sdcard.img" image in the output/images/
+directory, ready to be dumped on a SD card. Launch the following
+command as root:
+
+ dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
+
+*** WARNING! This will destroy all the card content. Use with care! ***
+
+For details about the medium image layout, see the definition in
+board/freescale/common/imx/genimage.cfg.template.
+
+Flash QSPI with Cortex-M4 demo
+==============================
+
+Cortex-M4 demo can be flashed onto QSPI NOR memory.
+To do so, stop at u-boot prompt and run the following commands:
+
+ sf probe
+ sf erase 0 30000
+ fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
+ sf write 62000000 0 30000
+
+Boot the i.MX7ULP EVK board
+===========================
+
+To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
+- insert the SD card in the micro SD slot of the board;
+- put a micro USB cable into the Debug USB Port and connect using a terminal
+ emulator at 115200 bps, 8n1;
+- power on the board.
+
+Enjoy!
+
+References
+==========
+[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
new file mode 100644
index 0000000000..7998eb04ad
--- /dev/null
+++ b/configs/freescale_imx7ulpevk_defconfig
@@ -0,0 +1,28 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
+BR2_PACKAGE_IMX_M4_DEMOS=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index 55cd53aa37..639b789ebe 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
bool "imx6ul/imx6ull"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
- bool "imx7d/imx7ulp"
+ bool "imx7d"
+
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
+ bool "imx7ulp"
config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
bool "imx8m"
@@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
+ default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
@@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
bool
default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
+ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
--
2.24.0.rc1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v5 1/2] package/freescale-imx/imx-m4-demos: new package
2019-11-11 10:15 ` [Buildroot] [PATCH v5 " Fabrice Goucem
2019-11-11 10:15 ` [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-11-11 15:29 ` Gilles Talis
1 sibling, 0 replies; 21+ messages in thread
From: Gilles Talis @ 2019-11-11 15:29 UTC (permalink / raw)
To: buildroot
Hi Fabrice, all,
Le lun. 11 nov. 2019 ? 11:15, Fabrice Goucem <fabrice.goucem@nxp.com> a ?crit :
>
> New package to download and install i.MX Cortex-M4 demos
> for following SoCs:
> * i.MX7D
> * i.MX7ULP
> * i.MX8M
> * i.MX8MM
> * i.MX8QXP
>
> Yocto recipes from where the demos location has been extracted:
> https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/meta-sdk/recipes-fsl/m4-demos?h=imx-morty&id=bfb1e26798775f161b14218ac6f1d50069bea8ed
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> Tested-by: Julien Olivain <julien.olivain@nxp.com>
> ---
> DEVELOPERS | 3 +
> board/freescale/common/imx/post-image.sh | 14 +++-
> package/freescale-imx/Config.in | 8 +++
> package/freescale-imx/imx-m4-demos/Config.in | 11 +++
> .../imx-m4-demos/imx-m4-demos.hash | 8 +++
> .../imx-m4-demos/imx-m4-demos.mk | 72 +++++++++++++++++++
> 6 files changed, 115 insertions(+), 1 deletion(-)
> create mode 100644 package/freescale-imx/imx-m4-demos/Config.in
> create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> create mode 100644 package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index c0863aabc6..b2519ca2c2 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -874,6 +874,9 @@ F: package/tinydtls/
> F: package/tinymembench/
> F: package/whois/
>
> +N: Fabrice Goucem <fabrice.goucem@nxp.com>
> +F: package/freescale-imx/imx-m4-demos/
> +
> N: Falco Hyfing <hyfinglists@gmail.com>
> F: package/python-pymodbus/
>
> diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
> index 19d8fffb63..1aba516d9c 100755
> --- a/board/freescale/common/imx/post-image.sh
> +++ b/board/freescale/common/imx/post-image.sh
> @@ -30,6 +30,18 @@ linux_image()
> fi
> }
>
> +#
> +# m4_image prints all available M4 demo file names for the genimage
> +# configuration file
> +#
> +m4_image()
> +{
> + if grep -Eq "^BR2_PACKAGE_IMX_M4_DEMOS=y$" ${BR2_CONFIG}; then
> + echo -n ", "
> + for f in $(ls ${BINARIES_DIR}/m4_*); do echo -n "$(basename $f), "; done
> + fi
> +}
> +
> genimage_type()
> {
> if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
> @@ -75,7 +87,7 @@ uboot_image()
>
> main()
> {
> - local FILES="$(dtb_list) $(linux_image)"
> + local FILES="$(dtb_list) $(linux_image) $(m4_image)"
> local IMXOFFSET="$(imx_offset)"
> local UBOOTBIN="$(uboot_image)"
> local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index f010aab87b..55cd53aa37 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -83,10 +83,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> +config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> + bool
> + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> +
> source "package/freescale-imx/imx-alsa-plugins/Config.in"
> source "package/freescale-imx/imx-codec/Config.in"
> source "package/freescale-imx/imx-kobs/Config.in"
> source "package/freescale-imx/imx-lib/Config.in"
> +source "package/freescale-imx/imx-m4-demos/Config.in"
> source "package/freescale-imx/imx-m4fwloader/Config.in"
> source "package/freescale-imx/imx-parser/Config.in"
> source "package/freescale-imx/imx-uuc/Config.in"
> diff --git a/package/freescale-imx/imx-m4-demos/Config.in b/package/freescale-imx/imx-m4-demos/Config.in
> new file mode 100644
> index 0000000000..b1cbebb74f
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/Config.in
> @@ -0,0 +1,11 @@
> +comment "imx-m4-demos needs an i.MX platform with Cortex-M4"
> + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> +
> +config BR2_PACKAGE_IMX_M4_DEMOS
> + bool "imx-m4-demos"
> + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> + help
> + Cortex-M4 demo blobs for the Freescale i.MX SoCs.
> +
> + This library is provided by Freescale as-is and doesn't have
> + an upstream.
> diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> new file mode 100644
> index 0000000000..fdbf1ab608
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.hash
> @@ -0,0 +1,8 @@
> +# locally computed
> +sha256 cc00d3b936d49b2794a2a99e10129437e70caba3fd26b8379b8c50dd22f73254 imx7d-sabresd-m4-freertos-1.0.1.bin
> +sha256 e4efb9646b66df867f618bd8121e14afe17ebadea4a405a4df951d45d841e681 imx7ulp-m4-demo-2.6.0.bin
> +sha256 4e41e270506870e0fd2d53e3d69afdcf6d613d099b0da5c516a512944c5c12c3 imx8mm-m4-demo-2.5.0.bin
> +sha256 fd441e75395b0c6f90626c883ee8a93406b14e7d55adc7925116254394bb7ad8 imx8mq-m4-demo-2.3.0.bin
> +sha256 4e83d60e27cd8ad67d4174ad3082a5f4a06b7df93571cfd2274615cbdf66eb6c imx8qx-m4-demo-2.5.0.bin
> +
> +# no hash for license file as it is different for each package listed above
> diff --git a/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> new file mode 100644
> index 0000000000..6d08dcc8f8
> --- /dev/null
> +++ b/package/freescale-imx/imx-m4-demos/imx-m4-demos.mk
> @@ -0,0 +1,72 @@
> +################################################################################
> +#
> +# imx-m4-demos
> +#
> +################################################################################
> +
> +IMX_M4_DEMOS_SITE = $(FREESCALE_IMX_SITE)
> +
> +IMX_M4_DEMOS_LICENSE = NXP Semiconductor Software License Agreement
> +IMX_M4_DEMOS_LICENSE_FILES = COPYING
> +IMX_M4_DEMOS_REDISTRIBUTE = NO
> +
> +define IMX_M4_DEMOS_EXTRACT_CMDS
> + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_M4_DEMOS_DL_DIR)/$(IMX_M4_DEMOS_SOURCE))
> +endef
> +
> +# Note: firmware names are copied to binaries directory with an "m4_" prefix, for easier post image scripting
> +
> +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP),y)
> +IMX_M4_DEMOS_VERSION = 2.6.0
> +IMX_M4_DEMOS_SOURCE = imx7ulp-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img $(BINARIES_DIR)/m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
> + cp $(@D)/imx7ulp_m4_demo.img $(BINARIES_DIR)/m4_imx7ulp_m4_demo.img
> + cp $(@D)/imx7ulp_rpmsg_lite_pingpong_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
> + cp $(@D)/imx7ulp_rpmsg_lite_str_echo_rtos.img $(BINARIES_DIR)/m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
> + cp $(@D)/imx7ulp_wireless_uart_bridge.img $(BINARIES_DIR)/m4_imx7ulp_wireless_uart_bridge.img
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7),y)
> +IMX_M4_DEMOS_VERSION = 1.0.1
> +IMX_M4_DEMOS_SOURCE = imx7d-sabresd-m4-freertos-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx7d_sabresd_m4_TCM_helloworld.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_helloworld.bin
> + cp $(@D)/imx7d_sabresd_m4_TCM_mcctty.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_mcctty.bin
> + cp $(@D)/imx7d_sabresd_m4_TCM_Pingpang.bin $(BINARIES_DIR)/m4_imx7d_sabresd_m4_TCM_Pingpang.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X),y)
> +IMX_M4_DEMOS_VERSION = 2.5.0
> +IMX_M4_DEMOS_SOURCE = imx8qx-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8qx_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_hello_world.bin
> + cp $(@D)/imx8qx_m4_TCM_power_mode_switch.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_power_mode_switch.bin
> + cp $(@D)/imx8qx_m4_TCM_rear_view_camera.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rear_view_camera.bin
> + cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> + cp $(@D)/imx8qx_m4_TCM_srtm_demo.bin $(BINARIES_DIR)/m4_imx8qx_m4_TCM_srtm_demo.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
> +IMX_M4_DEMOS_VERSION = 2.3.0
> +IMX_M4_DEMOS_SOURCE = imx8mq-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8mq_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_hello_world.bin
> + cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mq_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> +endef
> +else ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM),y)
> +IMX_M4_DEMOS_VERSION = 2.5.0
> +IMX_M4_DEMOS_SOURCE = imx8mm-m4-demo-$(IMX_M4_DEMOS_VERSION).bin
> +IMX_M4_DEMOS_INSTALL_IMAGES = YES
> +define IMX_M4_DEMOS_INSTALL_IMAGES_CMDS
> + cp $(@D)/imx8mm_m4_TCM_hello_world.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_hello_world.bin
> + cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin
> + cp $(@D)/imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_rpmsg_lite_str_echo_rtos.bin
> + cp $(@D)/imx8mm_m4_TCM_sai_low_power_audio.bin $(BINARIES_DIR)/m4_imx8mm_m4_TCM_sai_low_power_audio.bin
> +endef
> +endif
> +
> +$(eval $(generic-package))
> --
> 2.24.0.rc1
>
Reviewed-by: Gilles Talis <gilles.talis@gmail.com>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig
2019-11-11 10:15 ` [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
@ 2019-11-11 15:30 ` Gilles Talis
0 siblings, 0 replies; 21+ messages in thread
From: Gilles Talis @ 2019-11-11 15:30 UTC (permalink / raw)
To: buildroot
Hi Fabrice, all,
Le lun. 11 nov. 2019 ? 11:15, Fabrice Goucem <fabrice.goucem@nxp.com> a ?crit :
>
> Add basic support for NXP's i.MX7 ULP EVK board:
>
> https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-the-i.mx-7ulp-applications-processor:MCIMX7ULP-EVK
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
>
> ---
> Changes v4 -> v5:
> - Changed all occurences of m4-firmware to m4-demos (suggested by
> Gilles Talis)
> - Changed wrong flag name in post-image.sh (indirectly suggested by
> Gilles Talis)
>
> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com>
> ---
> .gitlab-ci.yml | 1 +
> DEVELOPERS | 2 +
> board/freescale/imx7ulpevk/readme.txt | 76 ++++++++++++++++++++++++++
> configs/freescale_imx7ulpevk_defconfig | 28 ++++++++++
> package/freescale-imx/Config.in | 8 ++-
> 5 files changed, 114 insertions(+), 1 deletion(-)
> create mode 100644 board/freescale/imx7ulpevk/readme.txt
> create mode 100644 configs/freescale_imx7ulpevk_defconfig
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 1d71257a20..74ee5b732e 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -177,6 +177,7 @@ freescale_imx6qsabreauto_defconfig: { extends: .defconfig }
> freescale_imx6qsabresd_defconfig: { extends: .defconfig }
> freescale_imx6sxsabresd_defconfig: { extends: .defconfig }
> freescale_imx7dsabresd_defconfig: { extends: .defconfig }
> +freescale_imx7ulpevk_defconfig: { extends: .defconfig }
> freescale_imx8mmevk_defconfig: { extends: .defconfig }
> freescale_imx8mqevk_defconfig: { extends: .defconfig }
> freescale_imx8qxpmek_defconfig: { extends: .defconfig }
> diff --git a/DEVELOPERS b/DEVELOPERS
> index b2519ca2c2..ccd331e364 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -875,6 +875,8 @@ F: package/tinymembench/
> F: package/whois/
>
> N: Fabrice Goucem <fabrice.goucem@nxp.com>
> +F: board/freescale/imx7ulpevk/
> +F: configs/freescale_imx7ulpevk_defconfig
> F: package/freescale-imx/imx-m4-demos/
>
> N: Falco Hyfing <hyfinglists@gmail.com>
> diff --git a/board/freescale/imx7ulpevk/readme.txt b/board/freescale/imx7ulpevk/readme.txt
> new file mode 100644
> index 0000000000..c18f901010
> --- /dev/null
> +++ b/board/freescale/imx7ulpevk/readme.txt
> @@ -0,0 +1,76 @@
> +****************************
> +Freescale i.MX7ULP EVK board
> +****************************
> +
> +This file documents the Buildroot support for the Freescale i.MX7ULP EVK board.
> +
> +Build
> +=====
> +
> +First, configure Buildroot for your i.MX7ULP EVK board:
> +
> + make freescale_imx7ulpevk_defconfig
> +
> +Build all components:
> +
> + make
> +
> +You will find in output/images/ the following files:
> + - boot.vfat
> + - imx7ulp-evkb.dtb
> + - m4_imx7ulp_erpc_matrix_multiply_rpmsg_rtos_imxcm4.img
> + - m4_imx7ulp_m4_demo.img
> + - m4_imx7ulp_rpmsg_lite_pingpong_rtos.img
> + - m4_imx7ulp_rpmsg_lite_str_echo_rtos.img
> + - m4_imx7ulp_wireless_uart_bridge.img
> + - rootfs.ext2
> + - rootfs.ext4
> + - rootfs.tar
> + - sdcard.img
> + - u-boot.imx
> + - zImage
> +
> +Create a bootable SD card
> +=========================
> +
> +To determine the device associated to the SD card have a look in the
> +/proc/partitions file:
> +
> + cat /proc/partitions
> +
> +Buildroot prepares a bootable "sdcard.img" image in the output/images/
> +directory, ready to be dumped on a SD card. Launch the following
> +command as root:
> +
> + dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
> +
> +*** WARNING! This will destroy all the card content. Use with care! ***
> +
> +For details about the medium image layout, see the definition in
> +board/freescale/common/imx/genimage.cfg.template.
> +
> +Flash QSPI with Cortex-M4 demo
> +==============================
> +
> +Cortex-M4 demo can be flashed onto QSPI NOR memory.
> +To do so, stop at u-boot prompt and run the following commands:
> +
> + sf probe
> + sf erase 0 30000
> + fatload mmc 0 62000000 m4_imx7ulp_m4_demo.img
> + sf write 62000000 0 30000
> +
> +Boot the i.MX7ULP EVK board
> +===========================
> +
> +To boot your newly created system (refer to the i.MX 7ULP EVK Quick Start Guide [1] for guidance):
> +- insert the SD card in the micro SD slot of the board;
> +- put a micro USB cable into the Debug USB Port and connect using a terminal
> + emulator at 115200 bps, 8n1;
> +- power on the board.
> +
> +Enjoy!
> +
> +References
> +==========
> +[1] https://www.nxp.com/docs/en/user-guide/IMX7ULPQSG.pdf
> diff --git a/configs/freescale_imx7ulpevk_defconfig b/configs/freescale_imx7ulpevk_defconfig
> new file mode 100644
> index 0000000000..7998eb04ad
> --- /dev/null
> +++ b/configs/freescale_imx7ulpevk_defconfig
> @@ -0,0 +1,28 @@
> +BR2_arm=y
> +BR2_cortex_a7=y
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
> +BR2_LINUX_KERNEL_DEFCONFIG="imx_v7"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7ulp-evkb"
> +BR2_PACKAGE_FREESCALE_IMX=y
> +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP=y
> +BR2_PACKAGE_IMX_M4_DEMOS=y
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="mx7ulp_evk"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.19.35_1.0.0"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +# BR2_TARGET_UBOOT_FORMAT_BIN is not set
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
> index 55cd53aa37..639b789ebe 100644
> --- a/package/freescale-imx/Config.in
> +++ b/package/freescale-imx/Config.in
> @@ -38,7 +38,10 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
> bool "imx6ul/imx6ull"
>
> config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
> - bool "imx7d/imx7ulp"
> + bool "imx7d"
> +
> +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
> + bool "imx7ulp"
>
> config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
> bool "imx8m"
> @@ -62,6 +65,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
> default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S
> default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
> default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
> + default "IMX7ULP" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP
> default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
> @@ -80,12 +84,14 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
>
> config BR2_PACKAGE_FREESCALE_IMX_HAS_M4
> bool
> default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \
> + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7ULP || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM
> --
> 2.24.0.rc1
>
Reviewed-by: Gilles Talis <gilles.talis@gmail.com>
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2019-11-11 15:30 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-29 17:01 [Buildroot] [PATCH 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-10-29 17:01 ` [Buildroot] [PATCH 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-10-29 18:09 ` Fabio Estevam
2019-10-30 13:43 ` Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 1/3] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 2/3] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-10-30 13:40 ` [Buildroot] [PATCH v2 3/3] package/freescale-imx/imx-m4-firmware: add support for i.MX7ULP Fabrice Goucem
2019-10-31 22:52 ` Fabio Estevam
2019-11-05 12:03 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Fabrice Goucem
2019-11-05 12:03 ` [Buildroot] [PATCH v3 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-06 17:23 ` [Buildroot] [PATCH v3 1/2] package/freescale-imx/imx-m4-firmware: new package Gary Bisson
2019-11-07 9:59 ` [Buildroot] [EXT] " Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: " Fabrice Goucem
2019-11-10 23:08 ` [Buildroot] [PATCH v4 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-11 8:53 ` Gilles Talis
2019-11-11 8:50 ` [Buildroot] [PATCH v4 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
2019-11-11 10:09 ` [Buildroot] [EXT] " Fabrice Goucem
2019-11-11 10:15 ` [Buildroot] [PATCH v5 " Fabrice Goucem
2019-11-11 10:15 ` [Buildroot] [PATCH v5 2/2] configs/freescale_imx7ulpevk: new defconfig Fabrice Goucem
2019-11-11 15:30 ` Gilles Talis
2019-11-11 15:29 ` [Buildroot] [PATCH v5 1/2] package/freescale-imx/imx-m4-demos: new package Gilles Talis
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.