From 602776c4baf5c2ffbb59bcc958b9b34c97f1b4d0 Mon Sep 17 00:00:00 2001 From: Eric Lee Date: Thu, 31 Jan 2019 21:27:58 +0800 Subject: [PATCH] Add console definition in machine file --- conf/machine/imx6q1gsmarc.conf | 2 + conf/machine/imx6q2gsmarc.conf | 2 + conf/machine/imx6qp1gsmarc.conf | 2 + conf/machine/imx6qp2gsmarc.conf | 2 + conf/machine/imx6solosmarc.conf | 2 + conf/machine/imx6u1gsmarc.conf | 2 + .../sysvinit/sysvinit-inittab/imxgpu2d/rc_gpu.S | 19 +++++++ .../sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S | 21 ++++++++ .../sysvinit/sysvinit-inittab_2.88dsf.bbappend | 58 ++++++++++++++++++++++ recipes-kernel/linux/linux-smarcfimx6_4.9.88.bb | 2 +- 10 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_gpu.S create mode 100755 recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S create mode 100644 recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend diff --git a/conf/machine/imx6q1gsmarc.conf b/conf/machine/imx6q1gsmarc.conf index 7c5c14e..0b167b6 100644 --- a/conf/machine/imx6q1gsmarc.conf +++ b/conf/machine/imx6q1gsmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6q:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/conf/machine/imx6q2gsmarc.conf b/conf/machine/imx6q2gsmarc.conf index 9aa063d..3d3a17b 100644 --- a/conf/machine/imx6q2gsmarc.conf +++ b/conf/machine/imx6q2gsmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6q:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/conf/machine/imx6qp1gsmarc.conf b/conf/machine/imx6qp1gsmarc.conf index 4d97293..d6f9029 100644 --- a/conf/machine/imx6qp1gsmarc.conf +++ b/conf/machine/imx6qp1gsmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6q:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/conf/machine/imx6qp2gsmarc.conf b/conf/machine/imx6qp2gsmarc.conf index a89692d..20eb969 100644 --- a/conf/machine/imx6qp2gsmarc.conf +++ b/conf/machine/imx6qp2gsmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6q:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/conf/machine/imx6solosmarc.conf b/conf/machine/imx6solosmarc.conf index 21c5624..8443a03 100644 --- a/conf/machine/imx6solosmarc.conf +++ b/conf/machine/imx6solosmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6dl:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/conf/machine/imx6u1gsmarc.conf b/conf/machine/imx6u1gsmarc.conf index 114fd32..e206424 100644 --- a/conf/machine/imx6u1gsmarc.conf +++ b/conf/machine/imx6u1gsmarc.conf @@ -9,6 +9,8 @@ MACHINEOVERRIDES =. "mx6:mx6dl:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc +SERIAL_CONSOLE = "115200 ttymxc4" + MACHINE_FEATURES += " screen usbgadget vfat ext2 bluetooth wifi pci alsa serial usbhost optee" # Use linux kernel SMARC-FiMX6 diff --git a/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_gpu.S b/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_gpu.S new file mode 100644 index 0000000..befbbe8 --- /dev/null +++ b/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_gpu.S @@ -0,0 +1,19 @@ +#!/bin/bash +CPUREV=$(cat /sys/devices/soc0/soc_id) +FILEVG=/usr/lib/libOpenVG.so +FILEVG3D=/usr/lib/libOpenVG.3d.so +FILEVG355=/usr/lib/libOpenVG.2d.so +if [ -e $FILEVG3D ] && [ -e $FILEVG355 ] +then + if [ -e $FILEVG ] + then + rm -f $FILEVG + fi + if [ $CPUREV == "i.MX6QP" ] || [ $CPUREV == "i.MX6Q" ] || [ $CPUREV == "i.MX6SL" ] + then + # Use GC355 VG + ln -s $FILEVG355 $FILEVG + else + ln -s $FILEVG3D $FILEVG + fi +fi diff --git a/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S b/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S new file mode 100755 index 0000000..5c740e5 --- /dev/null +++ b/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S @@ -0,0 +1,21 @@ +#!/bin/bash +# +if grep -sq ttymxc0 /proc/cmdline; then + /sbin/getty -L ttymxc0 115200 vt100 +elif grep -sq ttymxc1 /proc/cmdline; then + /sbin/getty -L ttymxc1 115200 vt100 +elif grep -sq ttymxc3 /proc/cmdline; then + /sbin/getty -L ttymxc3 115200 vt100 +elif grep -sq ttymxc4 /proc/cmdline; then + /sbin/getty -L ttymxc4 115200 vt100 +elif grep -sq ttyLP0 /proc/cmdline; then + /sbin/getty -L ttyLP0 115200 vt100 +elif grep -sq ttyLP1 /proc/cmdline; then + /sbin/getty -L ttyLP1 115200 vt100 +elif grep -sq ttyLP2 /proc/cmdline; then + /sbin/getty -L ttyLP2 115200 vt100 +elif grep -sq ttyLP3 /proc/cmdline; then + /sbin/getty -L ttyLP3 115200 vt100 +else + sleep 100000 +fi diff --git a/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend new file mode 100644 index 0000000..a0c34a1 --- /dev/null +++ b/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bbappend @@ -0,0 +1,58 @@ +# Freescale imx extra configuration +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +RDEPENDS_${PN} += " bash " + +SYSVINIT-GPU = " file://rc_mxc.S file://rc_gpu.S" + +SRC_URI_append_imxgpu2d = " ${SYSVINIT-GPU}" + +do_install_append_imxgpu2d() { + + install -d ${D}${sysconfdir} + + # Install rc_mxc.S to /etc/init.d + install -d ${D}${sysconfdir} ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/rc_mxc.S ${D}${sysconfdir}/init.d + + install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab + + echo "mxc::respawn:/etc/init.d/rc_mxc.S" >> ${D}${sysconfdir}/inittab + + tmp="${SERIAL_CONSOLES}" + for i in $tmp + do + j=`echo ${i} | sed s/\;/\ /g` + label=`echo ${i} | sed -e 's/^.*;tty//'` + # comment these lines off + echo "#$label:12345:respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab + done + + if [ "${USE_VT}" = "1" ]; then + cat <>${D}${sysconfdir}/inittab +# ${base_sbindir}/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# + +EOF + + for n in ${SYSVINIT_ENABLED_GETTYS} + do + echo "$n:2345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab + done + echo "" >> ${D}${sysconfdir}/inittab + fi + + # Install rc_gpu.S to /etc/init.d + echo "gpu::sysinit:/etc/init.d/rc_gpu.S" >> ${D}${sysconfdir}/inittab + install -m 0755 ${WORKDIR}/rc_gpu.S ${D}${sysconfdir}/init.d +} + +FILES_${PN}_append_imxgpu2d = " ${sysconfdir}/init.d/rc_mxc.S ${sysconfdir}/init.d/rc_gpu.S" + +PACKAGE_ARCH_imxgpu2d = "${MACHINE_ARCH}" diff --git a/recipes-kernel/linux/linux-smarcfimx6_4.9.88.bb b/recipes-kernel/linux/linux-smarcfimx6_4.9.88.bb index a98bcfb..65b8498 100644 --- a/recipes-kernel/linux/linux-smarcfimx6_4.9.88.bb +++ b/recipes-kernel/linux/linux-smarcfimx6_4.9.88.bb @@ -28,7 +28,7 @@ DEFCONFIG_mx6 = "smarcfimx6_defconfig" KERNEL_SRC ?= "git@git.embedian.com:developer/smarc-fsl-linux-kernel.git;protocol=git" SRC_URI = "${EMB_KERNEL_MIRROR};protocol=ssh;branch=${SRCBRANCH}" -SRCREV = "8feef65c1cb8a1699f4bc5d42f569b838e8f7d23" +SRCREV = "4b3fe740490221fc48c7f424a1e2e213b4874727" S = "${WORKDIR}/git" -- 1.9.1