凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2023-03-30 9c222f3844cd06ce2d59511a01dcbfca8ad8e762
bsp/kernel/patch/linux-imx-lf-5.15.32-2.0.0.patch
@@ -1,7 +1,7 @@
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/igkboard.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/igkboard.dts   2022-09-04 20:14:37.277129185 +0800
@@ -0,0 +1,603 @@
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts   2022-11-28 06:04:24.463613926 -0800
@@ -0,0 +1,609 @@
+/*
+ * Device Tree Source for LingYun IGKBoard(IoT Gateway Kit Board)
+ * Based on imx6ul-14x14-evk.dts/imx6ul-14x14-evk.dtsi
@@ -141,7 +141,7 @@
+      brightness-levels = <0 4 8 16 32 64 128 255>;
+      default-brightness-level = <7>;
+      power-supply = <&reg_3p3v>;
+      status = "disabled"; /* Enable in LCD overlay */
+      status = "disabled";
+   };
+
+    /* 1-Wire sentinel for overlay */
@@ -168,6 +168,11 @@
+      audio-asrc = <&asrc>;
+      audio-codec = <&mqs>;
+      status = "okay";
+   };
+
+   /* LCD panel sentinel for overlay */
+   panel: panel {
+      status = "disabled";
+   };
+
+};
@@ -197,16 +202,16 @@
+   status = "okay";
+};
+
+&pwm2 {
+&pwm2 {
+   #pwm-cells = <2>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_pwm2>;
+   status = "okay";
+};
+
+// /*+---------------+
+//   | Camera Module |
+//   +---------------+*/
+/*+---------------+
+  | Camera Module |
+  +---------------+*/
+
+&i2c2 {
+   clock-frequency = <100000>;
@@ -490,7 +495,7 @@
+
+   pinctrl_pwm1: pwm1grp {
+      fsl,pins = <
+         MX6UL_PAD_GPIO1_IO08__PWM1_OUT         0x110b0
+         MX6UL_PAD_GPIO1_IO08__PWM1_OUT         0x110b0
+      >;
+   };
+
@@ -521,7 +526,7 @@
+         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1    0x17059
+         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2    0x17059
+         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3    0x17059
+         MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x17059
+         MX6UL_PAD_UART1_RTS_B__GPIO1_IO19       0x17059
+      >;
+   };
+
@@ -605,10 +610,10 @@
+   };   
+
+};
\ No newline at end of file
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/Makefile linux-imx-lf-5.15.32-2.0.0/arch/arm/boot/dts/Makefile
--- linux-imx/arch/arm/boot/dts/Makefile   2022-07-22 03:24:17.000000000 +0800
+++ linux-imx-lf-5.15.32-2.0.0/arch/arm/boot/dts/Makefile   2022-09-04 20:14:37.277129185 +0800
+
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   2022-11-28 06:08:27.847623408 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile   2022-11-28 06:04:23.919613905 -0800
@@ -1586,3 +1586,6 @@
    aspeed-bmc-portwell-neptune.dtb \
    aspeed-bmc-quanta-q71l.dtb \
@@ -616,9 +621,40 @@
+DTC_FLAGS_igkboard := -@
+dtb-$(CONFIG_SOC_IMX6UL) += igkboard.dtb
+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.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/cam.dts   2022-09-04 20:14:37.285129086 +0800
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/adc.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/adc.dts
--- linux-imx/arch/arm/boot/dts/overlays/adc.dts   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/adc.dts   2022-11-28 06:04:26.879614021 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
+ * Author:  Guo Wenxue<guowenxue@gmail.com>
+ */
+/dts-v1/;
+/plugin/;
+
+#include "../imx6ul-pinfunc.h"
+
+/* 40-pin extended GPIO, ADC interfaces */
+
+&adc1 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&pinctrl_adc1>;
+    num-channels = <5>;
+    vref-supply = <&reg_peri_3v3>;
+    status = "okay";
+};
+
+&iomuxc {
+    pinctrl_adc1: adc1grp {
+        fsl,pins = <
+            MX6UL_PAD_GPIO1_IO01__GPIO1_IO01        0xb0 /* ADC1_1 --->TS_YN */
+            MX6UL_PAD_GPIO1_IO04__GPIO1_IO04        0xb0 /* ADC1_4 --->TS_XP */
+        >;
+    };
+};
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts   2022-11-28 06:04:26.883614021 -0800
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -644,9 +680,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/can1.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/can1.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts   2022-11-28 06:04:26.883614021 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -676,9 +712,9 @@
+   };   
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/can2.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/can2.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts   2022-11-28 06:04:26.883614021 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -708,9 +744,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/i2c1.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/i2c1.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts   2022-11-28 06:04:26.887614021 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -740,9 +776,96 @@
+   };   
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/lcd.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/lcd.dts   2022-09-04 20:14:37.285129086 +0800
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/lcd_drm.dts linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd_drm.dts
--- linux-imx/arch/arm/boot/dts/overlays/lcd_drm.dts   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd_drm.dts   2022-11-28 06:04:26.887614021 -0800
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
+ * Author:  Guo Wenxue<guowenxue@gmail.com>
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/imx6ul-clock.h>
+#include "../imx6ul-pinfunc.h"
+
+/* LCD DRM display overlay */
+
+&backlight_lcd {
+   status = "okay";
+};
+
+&i2c2 {
+   gt9xx@5d {
+      status = "okay";
+   };
+};
+
+&lcdif {
+   assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
+   assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_lcdif_dat &pinctrl_lcdif_ctrl>;
+   status = "okay";
+
+   port {
+      display_output: endpoint {
+         remote-endpoint = <&panel_input>;
+      };
+   };
+};
+
+&panel {
+   compatible = "fsl,imx6ull-panel", "panel-simple";
+   backlight = <&backlight_lcd>;
+   power-supply = <&reg_3p3v>;
+   status = "okay";
+
+    port {
+        panel_input: endpoint {
+            remote-endpoint = <&display_output>;
+        };
+    };
+};
+
+&iomuxc {
+   pinctrl_lcdif_dat: lcdifdatgrp {
+      fsl,pins = <
+         MX6UL_PAD_LCD_DATA00__LCDIF_DATA00   0x79
+         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01   0x79
+         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02   0x79
+         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03   0x79
+         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04   0x79
+         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05   0x79
+         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06   0x79
+         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07   0x79
+         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08   0x79
+         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09   0x79
+         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10   0x79
+         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11   0x79
+         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12   0x79
+         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13   0x79
+         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14   0x79
+         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15   0x79
+      >;
+   };
+
+   pinctrl_lcdif_ctrl: lcdifctrlgrp {
+      fsl,pins = <
+         MX6UL_PAD_LCD_CLK__LCDIF_CLK      0x79
+         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE   0x79
+         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC   0x79
+         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC   0x79
+         MX6UL_PAD_LCD_RESET__LCDIF_RESET   0x79
+      >;
+   };
+};
+
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts   2022-11-28 06:04:26.887614021 -0800
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -833,10 +956,10 @@
+      >;
+   };
+};
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/Makefile linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/Makefile   2022-09-04 20:14:37.285129086 +0800
@@ -0,0 +1,18 @@
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile   2022-11-28 06:04:26.879614021 -0800
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0
+# required for overlay support
+
@@ -855,10 +978,11 @@
+dtb-y += lcd.dtbo
+dtb-y += cam.dtbo
+dtb-y += nbiot-4g.dtbo
\ No newline at end of file
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/nbiot-4g.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/nbiot-4g.dts   2022-09-04 20:14:37.285129086 +0800
+dtb-y += adc.dtbo
+dtb-y += lcd_drm.dtbo
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/nbiot-4g.dts   2022-11-28 06:04:26.891614021 -0800
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -894,9 +1018,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/pwm7.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/pwm7.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts   2022-11-28 06:04:26.891614021 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -926,9 +1050,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/pwm8.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/pwm8.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts   2022-11-28 06:04:26.895614021 -0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -958,9 +1082,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/spi1.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/spi1.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts   2022-11-28 06:04:26.895614021 -0800
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1001,9 +1125,9 @@
+      >;
+   };   
+};
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart2.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/uart2.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts   2022-11-28 06:04:26.895614021 -0800
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1031,9 +1155,9 @@
+      >;
+   };
+};
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart3.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/uart3.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts   2022-11-28 06:04:26.899614021 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1062,9 +1186,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart4.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/uart4.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts   2022-11-28 06:04:26.899614021 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1093,9 +1217,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/uart7.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/uart7.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts   2022-11-28 06:04:26.899614021 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1124,9 +1248,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/boot/dts/overlays/w1.dts linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/boot/dts/overlays/w1.dts   2022-09-04 20:14:37.285129086 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/w1.dts   2022-11-28 06:04:26.903614021 -0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1159,9 +1283,9 @@
+   };
+};
+
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/arch/arm/configs/igkboard_defconfig linux-imx-lf-5.15.32-2.0.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.15.32-2.0.0/arch/arm/configs/igkboard_defconfig   2022-09-22 21:44:18.136657352 +0800
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   1969-12-31 16:00:00.000000000 -0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig   2022-11-28 06:04:27.851614058 -0800
@@ -0,0 +1,587 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
@@ -1750,15 +1874,91 @@
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_FTRACE is not set
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/Makefile linux-imx-lf-5.15.32-2.0.0/Makefile
--- linux-imx/Makefile   2022-07-22 03:24:17.000000000 +0800
+++ linux-imx-lf-5.15.32-2.0.0/Makefile   2022-09-22 21:40:24.053255857 +0800
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/gpu/drm/mxsfb/mxsfb_drv.c linux-imx-lf-5.10.52-2.1.0/drivers/gpu/drm/mxsfb/mxsfb_drv.c
--- linux-imx/drivers/gpu/drm/mxsfb/mxsfb_drv.c   2022-11-28 06:08:47.387624169 -0800
+++ linux-imx-lf-5.10.52-2.1.0/drivers/gpu/drm/mxsfb/mxsfb_drv.c   2022-11-28 06:04:49.967614920 -0800
@@ -407,7 +407,7 @@
    .probe      = mxsfb_probe,
    .remove      = mxsfb_remove,
    .driver   = {
-      .name      = "mxsfb",
+      .name      = "mxsfb-drm",
       .of_match_table   = mxsfb_dt_ids,
       .pm      = &mxsfb_pm_ops,
    },
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/gpu/drm/panel/panel-simple.c linux-imx-lf-5.10.52-2.1.0/drivers/gpu/drm/panel/panel-simple.c
--- linux-imx/drivers/gpu/drm/panel/panel-simple.c   2022-11-28 06:08:48.747624222 -0800
+++ linux-imx-lf-5.10.52-2.1.0/drivers/gpu/drm/panel/panel-simple.c   2022-11-28 06:04:51.015614961 -0800
@@ -4502,8 +4502,37 @@
    .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
+static const struct drm_display_mode fsl_imx6ull_panel_mode[] = {
+   {
+      .clock = 30000,
+      .hdisplay = 800,
+      .hsync_start = 800 + 40,
+      .hsync_end = 800 + 40 + 48,
+      .htotal = 800 + 40 + 48 + 88,
+      .vdisplay = 480,
+      .vsync_start = 480 + 13,
+      .vsync_end = 480 + 13 + 3,
+      .vtotal = 480 + 13 + 3 + 32,
+      .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+   },
+};
+
+static const struct panel_desc fsl_imx6ull_panel = {
+   .modes = fsl_imx6ull_panel_mode,
+   .num_modes = 1,
+   .bpc = 8,
+   .size = {
+      .width = 110,
+      .height = 60,
+   },
+   .bus_format = MEDIA_BUS_FMT_RGB565_1X16,
+};
+
 static const struct of_device_id platform_of_match[] = {
    {
+      .compatible = "fsl,imx6ull-panel",
+      .data = &fsl_imx6ull_panel,
+   }, {
       .compatible = "ampire,am-1280800n3tzqw-t00h",
       .data = &ampire_am_1280800n3tzqw_t00h,
    }, {
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   2022-11-28 06:09:10.931625086 -0800
+++ linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c   2022-11-28 06:05:23.943616244 -0800
@@ -552,6 +552,7 @@
    if (!state.period && (data->pwm_period_ns > 0))
       state.period = data->pwm_period_ns;
+   state.enabled = true; /*  Add by guowenxue to enalbe backlight as default */
    ret = pwm_apply_state(pb->pwm, &state);
    if (ret) {
       dev_err(&pdev->dev, "failed to apply initial PWM state: %d\n",
diff -Nuar --no-dereference -x logo_linux_clut224.ppm linux-imx/drivers/video/fbdev/mxsfb.c linux-imx-lf-5.10.52-2.1.0/drivers/video/fbdev/mxsfb.c
--- linux-imx/drivers/video/fbdev/mxsfb.c   2022-11-28 06:09:11.115625093 -0800
+++ linux-imx-lf-5.10.52-2.1.0/drivers/video/fbdev/mxsfb.c   2022-11-28 06:05:24.299616257 -0800
@@ -1586,7 +1586,7 @@
 static const struct of_device_id mxsfb_dt_ids[] = {
    { .compatible = "fsl,imx23-lcdif", .data = &mxsfb_devtype[0], },
-   { .compatible = "fsl,imx28-lcdif", .data = &mxsfb_devtype[1], },
+   // { .compatible = "fsl,imx28-lcdif", .data = &mxsfb_devtype[1], },
    { .compatible = "fsl,imx7ulp-lcdif", .data = &mxsfb_devtype[2], },
    { /* sentinel */ }
 };
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   2022-11-28 06:08:27.447623392 -0800
+++ linux-imx-lf-5.10.52-2.1.0/Makefile   2022-11-28 06:04:21.247613801 -0800
@@ -382,6 +382,8 @@
 # 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 ?= /opt/gcc-arm-10.3-2021.07/bin/arm-none-linux-gnueabihf-
 
 # Architecture as present in compile.h
 UTS_MACHINE    := $(ARCH)