From c6bbc9540d9cfe010611843592f2e06fdad79bda Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 09 Oct 2022 11:11:00 +0800
Subject: [PATCH] update honister and kirkstone to add overlays support in /boot
---
yocto/meta-igkboard/kirkstone/conf/machine/igkboard.conf | 2
yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend | 68 ++++++++
yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-nolcd.txt | 24 +++
yocto/meta-igkboard/honister/conf/machine/igkboard.conf | 2
yocto/meta-igkboard/honister/recipes-images/igkboard/linuxsys-image.bb | 61 +++----
yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-lcd.txt | 24 +++
yocto/meta-igkboard/kirkstone/recipes-images/igkboard/linuxsys-image.bb | 61 +++----
yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-nolcd.txt | 24 +++
yocto/meta-igkboard/honister/recipes-kernel/linux/linux-imx_5.15.bbappend | 72 +++++++++-
yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-lcd.txt | 24 +++
10 files changed, 280 insertions(+), 82 deletions(-)
diff --git a/yocto/meta-igkboard/honister/conf/machine/igkboard.conf b/yocto/meta-igkboard/honister/conf/machine/igkboard.conf
index c0da5ef..12b92b4 100644
--- a/yocto/meta-igkboard/honister/conf/machine/igkboard.conf
+++ b/yocto/meta-igkboard/honister/conf/machine/igkboard.conf
@@ -18,6 +18,8 @@
IMAGE_BOOT_FILES = " \
${KERNEL_IMAGETYPE} \
${KERNEL_DEVICETREE} \
+ overlays/*;overlays/ \
+ config-*.txt \
"
# Remove unused optee bcm4339 bcm43455
diff --git a/yocto/meta-igkboard/honister/recipes-images/igkboard/linuxsys-image.bb b/yocto/meta-igkboard/honister/recipes-images/igkboard/linuxsys-image.bb
index 1476a70..24f2e6c 100644
--- a/yocto/meta-igkboard/honister/recipes-images/igkboard/linuxsys-image.bb
+++ b/yocto/meta-igkboard/honister/recipes-images/igkboard/linuxsys-image.bb
@@ -9,50 +9,43 @@
## Select Image Features
IMAGE_FEATURES += " \
- ssh-server-openssh \
- package-management \
+ ssh-server-openssh \
+ package-management \
"
CORE_IMAGE_EXTRA_INSTALL += " \
- packagegroup-core-full-cmdline \
- packagegroup-tools-bluetooth \
- packagegroup-fsl-tools-audio \
- packagegroup-fsl-gstreamer1.0 \
- packagegroup-fsl-gstreamer1.0-full \
- packagegroup-qt6-imx \
- packagegroup-misc-utils \
- firmwared \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \
+ packagegroup-core-full-cmdline \
+ packagegroup-tools-bluetooth \
+ packagegroup-fsl-tools-audio \
+ packagegroup-fsl-gstreamer1.0 \
+ packagegroup-fsl-gstreamer1.0-full \
+ packagegroup-qt6-imx \
+ packagegroup-misc-utils \
+ firmwared \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \
"
CORE_IMAGE_EXTRA_INSTALL:append = " \
- bash \
- drivers-mods \
- hello-apps \
- gnupg \
- e2fsprogs \
- e2fsprogs-resize2fs \
- parted \
- v4l-utils \
- yavta \
- sudo \
- nano \
- hostapd \
- evtest \
- mtd-utils \
- libgpiod \
- i2c-tools \
- spitools \
- spidev-test \
- canutils \
- xz \
- udev-extraconf \
+ hello-apps \
+ bash bash-completion nano sudo \
+ curl tree xz dnsmasq gnupg git rsync \
+ e2fsprogs e2fsprogs-resize2fs parted \
+ v4l-utils zbar yavta fbgrab imagemagick \
+ mtd-utils evtest iperf3 iotop lsof \
+ mosquitto sqlite3 stunnel \
+ i2c-tools spitools spidev-test \
+ libgpiod libgpiod-tools \
+ libevent libconfig boost ldd \
+ libmodbus libsocketcan canutils \
+ wvdial ppp hostapd ntp iw \
+ nodejs nodejs-npm tcpdump \
+ udev-extraconf usb-modeswitch \
"
inherit extrausers
-# generate by printf "%q\n" $(mkpasswd -m sha256crypt 12345)
+# generate by printf "%q\n" $(mkpasswd -m sha256crypt 12345)
PASSWD= "\$5\$CZyCdtQE9Dp\$kuAmtCHtAv3X5gL1/imI.g1lf.JChVAEkdA3.8Yw8j8"
EXTRA_USERS_PARAMS = "\
- usermod -p '${PASSWD}' root; \
+ usermod -p '${PASSWD}' root; \
"
diff --git a/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-lcd.txt b/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-lcd.txt
new file mode 100644
index 0000000..352ae27
--- /dev/null
+++ b/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-lcd.txt
@@ -0,0 +1,24 @@
+# Enable LCD overlay
+dtoverlay_lcd=yes
+
+# Camera overlay
+dtoverlay_cam=yes
+
+# Enable I2C overlay
+dtoverlay_i2c1=yes
+
+# Enable SPI overlay, SPI1 conflict with UART8(NB-IoT/4G module)
+dtoverlay_spi1=yes
+
+# Enable UART overlay
+dtoverlay_uart=2 3 4 7
+
+# Enable CAN overlays
+dtoverlay_can=1 2
+
+# Enable PWM overlays, PWM8 conflict with UART8(NB-IoT/4G module)
+dtoverlay_pwm=7 8
+
+# Extra overlays
+#dtoverlay_extra=nbiot-4g
+
diff --git a/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-nolcd.txt b/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-nolcd.txt
new file mode 100644
index 0000000..af330ac
--- /dev/null
+++ b/yocto/meta-igkboard/honister/recipes-kernel/linux/files/config-nolcd.txt
@@ -0,0 +1,24 @@
+# Enable LCD overlay
+#dtoverlay_lcd=no
+
+# Enable Camera overlay
+#dtoverlay_cam=no
+
+# Enable I2C overlay
+dtoverlay_i2c1=yes
+
+# Enable SPI overlay, SPI1 conflict with UART8(NB-IoT/4G module)
+#dtoverlay_spi1=no
+
+# Enable UART overlays
+dtoverlay_uart=2 3 4 7
+
+# Enable CAN overlays
+dtoverlay_can=1 2
+
+# Enable PWM overlays, PWM8 conflict with UART8(NB-IoT/4G module)
+dtoverlay_pwm=7
+
+# Enable extra overlays
+dtoverlay_extra=nbiot-4g w1
+
diff --git a/yocto/meta-igkboard/honister/recipes-kernel/linux/linux-imx_5.15.bbappend b/yocto/meta-igkboard/honister/recipes-kernel/linux/linux-imx_5.15.bbappend
index 0c42ef4..ae9fdf2 100644
--- a/yocto/meta-igkboard/honister/recipes-kernel/linux/linux-imx_5.15.bbappend
+++ b/yocto/meta-igkboard/honister/recipes-kernel/linux/linux-imx_5.15.bbappend
@@ -1,5 +1,5 @@
# Copyright (C) 2022 LingYun IoT System Studio
-# Released under the GPLv2 license
+# Released under the GPLv2 license
#
# SPDX-License-Identifier: GPLv2
#
@@ -12,11 +12,7 @@
require recipes-kernel/linux/linux-yocto.inc
-SRCBRANCH = "lf-5.15.y"
-KERNEL_SRC = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-KBRANCH = "${SRCBRANCH}"
-SRC_URI = "${KERNEL_SRC}"
-
+# base: meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bb
# https://source.codeaurora.org/external/imx/linux-imx/tag/?h=lf-5.15.32-2.0.0
SRCREV = "fa6c3168595c02bd9d5366fcc28c9e7304947a3d"
LOCALVERSION = "-lf-5.15.32-2.0.0"
@@ -25,10 +21,70 @@
KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += " file://linux-imx-lf-5.15.32-2.0.0.patch "
+SRC_URI += " file://linux-imx-lf-5.15.32-2.0.0.patch \
+ file://config-lcd.txt \
+ file://config-nolcd.txt \
+ "
PATCHTOOL = "patch"
do_copy_defconfig:append() {
- cp ${S}/arch/arm/configs/igkboard_defconfig ${WORKDIR}/defconfig
+ cp ${S}/arch/arm/configs/igkboard_defconfig ${WORKDIR}/defconfig
cp ${S}/arch/arm/configs/igkboard_defconfig ${B}/.config
}
+
+KERNEL_DTC_FLAGS = "-@"
+
+KERNEL_DEVICETREE2 ?= ""
+KERNEL_DEVICETREE2:igkboard = " \
+ overlays/cam.dtbo \
+ overlays/can1.dtbo \
+ overlays/can2.dtbo \
+ overlays/i2c1.dtbo \
+ overlays/lcd.dtbo \
+ overlays/nbiot-4g.dtbo \
+ overlays/pwm7.dtbo \
+ overlays/pwm8.dtbo \
+ overlays/spi1.dtbo \
+ overlays/uart2.dtbo \
+ overlays/uart3.dtbo \
+ overlays/uart4.dtbo \
+ overlays/uart7.dtbo \
+ overlays/w1.dtbo \
+"
+
+# compile dtbo file, refer to: poky/meta/classes/kernel-devicetree.bbclass
+do_compile:append() {
+ if [ -n "${KERNEL_DTC_FLAGS}" ]; then
+ export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
+ fi
+
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ oe_runmake $dtb CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ done
+}
+
+# install to linux kernel package
+FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/overlays/*.dtbo"
+do_install:append() {
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ install -d ${D}/${KERNEL_IMAGEDEST}/overlays
+ install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${D}/${KERNEL_IMAGEDEST}/$dtb
+ done
+
+ install -m 0644 ${WORKDIR}/config-lcd.txt ${D}/${KERNEL_IMAGEDEST}/
+ install -m 0644 ${WORKDIR}/config-nolcd.txt ${D}/${KERNEL_IMAGEDEST}/
+}
+
+# install to deploy images path
+do_deploy:append(){
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ install -d ${deployDir}/overlays
+ install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${deployDir}/$dtb
+ done
+
+ install -m 0644 ${WORKDIR}/config-lcd.txt ${deployDir}/
+ install -m 0644 ${WORKDIR}/config-nolcd.txt ${deployDir}/
+}
diff --git a/yocto/meta-igkboard/kirkstone/conf/machine/igkboard.conf b/yocto/meta-igkboard/kirkstone/conf/machine/igkboard.conf
index c0da5ef..12b92b4 100644
--- a/yocto/meta-igkboard/kirkstone/conf/machine/igkboard.conf
+++ b/yocto/meta-igkboard/kirkstone/conf/machine/igkboard.conf
@@ -18,6 +18,8 @@
IMAGE_BOOT_FILES = " \
${KERNEL_IMAGETYPE} \
${KERNEL_DEVICETREE} \
+ overlays/*;overlays/ \
+ config-*.txt \
"
# Remove unused optee bcm4339 bcm43455
diff --git a/yocto/meta-igkboard/kirkstone/recipes-images/igkboard/linuxsys-image.bb b/yocto/meta-igkboard/kirkstone/recipes-images/igkboard/linuxsys-image.bb
index 1476a70..24f2e6c 100644
--- a/yocto/meta-igkboard/kirkstone/recipes-images/igkboard/linuxsys-image.bb
+++ b/yocto/meta-igkboard/kirkstone/recipes-images/igkboard/linuxsys-image.bb
@@ -9,50 +9,43 @@
## Select Image Features
IMAGE_FEATURES += " \
- ssh-server-openssh \
- package-management \
+ ssh-server-openssh \
+ package-management \
"
CORE_IMAGE_EXTRA_INSTALL += " \
- packagegroup-core-full-cmdline \
- packagegroup-tools-bluetooth \
- packagegroup-fsl-tools-audio \
- packagegroup-fsl-gstreamer1.0 \
- packagegroup-fsl-gstreamer1.0-full \
- packagegroup-qt6-imx \
- packagegroup-misc-utils \
- firmwared \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \
+ packagegroup-core-full-cmdline \
+ packagegroup-tools-bluetooth \
+ packagegroup-fsl-tools-audio \
+ packagegroup-fsl-gstreamer1.0 \
+ packagegroup-fsl-gstreamer1.0-full \
+ packagegroup-qt6-imx \
+ packagegroup-misc-utils \
+ firmwared \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \
"
CORE_IMAGE_EXTRA_INSTALL:append = " \
- bash \
- drivers-mods \
- hello-apps \
- gnupg \
- e2fsprogs \
- e2fsprogs-resize2fs \
- parted \
- v4l-utils \
- yavta \
- sudo \
- nano \
- hostapd \
- evtest \
- mtd-utils \
- libgpiod \
- i2c-tools \
- spitools \
- spidev-test \
- canutils \
- xz \
- udev-extraconf \
+ hello-apps \
+ bash bash-completion nano sudo \
+ curl tree xz dnsmasq gnupg git rsync \
+ e2fsprogs e2fsprogs-resize2fs parted \
+ v4l-utils zbar yavta fbgrab imagemagick \
+ mtd-utils evtest iperf3 iotop lsof \
+ mosquitto sqlite3 stunnel \
+ i2c-tools spitools spidev-test \
+ libgpiod libgpiod-tools \
+ libevent libconfig boost ldd \
+ libmodbus libsocketcan canutils \
+ wvdial ppp hostapd ntp iw \
+ nodejs nodejs-npm tcpdump \
+ udev-extraconf usb-modeswitch \
"
inherit extrausers
-# generate by printf "%q\n" $(mkpasswd -m sha256crypt 12345)
+# generate by printf "%q\n" $(mkpasswd -m sha256crypt 12345)
PASSWD= "\$5\$CZyCdtQE9Dp\$kuAmtCHtAv3X5gL1/imI.g1lf.JChVAEkdA3.8Yw8j8"
EXTRA_USERS_PARAMS = "\
- usermod -p '${PASSWD}' root; \
+ usermod -p '${PASSWD}' root; \
"
diff --git a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-lcd.txt b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-lcd.txt
new file mode 100644
index 0000000..352ae27
--- /dev/null
+++ b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-lcd.txt
@@ -0,0 +1,24 @@
+# Enable LCD overlay
+dtoverlay_lcd=yes
+
+# Camera overlay
+dtoverlay_cam=yes
+
+# Enable I2C overlay
+dtoverlay_i2c1=yes
+
+# Enable SPI overlay, SPI1 conflict with UART8(NB-IoT/4G module)
+dtoverlay_spi1=yes
+
+# Enable UART overlay
+dtoverlay_uart=2 3 4 7
+
+# Enable CAN overlays
+dtoverlay_can=1 2
+
+# Enable PWM overlays, PWM8 conflict with UART8(NB-IoT/4G module)
+dtoverlay_pwm=7 8
+
+# Extra overlays
+#dtoverlay_extra=nbiot-4g
+
diff --git a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-nolcd.txt b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-nolcd.txt
new file mode 100644
index 0000000..af330ac
--- /dev/null
+++ b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/files/config-nolcd.txt
@@ -0,0 +1,24 @@
+# Enable LCD overlay
+#dtoverlay_lcd=no
+
+# Enable Camera overlay
+#dtoverlay_cam=no
+
+# Enable I2C overlay
+dtoverlay_i2c1=yes
+
+# Enable SPI overlay, SPI1 conflict with UART8(NB-IoT/4G module)
+#dtoverlay_spi1=no
+
+# Enable UART overlays
+dtoverlay_uart=2 3 4 7
+
+# Enable CAN overlays
+dtoverlay_can=1 2
+
+# Enable PWM overlays, PWM8 conflict with UART8(NB-IoT/4G module)
+dtoverlay_pwm=7
+
+# Enable extra overlays
+dtoverlay_extra=nbiot-4g w1
+
diff --git a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
index f3adf5c..ae9fdf2 100644
--- a/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
+++ b/yocto/meta-igkboard/kirkstone/recipes-kernel/linux/linux-imx_5.15.bbappend
@@ -12,11 +12,7 @@
require recipes-kernel/linux/linux-yocto.inc
-SRCBRANCH = "lf-5.15.y"
-KERNEL_SRC = "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
-KBRANCH = "${SRCBRANCH}"
-SRC_URI = "${KERNEL_SRC}"
-
+# base: meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bb
# https://source.codeaurora.org/external/imx/linux-imx/tag/?h=lf-5.15.32-2.0.0
SRCREV = "fa6c3168595c02bd9d5366fcc28c9e7304947a3d"
LOCALVERSION = "-lf-5.15.32-2.0.0"
@@ -25,10 +21,70 @@
KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += " file://linux-imx-lf-5.15.32-2.0.0.patch "
+SRC_URI += " file://linux-imx-lf-5.15.32-2.0.0.patch \
+ file://config-lcd.txt \
+ file://config-nolcd.txt \
+ "
PATCHTOOL = "patch"
do_copy_defconfig:append() {
cp ${S}/arch/arm/configs/igkboard_defconfig ${WORKDIR}/defconfig
cp ${S}/arch/arm/configs/igkboard_defconfig ${B}/.config
}
+
+KERNEL_DTC_FLAGS = "-@"
+
+KERNEL_DEVICETREE2 ?= ""
+KERNEL_DEVICETREE2:igkboard = " \
+ overlays/cam.dtbo \
+ overlays/can1.dtbo \
+ overlays/can2.dtbo \
+ overlays/i2c1.dtbo \
+ overlays/lcd.dtbo \
+ overlays/nbiot-4g.dtbo \
+ overlays/pwm7.dtbo \
+ overlays/pwm8.dtbo \
+ overlays/spi1.dtbo \
+ overlays/uart2.dtbo \
+ overlays/uart3.dtbo \
+ overlays/uart4.dtbo \
+ overlays/uart7.dtbo \
+ overlays/w1.dtbo \
+"
+
+# compile dtbo file, refer to: poky/meta/classes/kernel-devicetree.bbclass
+do_compile:append() {
+ if [ -n "${KERNEL_DTC_FLAGS}" ]; then
+ export DTC_FLAGS="${KERNEL_DTC_FLAGS}"
+ fi
+
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ oe_runmake $dtb CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ done
+}
+
+# install to linux kernel package
+FILES:${KERNEL_PACKAGE_NAME}-devicetree += "/${KERNEL_IMAGEDEST}/overlays/*.dtbo"
+do_install:append() {
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ install -d ${D}/${KERNEL_IMAGEDEST}/overlays
+ install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${D}/${KERNEL_IMAGEDEST}/$dtb
+ done
+
+ install -m 0644 ${WORKDIR}/config-lcd.txt ${D}/${KERNEL_IMAGEDEST}/
+ install -m 0644 ${WORKDIR}/config-nolcd.txt ${D}/${KERNEL_IMAGEDEST}/
+}
+
+# install to deploy images path
+do_deploy:append(){
+ for dtbf in ${KERNEL_DEVICETREE2}; do
+ dtb=`normalize_dtb "$dtbf"`
+ install -d ${deployDir}/overlays
+ install -m 0644 ${B}/arch/arm/boot/dts/$dtb ${deployDir}/$dtb
+ done
+
+ install -m 0644 ${WORKDIR}/config-lcd.txt ${deployDir}/
+ install -m 0644 ${WORKDIR}/config-nolcd.txt ${deployDir}/
+}
--
Gitblit v1.9.1