From 614d7a954dfbdeaa55500e0ba223b6899a1c7eda Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 09 Oct 2022 14:04:22 +0800
Subject: [PATCH] update hardknott to add overlays support in /boot

---
 yocto/meta-igkboard/hardknott/recipes-images/igkboard/linuxsys-image.bb                   |    2 
 yocto/meta-igkboard/hardknott/conf/machine/igkboard.conf                                  |    2 
 yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/config-lcd.txt                   |   24 ++++++++
 yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/linux-imx-lf-5.10.52-2.1.0.patch |   62 ++++++++++++--------
 yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend                |   62 ++++++++++++++++++++
 yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/config-nolcd.txt                 |   24 ++++++++
 6 files changed, 148 insertions(+), 28 deletions(-)

diff --git a/yocto/meta-igkboard/hardknott/conf/machine/igkboard.conf b/yocto/meta-igkboard/hardknott/conf/machine/igkboard.conf
index 5d27e11..fd244cf 100644
--- a/yocto/meta-igkboard/hardknott/conf/machine/igkboard.conf
+++ b/yocto/meta-igkboard/hardknott/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/hardknott/recipes-images/igkboard/linuxsys-image.bb b/yocto/meta-igkboard/hardknott/recipes-images/igkboard/linuxsys-image.bb
index fda0d8e..09057c7 100644
--- a/yocto/meta-igkboard/hardknott/recipes-images/igkboard/linuxsys-image.bb
+++ b/yocto/meta-igkboard/hardknott/recipes-images/igkboard/linuxsys-image.bb
@@ -26,7 +26,7 @@
 "
 
 CORE_IMAGE_EXTRA_INSTALL:append = " \
-    drivers-mods hello-apps \
+    hello-apps \
     bash bash-completion nano sudo \
     curl tree xz dnsmasq gnupg git rsync \
     e2fsprogs e2fsprogs-resize2fs parted \
diff --git a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/config-lcd.txt b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/config-lcd.txt
new file mode 100644
index 0000000..352ae27
--- /dev/null
+++ b/yocto/meta-igkboard/hardknott/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/hardknott/recipes-kernel/linux/files/config-nolcd.txt b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/config-nolcd.txt
new file mode 100644
index 0000000..af330ac
--- /dev/null
+++ b/yocto/meta-igkboard/hardknott/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/hardknott/recipes-kernel/linux/files/linux-imx-lf-5.10.52-2.1.0.patch b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/linux-imx-lf-5.10.52-2.1.0.patch
index 0e14b5c..8037445 100644
--- a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/linux-imx-lf-5.10.52-2.1.0.patch
+++ b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/files/linux-imx-lf-5.10.52-2.1.0.patch
@@ -1,6 +1,6 @@
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/igkboard.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts
 --- linux-imx/arch/arm/boot/dts/igkboard.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts	2022-10-09 13:19:22.622732242 +0800
 @@ -0,0 +1,608 @@
 +/*
 + * Device Tree Source for LingYun IGKBoard(IoT Gateway Kit Board)
@@ -612,7 +612,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/Makefile linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile
 --- linux-imx/arch/arm/boot/dts/Makefile	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile	2022-10-09 13:19:22.622732242 +0800
 @@ -1490,3 +1490,6 @@
  	aspeed-bmc-opp-zaius.dtb \
  	aspeed-bmc-portwell-neptune.dtb \
@@ -622,7 +622,7 @@
 +subdir-$(CONFIG_SOC_IMX6UL) += overlays
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/cam.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts
 --- linux-imx/arch/arm/boot/dts/overlays/cam.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,24 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -650,7 +650,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/can1.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts
 --- linux-imx/arch/arm/boot/dts/overlays/can1.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,28 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -682,7 +682,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/can2.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts
 --- linux-imx/arch/arm/boot/dts/overlays/can2.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,28 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -714,7 +714,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/i2c1.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts
 --- linux-imx/arch/arm/boot/dts/overlays/i2c1.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,28 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -746,7 +746,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/lcd.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts
 --- linux-imx/arch/arm/boot/dts/overlays/lcd.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,89 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -839,7 +839,7 @@
 +};
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/Makefile linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile
 --- linux-imx/arch/arm/boot/dts/overlays/Makefile	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,20 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -863,7 +863,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/nbiot-4g.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/nbiot-4g.dts
 --- linux-imx/arch/arm/boot/dts/overlays/nbiot-4g.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/nbiot-4g.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/nbiot-4g.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,34 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -901,7 +901,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/pwm7.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts
 --- linux-imx/arch/arm/boot/dts/overlays/pwm7.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,28 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -933,7 +933,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/pwm8.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts
 --- linux-imx/arch/arm/boot/dts/overlays/pwm8.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,28 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -965,7 +965,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/spi1.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts
 --- linux-imx/arch/arm/boot/dts/overlays/spi1.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,39 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1008,7 +1008,7 @@
 +};
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart2.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts
 --- linux-imx/arch/arm/boot/dts/overlays/uart2.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,26 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1038,7 +1038,7 @@
 +};
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart3.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts
 --- linux-imx/arch/arm/boot/dts/overlays/uart3.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,27 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1069,7 +1069,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart4.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts
 --- linux-imx/arch/arm/boot/dts/overlays/uart4.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,27 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1100,7 +1100,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart7.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts
 --- linux-imx/arch/arm/boot/dts/overlays/uart7.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,27 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1131,7 +1131,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/w1.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/w1.dts
 --- linux-imx/arch/arm/boot/dts/overlays/w1.dts	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/w1.dts	2022-07-20 19:47:14.215487408 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/w1.dts	2022-10-09 13:19:22.626732206 +0800
 @@ -0,0 +1,31 @@
 +/*
 + * Copyright (C) 2022 LingYun IoT System Studio
@@ -1166,7 +1166,7 @@
 +
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/configs/igkboard_defconfig linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig
 --- linux-imx/arch/arm/configs/igkboard_defconfig	1970-01-01 08:00:00.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig	2022-07-24 10:47:11.013928964 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig	2022-10-09 13:20:51.349955648 +0800
 @@ -0,0 +1,726 @@
 +CONFIG_KERNEL_LZO=y
 +CONFIG_SYSVIPC=y
@@ -1896,7 +1896,7 @@
 +# CONFIG_FTRACE is not set
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/bluetooth/btrtl.c linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btrtl.c
 --- linux-imx/drivers/bluetooth/btrtl.c	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btrtl.c	2022-07-24 10:55:55.972627066 +0800
++++ linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btrtl.c	2022-10-09 13:19:22.626732206 +0800
 @@ -136,12 +136,12 @@
  	  .fw_name  = "rtl_bt/rtl8761a_fw.bin",
  	  .cfg_name = "rtl_bt/rtl8761a_config" },
@@ -1915,7 +1915,7 @@
  	{ .match_flags = IC_MATCH_FL_LMPSUBV | IC_MATCH_FL_HCIREV |
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/bluetooth/btusb.c linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btusb.c
 --- linux-imx/drivers/bluetooth/btusb.c	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btusb.c	2022-07-24 10:55:27.392918113 +0800
++++ linux-imx-lf-5.10.52-2.1.0/drivers/bluetooth/btusb.c	2022-10-09 13:19:22.626732206 +0800
 @@ -419,6 +419,9 @@
  	{ USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK },
  	{ USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK },
@@ -1928,7 +1928,7 @@
  	{ USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/video/backlight/pwm_bl.c linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c
 --- linux-imx/drivers/video/backlight/pwm_bl.c	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c	2022-07-20 19:47:14.219487363 +0800
++++ linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c	2022-10-09 13:19:22.626732206 +0800
 @@ -558,6 +558,7 @@
  	if (!state.period && (data->pwm_period_ns > 0))
  		state.period = data->pwm_period_ns;
@@ -1939,18 +1939,28 @@
  		dev_err(&pdev->dev, "failed to apply initial PWM state: %d\n",
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/Makefile linux-imx-lf-5.10.52-2.1.0/Makefile
 --- linux-imx/Makefile	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/Makefile	2022-07-24 10:36:33.204084146 +0800
++++ linux-imx-lf-5.10.52-2.1.0/Makefile	2022-10-09 13:20:41.118045212 +0800
 @@ -367,7 +367,8 @@
  # Alternatively CROSS_COMPILE can be set in the environment.
  # Default value for CROSS_COMPILE is not to prefix executables
  # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
 -ARCH		?= $(SUBARCH)
 +ARCH		?= arm
-+CROSS_COMPILE?=/opt/buildroot/cortexA7/bin/arm-linux-
++CROSS_COMPILE ?= arm-linux-gnueabihf-
 
  # Architecture as present in compile.h
  UTS_MACHINE 	:= $(ARCH)
-@@ -1833,6 +1834,7 @@
+@@ -1353,6 +1354,9 @@
+ %.dtb: include/config/kernel.release scripts_dtc
+ 	$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
++%.dtbo: include/config/kernel.release scripts_dtc
++	$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
++
+ PHONY += dtbs dtbs_install dtbs_check
+ dtbs: include/config/kernel.release scripts_dtc
+ 	$(Q)$(MAKE) $(build)=$(dtstree)
+@@ -1833,6 +1837,7 @@
  		\( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
  		-o -name '*.ko.*' \
  		-o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
@@ -1960,7 +1970,7 @@
  		-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/scripts/Makefile.lib linux-imx-lf-5.10.52-2.1.0/scripts/Makefile.lib
 --- linux-imx/scripts/Makefile.lib	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/scripts/Makefile.lib	2022-07-20 19:47:14.223487317 +0800
++++ linux-imx-lf-5.10.52-2.1.0/scripts/Makefile.lib	2022-10-09 13:19:22.630732171 +0800
 @@ -325,6 +325,16 @@
  $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE
  	$(call if_changed_dep,dtc)
@@ -1980,7 +1990,7 @@
  # DT_TMP_SCHEMA may be overridden from Documentation/devicetree/bindings/Makefile
 diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/sound/soc/fsl/fsl_sai.c linux-imx-lf-5.10.52-2.1.0/sound/soc/fsl/fsl_sai.c
 --- linux-imx/sound/soc/fsl/fsl_sai.c	2021-09-08 18:41:11.000000000 +0800
-+++ linux-imx-lf-5.10.52-2.1.0/sound/soc/fsl/fsl_sai.c	2022-07-20 19:47:14.227487272 +0800
++++ linux-imx-lf-5.10.52-2.1.0/sound/soc/fsl/fsl_sai.c	2022-10-09 13:19:22.630732171 +0800
 @@ -1349,7 +1349,7 @@
  		sai->bus_clk = NULL;
  	}
diff --git a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
index 0101b98..49691fd 100644
--- a/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
+++ b/yocto/meta-igkboard/hardknott/recipes-kernel/linux/linux-imx_5.10.bbappend
@@ -21,10 +21,70 @@
 KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " file://linux-imx-lf-5.10.52-2.1.0.patch "
+SRC_URI += " file://linux-imx-lf-5.10.52-2.1.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