凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2022-07-20 737608770cbb6c9df43436595e07a7fb70172895
bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.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.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-19 21:18:02.057239328 +0800
@@ -0,0 +1,597 @@
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts   2022-07-20 19:27:26.940869752 +0800
@@ -0,0 +1,608 @@
+/*
+ * Device Tree Source for LingYun IGKBoard(IoT Gateway Kit Board)
+ * Based on imx6ul-14x14-evk.dts/imx6ul-14x14-evk.dtsi
@@ -277,16 +277,27 @@
+  | Audio Module |
+  +--------------+*/
+
+/* Refrence: https://www.toradex.com/zh-cn/blog/colibri-imx6ull-kuo-zhan-yin-pin-jie-ma-qi-max98357a
+ * +--------------------+--------------------+-----------------------+---------------------+
+ * | Audio Sample Rates |      Bit Clock     |  PLL4_AUDIO_DIV(512)  |    CLK_SAI1(/16)    |
+ * +--------------------+--------------------+-----------------------+---------------------+
+ * | 16bit,2Ch,48KHz    | 16x2x48000=1536000 | 1536000x512=786432000 | 1536000x16=24576000 |
+ * +--------------------+--------------------+-----------------------+---------------------+
+ * | 16bit,2Ch,44.1KHz  | 16x2x44100=1411200 | 1411200x512=722534400 | 1411200x16=22579200 |
+ * +--------------------+--------------------+-----------------------+---------------------+
+ */
+
+&clks {
+   assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
+   assigned-clock-rates = <786432000>;
+   //assigned-clock-rates = <786432000>; // 16bit,2Ch,48KHz
+   assigned-clock-rates = <722534400>; // 16bit,2Ch,44.1KHz
+};
+
+&sai1 {
+   assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,
+           <&clks IMX6UL_CLK_SAI1>;
+   assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>, <&clks IMX6UL_CLK_SAI1>;
+   assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
+   assigned-clock-rates = <0>, <24576000>;
+   //assigned-clock-rates = <0>, <24576000>; // 16bit,2Ch,48KHz
+   assigned-clock-rates = <0>, <22579200>; // 16bit,2Ch,44.1KHz
+   fsl,sai-mclk-direction-output;
+   status = "okay";
+};
@@ -601,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-18 13:30:17.221780043 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile   2022-07-19 21:46:14.290573787 +0800
@@ -1490,3 +1490,6 @@
    aspeed-bmc-opp-zaius.dtb \
    aspeed-bmc-portwell-neptune.dtb \
@@ -611,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-18 13:30:17.221780043 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -639,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -671,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -703,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -735,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -828,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0
+
@@ -852,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/nbiot-4g.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -890,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -922,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -954,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -997,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1027,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1058,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1089,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1120,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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/w1.dts   2022-07-19 21:46:14.290573787 +0800
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1155,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-19 21:39:01.066601836 +0800
+++ linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig   2022-07-20 19:38:24.145456208 +0800
@@ -0,0 +1,726 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
@@ -1885,7 +1896,7 @@
+# CONFIG_FTRACE is not set
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-18 13:30:17.313779067 +0800
+++ linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c   2022-07-19 21:46:14.290573787 +0800
@@ -558,6 +558,7 @@
    if (!state.period && (data->pwm_period_ns > 0))
       state.period = data->pwm_period_ns;
@@ -1896,7 +1907,7 @@
       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-19 21:25:38.873737280 +0800
+++ linux-imx-lf-5.10.52-2.1.0/Makefile   2022-07-20 19:35:26.363459483 +0800
@@ -367,7 +367,8 @@
 # Alternatively CROSS_COMPILE can be set in the environment.
 # Default value for CROSS_COMPILE is not to prefix executables
@@ -1917,7 +1928,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-18 13:30:17.321778983 +0800
+++ linux-imx-lf-5.10.52-2.1.0/scripts/Makefile.lib   2022-07-19 21:46:14.290573787 +0800
@@ -325,6 +325,16 @@
 $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE
    $(call if_changed_dep,dtc)
@@ -1937,7 +1948,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-19 21:25:28.201826234 +0800
+++ linux-imx-lf-5.10.52-2.1.0/sound/soc/fsl/fsl_sai.c   2022-07-19 21:46:14.290573787 +0800
@@ -1349,7 +1349,7 @@
       sai->bus_clk = NULL;
    }