Skip to contentSkip to conversation

board: Add support for Engicam i.CoreM6 Quad/Dual boards

PATCH Superseded Jagan Teki 2 participants 2 messages Jun 12, 2017 Arm i.MX and Layerscape

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Jagan Teki

author
#0 lore raw

PATCH v4 1/1 board: Add support for Engicam i.CoreM6 Quad/Dual boards

From: Jagan Teki <[email protected]>

Add initial support for Engicam i.CoreM6 Quad/Dual board with below features:
- U-Boot 2017.05
- Linux 4.11
- Default packages from buildroot

Cc Thomas Petazzoni <[email protected]>
Cc Matteo Lisi <[email protected]>
Cc Michael Trimarchi <[email protected]>

---
Changes for v4:
- Rebase master
- Used support/scripts/genimage.sh
- Dropped common and used board/engicam
- Update http board link.
- Update genimage.cfg
- Update readme.txt
- Add BR2_TARGET_GENERIC_ISSUE
Changes for v3:
- Rename icore with common, since creating a folder with the name of
SOM is not make sense, becuase the defconfig is the only change.
- Update readme.txt, post-images.sh, engicam_imx6q_icore_defconfig as per above change.
- rebased on master
Changes for v2:
- Created icorem6 family board on engicam
- Added Quad/Dual SOM boards support
- Created well defined readme.tx with referance to board/freescale/imx6q-sabresd/
- s/imx6q_icore_defconfig/engicam_/imx6q_icore_defconfig
- Updated DEVELOPERS file
- Created genimage.cfg with added SPL and u-boot-dtb.img partitions
- Removed Latest source configs and updated with fixed version source for U-Boot, Linux
- Add board link on readme.txt
- Removed BR2_TARGET_ROOTFS_TAR_XZ=y
- Created post-image.sh with referance to board/freescale/imx6q-sabresd/

 DEVELOPERS                            |  4 +++
 board/engicam/genimage.cfg            | 38 ++++++++++++++++++++
 board/engicam/readme.txt              | 66 +++++++++++++++++++++++++++++++++++
 configs/engicam_imx6q_icore_defconfig | 38 ++++++++++++++++++++
 4 files changed, 146 insertions(+)
 create mode 100644 board/engicam/genimage.cfg
 create mode 100644 board/engicam/readme.txt
 create mode 100644 configs/engicam_imx6q_icore_defconfig
DEVELOPERS +4 -0
index 7d8b410..8939987 100644
@@ -827,6 +827,10 @@ F:	package/angularjs/
 N:	Ilias Apalodimas <[email protected]>
 F:	package/keepalived/
 
+N:	Jagan Teki <[email protected]>
+F:	board/engicam/
+F:	configs/engicam_imx6q_icore_defconfig
+
 N:	James Knight <[email protected]>
 F:	package/atkmm/
 F:	package/cairomm/
board/engicam/genimage.cfg new file +38 -0
new file mode 100644
index 0000000..43c81cf
@@ -0,0 +1,38 @@
+image boot.vfat {
+	vfat {
+		files = {
+			"uImage",
+			"imx6q-icore.dtb"
+		}
+	}
+	size = 16M
+}
+
+image sdcard.img {
+	hdimage {
+	}
+
+	partition SPL {
+		in-partition-table = "no"
+		image = "SPL"
+		offset = 1024
+	}
+
+	partition u-boot-dtb {
+		in-partition-table = "no"
+		image = "u-boot-dtb.img"
+		offset = 69K
+	}
+
+	partition boot {
+		partition-type = 0xC
+		bootable = "true"
+		image = "boot.vfat"
+		offset = 8M
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext2"
+	}
+}
board/engicam/readme.txt new file +66 -0

66 lines not on this page · raw message

configs/engicam_imx6q_icore_defconfig new file +38 -0
new file mode 100644
index 0000000..2412f19
@@ -0,0 +1,38 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_VFPV3=y
+
+# System
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3"
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.05"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx6q_icore_mmc"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="SPL"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11"
+BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-icore"
+
+# Filesystem
+BR2_TARGET_GENERIC_ISSUE="Welcome to Engicam i.CoreM6 Quad/Dual Starter Kit"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/engicam/genimage.cfg"
Signature · 1 line
2.7.4
#1 lore raw

PATCH v4 1/1 board: Add support for Engicam i.CoreM6 Quad/Dual boards

Hello,

configs/engicam_imx6q_icore_defconfig line 5

Quoted 11 lines · Jagan Teki
configs/engicam_imx6q_icore_defconfig new file +5 -0
new file mode 100644
index 0000000..2412f19
@@ -0,0 +1,38 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_VFPV3=y

One thing was missing here:

# Linux headers same as kernel, a 4.11 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y

This is necessary, otherwise as soon as we add support for Linux 4.12, the toolchain would be built with Linux headers 4.12... but your defconfig would still be using Linux 4.11 as the running kernel.

So in all defconfigs, we explicitly set the version of the kernel headers being used.

Other than that: applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com