Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk)
@ 2018-03-07 18:52 Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 1/4] imx-mkimage: new package Erik Larsson
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 18:52 UTC (permalink / raw)
  To: buildroot

This series provides initial support for NXP iMX8 (imx8mq-evk).

This series of patches are tested against NXP imx8mq-evk.
It only handles basic support for iIMX8M, currently no
support for GPU, VPU and other HW features. This series
makes it possible to build a minimal system for imx8mq-evk.

Changes since v4
================
  - Build kernel, u-boot, atf from tag rel_imx_4.9.51_8mq_beta_patch.
  - Add board readme.txt.
  - Update imx-mkimage package to use host mkimage

Changes since v3
================
  - Use Buildroot toolchain instead of external Linareo toolchain.
  - Changed title on patch number 2

Changes since v2
================
  - Build kernel, u-boot, atf based on tags instead of branches.
  - Make sure to assign BR2_PACKAGE_FREESCALE_IMX_PLATFORM to IMX8M.
  - Remove kernel defconfig from board folder and use arch default in kernel tree.
  - Split third commit into two commits.

Changes since v1
================
  - Removed new imx-atf package, use boot/arm-trusted-firmware.
  - Move imx-mkimage from package/freescale-imx to package.
  - Add upstream URL for imx-mkimage in Config.in.host.
  - Fix install command syntax for imx-mkimage package.
  - Use Makefile in imx-mkimage to build imx-boot-imx8mqevk-sd.bin instead of doing that in the post-script.sh
  - Split third commit into two, one for firmware-img package and one for iMX8 board.

Erik Larsson (4):
  imx-mkimage: new package
  freescale-imx: add config option for i.MX8M
  firmware-imx: add support for iMX8M firmware
  configs/freescale_imx8mqevk: new defconfig

 .../common/imx/genimage.cfg.template_imx8          | 40 +++++++++++
 board/freescale/common/imx/post-image.sh           | 10 ++-
 board/freescale/imx8mqevk/readme.txt               | 83 ++++++++++++++++++++++
 configs/freescale_imx8mqevk_defconfig              | 39 ++++++++++
 package/Config.in.host                             |  1 +
 package/freescale-imx/Config.in                    |  5 +-
 package/freescale-imx/firmware-imx/Config.in       |  2 +-
 package/freescale-imx/firmware-imx/firmware-imx.mk |  8 +++
 .../imx-mkimage/0001-remove-git-build-info.patch   | 29 ++++++++
 .../0002-add-ldflags-to-link-step.patch            | 26 +++++++
 .../0003-remove-use-of-mkimage_uboot.patch         | 26 +++++++
 package/imx-mkimage/Config.in.host                 | 12 ++++
 package/imx-mkimage/imx-mkimage.hash               |  3 +
 package/imx-mkimage/imx-mkimage.mk                 | 36 ++++++++++
 14 files changed, 315 insertions(+), 5 deletions(-)
 create mode 100644 board/freescale/common/imx/genimage.cfg.template_imx8
 create mode 100644 board/freescale/imx8mqevk/readme.txt
 create mode 100644 configs/freescale_imx8mqevk_defconfig
 create mode 100644 package/imx-mkimage/0001-remove-git-build-info.patch
 create mode 100644 package/imx-mkimage/0002-add-ldflags-to-link-step.patch
 create mode 100644 package/imx-mkimage/0003-remove-use-of-mkimage_uboot.patch
 create mode 100644 package/imx-mkimage/Config.in.host
 create mode 100644 package/imx-mkimage/imx-mkimage.hash
 create mode 100644 package/imx-mkimage/imx-mkimage.mk

-- 
2.7.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 1/4] imx-mkimage: new package
  2018-03-07 18:52 [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk) Erik Larsson
@ 2018-03-07 18:52 ` Erik Larsson
  2018-03-07 20:18   ` Thomas Petazzoni
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 2/4] freescale-imx: add config option for i.MX8M Erik Larsson
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 18:52 UTC (permalink / raw)
  To: buildroot

This package add support for imx-mkimage for iMX8M.
Currently the only hardware it's tested for.

Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
---
v5: Build with HDMI support
    Add patch to use host mkimage instead of ./mkimage_uboot in soc.mk
    Add host dependencies to dtc package
    Add host configuration options in build
    Add patch to make use of LDFLAGS in soc.mk (fixes build error with libz)
v4: No changes
v3: Use BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME in U-Boot so we don't
    need to copy u-boot.bin to u-boot-nodtb.bin (suggested by Baruch)
    Update license to GPL-2.0+ (suggested by Marcus F.)
v2: Moved package from package/freescale-imx to package (suggested by Thomas P.)
    Add upstread URL in Config.in (suggested by Thomas P.)
    Fix install syntax in imx-mkimage.mk (suggested by Thomas P.)
    Use Makefile in imx-mkimage to build imx-boot-imx8mqevk-sd.bin instead of doing that in the post-script.sh (suggested Baruch)
---
 package/Config.in.host                             |  1 +
 .../imx-mkimage/0001-remove-git-build-info.patch   | 29 +++++++++++++++++
 .../0002-add-ldflags-to-link-step.patch            | 26 ++++++++++++++++
 .../0003-remove-use-of-mkimage_uboot.patch         | 26 ++++++++++++++++
 package/imx-mkimage/Config.in.host                 | 12 ++++++++
 package/imx-mkimage/imx-mkimage.hash               |  3 ++
 package/imx-mkimage/imx-mkimage.mk                 | 36 ++++++++++++++++++++++
 7 files changed, 133 insertions(+)
 create mode 100644 package/imx-mkimage/0001-remove-git-build-info.patch
 create mode 100644 package/imx-mkimage/0002-add-ldflags-to-link-step.patch
 create mode 100644 package/imx-mkimage/0003-remove-use-of-mkimage_uboot.patch
 create mode 100644 package/imx-mkimage/Config.in.host
 create mode 100644 package/imx-mkimage/imx-mkimage.hash
 create mode 100644 package/imx-mkimage/imx-mkimage.mk

diff --git a/package/Config.in.host b/package/Config.in.host
index 199a8e9..06ef5cb 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -24,6 +24,7 @@ menu "Host utilities"
 	source "package/go-bootstrap/Config.in.host"
 	source "package/google-breakpad/Config.in.host"
 	source "package/gptfdisk/Config.in.host"
+	source "package/imx-mkimage/Config.in.host"
 	source "package/imx-usb-loader/Config.in.host"
 	source "package/jq/Config.in.host"
 	source "package/jsmin/Config.in.host"
diff --git a/package/imx-mkimage/0001-remove-git-build-info.patch b/package/imx-mkimage/0001-remove-git-build-info.patch
new file mode 100644
index 0000000..9f8da02
--- /dev/null
+++ b/package/imx-mkimage/0001-remove-git-build-info.patch
@@ -0,0 +1,29 @@
+From d1bb893300b1bd80eaac27fcc8eb4347f56f83b4 Mon Sep 17 00:00:00 2001
+From: Erik Larsson <erik.larsson@combitech.se>
+Date: Thu, 22 Feb 2018 09:56:53 +0100
+Subject: [PATCH] Remove buildinformation step.
+
+Signed-off-by: Erik Larsson <erik.larsson@combitech.se>
+Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
+---
+ Makefile | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 4b449ad..4042a39 100644
+--- a/Makefile
++++ b/Makefile
+@@ -33,9 +33,7 @@ $(MKIMG): buildinfo $(SRCS)
+ bin: $(MKIMG)
+ 
+ buildinfo:
+-	@echo -n '#define MKIMAGE_COMMIT 0x' > src/build_info.h
+-	@git rev-parse --short=8 HEAD >> src/build_info.h
+-	@echo '' >> src/build_info.h
++	@echo "#define MKIMAGE_COMMIT 0x0000" > src/build_info.h
+ 
+ help:
+ 	@echo $(CURR_DIR)
+-- 
+2.7.4
+
diff --git a/package/imx-mkimage/0002-add-ldflags-to-link-step.patch b/package/imx-mkimage/0002-add-ldflags-to-link-step.patch
new file mode 100644
index 0000000..22c6a7d
--- /dev/null
+++ b/package/imx-mkimage/0002-add-ldflags-to-link-step.patch
@@ -0,0 +1,26 @@
+From a73f20fbe921c7ecff3efda23bc506fdd935ee4d Mon Sep 17 00:00:00 2001
+From: Erik Larsson <erik.larsson@combitech.se>
+Date: Tue, 6 Mar 2018 12:28:39 +0100
+Subject: [PATCH 1/2] Add LDFLAGS to link step
+
+Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
+---
+ iMX8M/soc.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index 8346769..38a14bb 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -15,7 +15,7 @@ FW_DIR = imx-boot/imx-boot-tools/imx8mq
+ 
+ $(MKIMG): mkimage_imx8.c
+ 	@echo "Compiling mkimage_imx8"
+-	$(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz
++	$(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(LDFLAGS) -lz
+ 
+ $(DCD_CFG): $(DCD_CFG_SRC)
+ 	@echo "Converting iMX8M DCD file" 
+-- 
+2.7.4
+
diff --git a/package/imx-mkimage/0003-remove-use-of-mkimage_uboot.patch b/package/imx-mkimage/0003-remove-use-of-mkimage_uboot.patch
new file mode 100644
index 0000000..86da7dc
--- /dev/null
+++ b/package/imx-mkimage/0003-remove-use-of-mkimage_uboot.patch
@@ -0,0 +1,26 @@
+From fe1e495ca9766277db9505ff0a1736293569a694 Mon Sep 17 00:00:00 2001
+From: Erik Larsson <erik.larsson@combitech.se>
+Date: Tue, 6 Mar 2018 12:29:15 +0100
+Subject: [PATCH 2/2] Remove use of ./mkimage_uboot and use mkimage instead
+
+Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
+---
+ iMX8M/soc.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak
+index 38a14bb..b61dc85 100644
+--- a/iMX8M/soc.mak
++++ b/iMX8M/soc.mak
+@@ -46,7 +46,7 @@ clean:
+ dtbs = fsl-imx8mq-evk.dtb
+ u-boot.itb: $(dtbs)
+ 	./mkimage_fit_atf.sh $(dtbs) > u-boot.its
+-	./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
++	mkimage -E -p 0x3000 -f u-boot.its u-boot.itb
+ 	@rm -f u-boot.its
+ 
+ flash_hdmi_spl_uboot: $(MKIMG) signed_hdmi_imx8m.bin u-boot-spl-ddr.bin u-boot.itb
+-- 
+2.7.4
+
diff --git a/package/imx-mkimage/Config.in.host b/package/imx-mkimage/Config.in.host
new file mode 100644
index 0000000..490b514
--- /dev/null
+++ b/package/imx-mkimage/Config.in.host
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_HOST_IMX_MKIMAGE
+	bool "host imx-mkimage"
+	select BR2_PACKAGE_HOST_UBOOT_TOOLS
+	select BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT
+	select BR2_PACKAGE_HOST_DTC
+	depends on BR2_LINUX_KERNEL
+	depends on BR2_TARGET_UBOOT
+	help
+	  imx-mkimage is used to combine input images and generate
+	  final boot image with appropriate IVT set.
+
+	  https://source.codeaurora.org/external/imx/imx-mkimage
diff --git a/package/imx-mkimage/imx-mkimage.hash b/package/imx-mkimage/imx-mkimage.hash
new file mode 100644
index 0000000..08d31ce
--- /dev/null
+++ b/package/imx-mkimage/imx-mkimage.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 4ddb144520001c33baa24493f68ef2ea9434ac36bf3ae223f78d7ec581aa484c  imx-mkimage-imx_4.9.51_imx8m_beta.tar.gz
+sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c  iMX8dv/COPYING
diff --git a/package/imx-mkimage/imx-mkimage.mk b/package/imx-mkimage/imx-mkimage.mk
new file mode 100644
index 0000000..7272f7f
--- /dev/null
+++ b/package/imx-mkimage/imx-mkimage.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# imx-mkimage
+#
+################################################################################
+
+IMX_MKIMAGE_VERSION = imx_4.9.51_imx8m_beta
+IMX_MKIMAGE_SITE = https://source.codeaurora.org/external/imx/imx-mkimage
+IMX_MKIMAGE_SITE_METHOD = git
+IMX_MKIMAGE_LICENSE = GPL-2.0+
+IMX_MKIMAGE_LICENSE_FILES = iMX8dv/COPYING
+HOST_IMX_MKIMAGE_DEPENDENCIES = uboot linux firmware-imx arm-trusted-firmware host-dtc
+
+define HOST_IMX_MKIMAGE_BUILD_CMDS
+	# These files are generated by firmware-imx, uboot and arm-trusted-firmware
+	# Copy the files into the iMX8M folder to make building of this package simple
+	# The NXP engineers has constructed to buildprocess with a bunch of hardcoded
+	# file names and pathes.
+
+	# Currently this only supports iMX8M. When more hardware is available
+	# this needs to be selectable based on iMX8-version (iMX8M,iMXQ etc).
+	cp $(BINARIES_DIR)/u-boot-spl.bin $(@D)/iMX8M
+	cp $(BINARIES_DIR)/lpddr4_pmu_train* $(@D)/iMX8M
+	cp $(BINARIES_DIR)/fsl-imx8mq-evk.dtb $(@D)/iMX8M
+	cp $(BINARIES_DIR)/signed_hdmi_imx8m.bin $(@D)/iMX8M
+	cp $(BINARIES_DIR)/bl31.bin $(@D)/iMX8M
+	cp ${BINARIES_DIR}/u-boot-nodtb.bin $(@D)/iMX8M
+
+	$(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) SOC=iMX8M flash_hdmi_spl_uboot
+endef
+
+define HOST_IMX_MKIMAGE_INSTALL_CMDS
+	$(INSTALL) -D -m 755 $(@D)/iMX8M/flash.bin $(BINARIES_DIR)/imx-boot-imx8mqevk-sd.bin
+endef
+
+$(eval $(host-generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 2/4] freescale-imx: add config option for i.MX8M
  2018-03-07 18:52 [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk) Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 1/4] imx-mkimage: new package Erik Larsson
@ 2018-03-07 18:52 ` Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 3/4] firmware-imx: add support for iMX8M firmware Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig Erik Larsson
  3 siblings, 0 replies; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 18:52 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
---
v5: No changes
v4: Changed title on commit (suggested by Gary B.)
---
 package/freescale-imx/Config.in | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in
index b5e5ab2..fe993f3 100644
--- a/package/freescale-imx/Config.in
+++ b/package/freescale-imx/Config.in
@@ -1,6 +1,6 @@
 menuconfig BR2_PACKAGE_FREESCALE_IMX
 	bool "Freescale i.MX libraries"
-	depends on BR2_arm
+	depends on BR2_arm || BR2_aarch64
 	help
 	  Those packages provide hardware acceleration for GPU or VPU,
 	  hardware optimization or some hardware tools for Freescale
@@ -40,6 +40,8 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL
 config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7
 	bool "imx7d/imx7ulp"
 
+config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
+	bool "imx8m"
 endchoice
 
 config BR2_PACKAGE_FREESCALE_IMX_PLATFORM
@@ -54,6 +56,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 "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
 
 config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU
 	bool
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 3/4] firmware-imx: add support for iMX8M firmware
  2018-03-07 18:52 [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk) Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 1/4] imx-mkimage: new package Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 2/4] freescale-imx: add config option for i.MX8M Erik Larsson
@ 2018-03-07 18:52 ` Erik Larsson
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig Erik Larsson
  3 siblings, 0 replies; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 18:52 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
---
v5: No change
v4: No change
v3: Split v2 commit into two commits (suggested by Garry B.)
v2: Split v1 commit into two commits (suggested by Baruch)
---
 package/freescale-imx/firmware-imx/Config.in       | 2 +-
 package/freescale-imx/firmware-imx/firmware-imx.mk | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/package/freescale-imx/firmware-imx/Config.in b/package/freescale-imx/firmware-imx/Config.in
index fca280a..56d5b80 100644
--- a/package/freescale-imx/firmware-imx/Config.in
+++ b/package/freescale-imx/firmware-imx/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_FIRMWARE_IMX
 	bool "firmware-imx"
-	depends on BR2_arm # Only relevant for i.MX
+	depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX
 	help
 	  Firmware blobs for the Freescale i.MX SoCs.
 
diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
index 630afca..f03daf2 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.mk
+++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
@@ -18,6 +18,13 @@ define FIRMWARE_IMX_EXTRACT_CMDS
 	$(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(FIRMWARE_IMX_SOURCE))
 endef
 
+ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y)
+FIRMWARE_IMX_INSTALL_IMAGES = YES
+define FIRMWARE_IMX_INSTALL_IMAGES_CMDS
+	cp $(@D)/firmware/ddr/synopsys/lpddr4_pmu_train_*.bin $(BINARIES_DIR)
+	cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(BINARIES_DIR)
+endef
+else
 define FIRMWARE_IMX_INSTALL_TARGET_CMDS
 	mkdir -p $(TARGET_DIR)/lib/firmware/imx
 	for blobdir in $(FIRMWARE_IMX_BLOBS); do \
@@ -27,5 +34,6 @@ define FIRMWARE_IMX_INSTALL_TARGET_CMDS
 	mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \
 		$(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw
 endef
+endif
 
 $(eval $(generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig
  2018-03-07 18:52 [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk) Erik Larsson
                   ` (2 preceding siblings ...)
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 3/4] firmware-imx: add support for iMX8M firmware Erik Larsson
@ 2018-03-07 18:52 ` Erik Larsson
  2018-03-07 19:35   ` Fabio Estevam
  3 siblings, 1 reply; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 18:52 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
---
v5: Added readme.txt in board/freescale/imx8mqevk (suggested by Fabio E.)
    Change version tags to rel_imx_4.9.51_8mq_beta_patch 
    for kernel, u-boot and atf (suggested by Baruch S.)
    Remove generation of rootfs.tar
v4: Change to Buildroot toolchain from external toolchain
v3: Change commit message (suggested by Thomas P.)
    Make sure to use tags instead of branches in kernel,bootloader and ATF repositorires (Arnout V.)
    Use BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG instead of copy kernel defconfig to board folder (suggested by Arnout V.)
    Split v2 commit into two commits
---
 .../common/imx/genimage.cfg.template_imx8          | 40 +++++++++++
 board/freescale/common/imx/post-image.sh           | 10 ++-
 board/freescale/imx8mqevk/readme.txt               | 83 ++++++++++++++++++++++
 configs/freescale_imx8mqevk_defconfig              | 39 ++++++++++
 4 files changed, 169 insertions(+), 3 deletions(-)
 create mode 100644 board/freescale/common/imx/genimage.cfg.template_imx8
 create mode 100644 board/freescale/imx8mqevk/readme.txt
 create mode 100644 configs/freescale_imx8mqevk_defconfig

diff --git a/board/freescale/common/imx/genimage.cfg.template_imx8 b/board/freescale/common/imx/genimage.cfg.template_imx8
new file mode 100644
index 0000000..138beff
--- /dev/null
+++ b/board/freescale/common/imx/genimage.cfg.template_imx8
@@ -0,0 +1,40 @@
+# Minimal SD card image for the Freescale boards Template for SPL Boot
+#
+# We mimic the .sdcard Freescale's image format:
+# * the SD card must have 33 kB free space at the beginning,
+# * U-Boot is integrated into imx-boot-imx8mqevk-sd.bin and is dumped as is,
+# * a FAT partition at offset 64MB is containing Image and DTB files
+# * a single root filesystem partition is required (ext2, ext3 or ext4)
+#
+
+image boot.vfat {
+  vfat {
+    files = {
+      %FILES%
+    }
+  }
+  size = 64M
+}
+
+image sdcard.img {
+  hdimage {
+  }
+
+  partition imx-boot {
+    in-partition-table = "no"
+    image = "imx-boot-imx8mqevk-sd.bin"
+    offset = 33K
+  }
+
+  partition boot {
+    partition-type = 0xC
+    bootable = "true"
+    image = "boot.vfat"
+    offset = 8M
+  }
+
+  partition rootfs {
+    partition-type = 0x83
+    image = "rootfs.ext2"
+  }
+}
diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh
index b239743..264c8a4 100755
--- a/board/freescale/common/imx/post-image.sh
+++ b/board/freescale/common/imx/post-image.sh
@@ -7,10 +7,10 @@
 #
 dtb_list()
 {
-	local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
+	local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
 
 	for dt in $DTB_LIST; do
-		echo -n "\"$dt.dtb\", "
+		echo -n "\"`basename $dt`.dtb\", "
 	done
 }
 
@@ -23,6 +23,8 @@ linux_image()
 {
 	if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
 		echo "\"uImage\""
+	elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
+		echo "\"Image\""
 	else
 		echo "\"zImage\""
 	fi
@@ -30,7 +32,9 @@ linux_image()
 
 genimage_type()
 {
-	if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
+	if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
+		echo "genimage.cfg.template_imx8"
+	elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
 		echo "genimage.cfg.template_spl"
 	else
 		echo "genimage.cfg.template"
diff --git a/board/freescale/imx8mqevk/readme.txt b/board/freescale/imx8mqevk/readme.txt
new file mode 100644
index 0000000..648d102
--- /dev/null
+++ b/board/freescale/imx8mqevk/readme.txt
@@ -0,0 +1,83 @@
+***************************
+Freescale i.MX8mq EVK board
+***************************
+
+This file documents the Buildroot support for the Freescale i.MX8mq EVK board.
+
+Hardware support
+================
+
+Currently only basic support for hardware is avialable, currently no
+support for GPU, VPU and other HW features.
+
+Build
+=====
+
+First, configure Buildroot for the i.MX51 EVK board:
+
+  make freescale_imx8mqevk_defconfig
+
+Build all components:
+
+  make
+
+You will find in output/images/ the following files:
+  - bl31.bin
+  - boot.vfat
+  - fsl-imx8mq-evk.dtb
+  - Image
+  - imx-boot-imx8mqevk-sd.bin
+  - lpddr4_pmu_train_1d_dmem.bin
+  - lpddr4_pmu_train_1d_imem.bin
+  - lpddr4_pmu_train_2d_dmem.bin
+  - lpddr4_pmu_train_2d_imem.bin
+  - rootfs.ext2
+  - rootfs.ext4
+  - rootfs.tar
+  - sdcard.img
+  - signed_hdmi_imx8m.bin
+  - u-boot.bin
+  - u-boot.imx
+  - u-boot-nodtb.bin
+
+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_imx8.
+
+Boot the i.MX8mq EVK board
+==========================
+
+To boot your newly created system:
+- insert the SD card in the 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.
+
+Enable HDMI output
+==================
+
+To enable HDMI output at boot you must provide the video kernel boot argument.
+To set the video boot argument from U-Boot run after stoping in U-Boot prompt:
+
+setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32 at 60'
+saveenv
+reset
+
+Change screen resolution to suit your connected display.
+
+Enjoy!
diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig
new file mode 100644
index 0000000..68b10ac
--- /dev/null
+++ b/configs/freescale_imx8mqevk_defconfig
@@ -0,0 +1,39 @@
+BR2_aarch64=y
+BR2_ARM_FPU_VFPV3=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
+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"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_INTREE_DTS=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-imx8mq-evk"
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y
+BR2_PACKAGE_FIRMWARE_IMX=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.9.51_8mq_beta_patch"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk"
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin"
+BR2_TARGET_UBOOT_SPL=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_IMX_MKIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig Erik Larsson
@ 2018-03-07 19:35   ` Fabio Estevam
  0 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2018-03-07 19:35 UTC (permalink / raw)
  To: buildroot

On Wed, Mar 7, 2018 at 3:52 PM, Erik Larsson
<karl.erik.larsson@gmail.com> wrote:

> +Build
> +=====
> +
> +First, configure Buildroot for the i.MX51 EVK board:

Minor nit:

s/i.MX51 EVK board/i.MX8MQ EVK board

(Maybe it can be fixed while applying if no other issues)

The series looks good:

Reviewed-by: Fabio Estevam <festevam@gmail.com>

Thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 1/4] imx-mkimage: new package
  2018-03-07 18:52 ` [Buildroot] [PATCH v5 1/4] imx-mkimage: new package Erik Larsson
@ 2018-03-07 20:18   ` Thomas Petazzoni
  2018-03-07 20:50     ` Erik Larsson
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2018-03-07 20:18 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed,  7 Mar 2018 19:52:15 +0100, Erik Larsson wrote:
> This package add support for imx-mkimage for iMX8M.
> Currently the only hardware it's tested for.
> 
> Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
> Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>

For the record, I already expressed my dislike of this host package
depending on uboot, linux, and generating images in BINARIES_DIR, and I
still dislike this approach.

So I am not in favor of applying this patch as it is proposed today.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v5 1/4] imx-mkimage: new package
  2018-03-07 20:18   ` Thomas Petazzoni
@ 2018-03-07 20:50     ` Erik Larsson
  0 siblings, 0 replies; 8+ messages in thread
From: Erik Larsson @ 2018-03-07 20:50 UTC (permalink / raw)
  To: buildroot

2018-03-07 21:18 GMT+01:00 Thomas Petazzoni <thomas.petazzoni@bootlin.com>:
> Hello,
>
> On Wed,  7 Mar 2018 19:52:15 +0100, Erik Larsson wrote:
>> This package add support for imx-mkimage for iMX8M.
>> Currently the only hardware it's tested for.
>>
>> Signed-off-by: Erik Larsson <karl.erik.larsson@gmail.com>
>> Signed-off-by: Christopher Dahlberg <crille.dahlberg@gmail.com>
>
> For the record, I already expressed my dislike of this host package
> depending on uboot, linux, and generating images in BINARIES_DIR, and I
> still dislike this approach.
>
> So I am not in favor of applying this patch as it is proposed today.

Yes, I know. But I didn't get any response on my reply. But maybe a
simple misunderstanding from my side, sorry I'm a newbie here.
But as I wrote in my replay the first version did contain a solution
were imx-mkimage package just built mkimage_imx8 tool and installed
it, together with mkimage_fit_atf.sh, into host binaries. See
http://lists.busybox.net/pipermail/buildroot/2018-February/213976.html.

The first version also contained a post-script,
http://lists.busybox.net/pipermail/buildroot/2018-February/213978.html,
which uses mkimage_imx8 and mkimage_fit_atf.sh together with some
other tools. I just realized that I need to double check that PATH
variable so corrty objcopy is used.

Please advice me in which solution is the best.

> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> http://bootlin.com

Best regards,
Erik

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-03-07 20:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-07 18:52 [Buildroot] [PATCH v5 0/4] Initial support for NXP iMX8 (imx8mq-evk) Erik Larsson
2018-03-07 18:52 ` [Buildroot] [PATCH v5 1/4] imx-mkimage: new package Erik Larsson
2018-03-07 20:18   ` Thomas Petazzoni
2018-03-07 20:50     ` Erik Larsson
2018-03-07 18:52 ` [Buildroot] [PATCH v5 2/4] freescale-imx: add config option for i.MX8M Erik Larsson
2018-03-07 18:52 ` [Buildroot] [PATCH v5 3/4] firmware-imx: add support for iMX8M firmware Erik Larsson
2018-03-07 18:52 ` [Buildroot] [PATCH v5 4/4] configs/freescale_imx8mqevk: new defconfig Erik Larsson
2018-03-07 19:35   ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox