Add cubox-i and nitrogen6x i.MX6 machines 71/21671/3
authorScott Murray <scott.murray@konsulko.com>
Wed, 12 Jun 2019 19:34:43 +0000 (15:34 -0400)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Thu, 20 Jun 2019 10:54:04 +0000 (10:54 +0000)
Add the cubox-i (covering SolidRun Cubox-i, Hummingboard Gate and
Edge), and nitrogen6x (covering Nitrogen 6x and SABRE Lite) machine
definitions.

Note that support for the Broadcom Bluetooth chipset on the SolidRun
i.MX6 SOM is currently missing, as it requires firmware that is not
available in either the linux-firmware package or from the firmware
packages provided by meta-freescale.

Bug-AGL: SPEC-2517

Change-Id: If7bdb9f1af9bb67dba5c1ff836a6d3b04160fefd
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
meta-agl-bsp/conf/include/agl_cubox-i.inc [new file with mode: 0644]
meta-agl-bsp/conf/include/agl_nitrogen6x.inc [new file with mode: 0644]
meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
templates/machine/cubox-i/40_bblayers.conf.inc [new file with mode: 0644]
templates/machine/cubox-i/50_local.conf.inc [new file with mode: 0644]
templates/machine/cubox-i/50_setup.sh [new file with mode: 0644]
templates/machine/nitrogen6x/40_bblayers.conf.inc [new file with mode: 0644]
templates/machine/nitrogen6x/50_local.conf.inc [new file with mode: 0644]
templates/machine/nitrogen6x/50_setup.sh [new file with mode: 0644]

diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc
new file mode 100644 (file)
index 0000000..a82c27c
--- /dev/null
@@ -0,0 +1,22 @@
+DISTRO_FEATURES_append = " agl-medium-arm-compiler"
+
+# This disables the Freescale/NXP Vivante GPU driver and enables
+# etnaviv support.
+MACHINEOVERRIDES .= ":use-mainline-bsp"
+
+# Include devicetrees for SOM 1.5 and Hummingboard 2 hardware
+KERNEL_DEVICETREE_append = " \
+       imx6dl-hummingboard-som-v15.dtb imx6q-hummingboard-som-v15.dtb \ 
+       imx6dl-hummingboard2.dtb imx6q-hummingboard2.dtb \
+       imx6dl-hummingboard2-som-v15.dtb imx6q-hummingboard2-som-v15.dtb \
+"
+
+# Disable the meta-freescale weston-init bbappend as it conflicts
+# with AGL's.
+BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
+
+# Set CMA size large enough to work with AGL
+UBOOT_EXTLINUX_KERNEL_ARGS_append = " cma=512M"
+
+# Generate WIC image also
+AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap wic.xz.sha256sum"
diff --git a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc b/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
new file mode 100644 (file)
index 0000000..782e618
--- /dev/null
@@ -0,0 +1,17 @@
+DISTRO_FEATURES_append = " agl-medium-arm-compiler"
+
+# This disables the Freescale/NXP Vivante GPU driver and enables
+# etnaviv support.
+MACHINEOVERRIDES .= ":use-mainline-bsp"
+
+# Disable the meta-freescale weston-init bbappend as it conflicts
+# with AGL's.
+BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
+
+# Set CMA size large enough to work with AGL
+UBOOT_EXTLINUX_KERNEL_ARGS_append = " cma=512M"
+
+# Generate WIC image also
+#WKS_FILE = "imx-uboot.wks"
+AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap wic.xz.sha256sum"
+AGL_DEFAULT_INITRAMFS_FSTYPES := ""
index 4fa4221..640f9cf 100644 (file)
@@ -18,3 +18,8 @@ KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cfg80211.cfg"
 # (lock debugging and userspace firmware loader fallback)
 SRC_URI_append = " file://fixups.cfg"
 KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fixups.cfg"
+
+do_install_append_cubox-i() {
+    # Add symlink to work with default Hummingboard 2 u-boot configuration
+    ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb
+}
diff --git a/templates/machine/cubox-i/40_bblayers.conf.inc b/templates/machine/cubox-i/40_bblayers.conf.inc
new file mode 100644 (file)
index 0000000..a4323be
--- /dev/null
@@ -0,0 +1,6 @@
+# This must be parsed after qt5, etc. layers so that they are correctly
+# recognized by meta-freescale/dynamic-layers
+BBLAYERS =+ "\
+  ${METADIR}/bsp/meta-freescale \
+  ${METADIR}/bsp/meta-freescale-3rdparty \
+  "
diff --git a/templates/machine/cubox-i/50_local.conf.inc b/templates/machine/cubox-i/50_local.conf.inc
new file mode 100644 (file)
index 0000000..b0835bf
--- /dev/null
@@ -0,0 +1,4 @@
+MACHINE = "cubox-i"
+#see meta-agl/meta-agl-bsp/conf/include/agl_cubox-i.inc
+require conf/include/agl_cubox-i.inc
+
diff --git a/templates/machine/cubox-i/50_setup.sh b/templates/machine/cubox-i/50_setup.sh
new file mode 100644 (file)
index 0000000..bb22790
--- /dev/null
@@ -0,0 +1,2 @@
+find_and_ack_eula $METADIR/meta-freescale EULA
+export EULA_FLAG_NAME="ACCEPT_FSL_EULA"
diff --git a/templates/machine/nitrogen6x/40_bblayers.conf.inc b/templates/machine/nitrogen6x/40_bblayers.conf.inc
new file mode 100644 (file)
index 0000000..a4323be
--- /dev/null
@@ -0,0 +1,6 @@
+# This must be parsed after qt5, etc. layers so that they are correctly
+# recognized by meta-freescale/dynamic-layers
+BBLAYERS =+ "\
+  ${METADIR}/bsp/meta-freescale \
+  ${METADIR}/bsp/meta-freescale-3rdparty \
+  "
diff --git a/templates/machine/nitrogen6x/50_local.conf.inc b/templates/machine/nitrogen6x/50_local.conf.inc
new file mode 100644 (file)
index 0000000..f8178bb
--- /dev/null
@@ -0,0 +1,3 @@
+MACHINE = "nitrogen6x"
+#see meta-agl/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
+require conf/include/agl_nitrogen6x.inc
diff --git a/templates/machine/nitrogen6x/50_setup.sh b/templates/machine/nitrogen6x/50_setup.sh
new file mode 100644 (file)
index 0000000..bb22790
--- /dev/null
@@ -0,0 +1,2 @@
+find_and_ack_eula $METADIR/meta-freescale EULA
+export EULA_FLAG_NAME="ACCEPT_FSL_EULA"