From f317d59900aa566e289fc9fe5d40122e1fbbd076 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Mon, 13 Jun 2022 22:45:07 +0800
Subject: [PATCH] update linux patch, fix ov5640 camera not work bug
---
bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.0.patch | 119 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 64 insertions(+), 55 deletions(-)
diff --git a/bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.0.patch b/bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.0.patch
index 42f166e..4d5f58b 100644
--- a/bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.0.patch
+++ b/bsp/kernel/patch/linux-imx-lf-5.10.52-2.1.0.patch
@@ -1,13 +1,13 @@
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-06-12 16:47:51.001663267 +0800
-@@ -0,0 +1,689 @@
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/igkboard.dts 2022-06-13 22:06:43.280918362 +0800
+@@ -0,0 +1,694 @@
+/*
+ * Device Tree Source for LingYun IGKBoard(IoT Gateway Kit Board)
+ * Based on imx6ul-14x14-evk.dts/imx6ul-14x14-evk.dtsi
+ *
+ * Copyright (C) 2022 LingYun IoT System Studio.
-+ * Author: Guo Wenxue<guowenxue@gmail.com>
++ * Author: Guo Wenxue<guowenxue@gmail.com>
+ */
+
+/dts-v1/;
@@ -156,9 +156,9 @@
+*/
+};
+
-+/*+-------------------+
-+ | Misc Modules |
-+ +-------------------+*/
++/*+--------------+
++ | Misc Modules |
++ +--------------+*/
+
+&snvs_poweroff {
+ status = "okay";
@@ -188,9 +188,9 @@
+ status = "okay";
+};
+
-+/*+-------------------+
-+ | Camera Module |
-+ +-------------------+*/
++/*+---------------+
++ | Camera Module |
++ +---------------+*/
+
+&i2c2 {
+ clock-frequency = <100000>;
@@ -225,13 +225,19 @@
+ pinctrl-0 = <&pinctrl_csi1>;
+ clocks = <&clks IMX6UL_CLK_CSI>;
+ clock-names = "csi_mclk";
++
++ DOVDD-supply = <®_3p3v>;
++ VDD-supply = <®_1p8v>;
++ AVDD-supply = <®_3p3v>;
++ DVDD-supply = <®_3p3v>;
++
+ pwn-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
+ rst-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
+ csi_id = <0>;
+ mclk = <24000000>;
+ mclk_source = <0>;
-+ // rotation = <180>;
-+ status = "disabled"; /* Enable in camera overlay */
++ /* rotation = <180>; */
++ status = "disabled"; /* Enable in CAM overlay */
+ port {
+ ov5640_ep: endpoint {
+ remote-endpoint = <&csi1_ep>;
@@ -240,8 +246,8 @@
+ };
+};
+
-+&csi { /* camera ov5640 */
-+ status = "okay";
++&csi {
++ status = "disabled"; /* Enable in CAM overlay */
+ port {
+ csi1_ep: endpoint {
+ remote-endpoint = <&ov5640_ep>;
@@ -249,10 +255,9 @@
+ };
+};
+
-+
-+/*+-------------------+
-+ | Audio Module |
-+ +-------------------+*/
++/*+--------------+
++ | Audio Module |
++ +--------------+*/
+
+&clks {
+ assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
@@ -280,9 +285,9 @@
+
+
+
-+/*+-------------------+
-+ | Ethernet Modules |
-+ +-------------------+*/
++/*+------------------+
++ | Ethernet Modules |
++ +------------------+*/
+
+&fec1 { /* eth0 */
+ pinctrl-names = "default";
@@ -329,9 +334,9 @@
+
+
+
-+/*+-------------------+
-+ | USB interface |
-+ +-------------------+*/
++/*+---------------+
++ | USB interface |
++ +---------------+*/
+
+&usbotg1 {
+ dr_mode = "otg";
@@ -355,9 +360,9 @@
+};
+
+
-+/*+-------------------+
-+ | USDCHC interface |
-+ +-------------------+*/
++/*+------------------+
++ | USDCHC interface |
++ +------------------+*/
+
+&usdhc1 { /* tf card slot */
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
@@ -383,9 +388,9 @@
+};
+
+
-+/*+------------------------------+
-+ | 40 Pin Header GPIO iomuxc |
-+ +------------------------------+*/
++/*+---------------------------+
++ | 40 Pin Header GPIO iomuxc |
++ +---------------------------+*/
+
+&iomuxc {
+ pinctrl-names = "default";
@@ -412,7 +417,7 @@
+ MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x17059 /* 3# I2C1_SDA */
+ MX6UL_PAD_GPIO1_IO02__I2C1_SCL 0x17059 /* 5# I2C1_SCL */
+ >;
-+ };
++ };
+
+ pinctrl_ecspi1_master: ecspi1grp1 {
+ fsl,pins = <
@@ -486,9 +491,9 @@
+};
+
+
-+/*+--------------------------+
-+ | Basic pinctrl iomuxc |
-+ +--------------------------+*/
++/*+----------------------+
++ | Basic pinctrl iomuxc |
++ +----------------------+*/
+&iomuxc {
+ pinctrl-names = "default";
+
@@ -520,8 +525,8 @@
+
+ pinctrl_csi1: csi1grp {
+ fsl,pins = <
-+ MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x10B0 /* CSI_RST */
-+ MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x10B0 /* CSI_PWDN */
++ MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x17059 /* CSI_RST */
++ MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x17059 /* CSI_PWDN */
+ MX6UL_PAD_CSI_MCLK__CSI_MCLK 0x1b088
+ MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK 0x1b088
+ MX6UL_PAD_CSI_VSYNC__CSI_VSYNC 0x1b088
@@ -693,7 +698,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/Makefile 2022-06-12 17:10:26.378726607 +0800
@@ -1490,3 +1490,6 @@
aspeed-bmc-opp-zaius.dtb \
aspeed-bmc-portwell-neptune.dtb \
@@ -703,8 +708,8 @@
+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-06-12 16:36:33.331873137 +0800
-@@ -0,0 +1,20 @@
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/cam.dts 2022-06-13 21:41:49.095745360 +0800
+@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
+ * Author: Guo Wenxue<guowenxue@gmail.com>
@@ -715,7 +720,11 @@
+
+/* MIPI-DSI2 camera overlay */
+
-+&pxp {
++&pxp { /* Pixel Pipeline (PXP) is a memory-to-memory graphics processing */
++ status = "okay";
++};
++
++&csi {
+ status = "okay";
+};
+
@@ -727,7 +736,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can1.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -760,7 +769,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/can2.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -793,7 +802,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/i2c1.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -826,7 +835,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/lcd.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -929,7 +938,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-06-12 13:21:24.413715140 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/Makefile 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+
@@ -951,7 +960,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-06-12 16:34:51.953196201 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm7.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -984,7 +993,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-06-12 16:35:10.968948011 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/pwm8.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1017,7 +1026,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/spi1.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1061,7 +1070,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart2.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1092,7 +1101,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart3.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1124,7 +1133,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart4.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1156,7 +1165,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/boot/dts/overlays/uart7.dts 2022-06-12 17:10:26.378726607 +0800
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2022 LingYun IoT System Studio
@@ -1188,7 +1197,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-06-12 16:50:44.937678932 +0800
++++ linux-imx-lf-5.10.52-2.1.0/arch/arm/configs/igkboard_defconfig 2022-06-13 21:56:27.500562135 +0800
@@ -0,0 +1,722 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
@@ -1914,7 +1923,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/drivers/video/backlight/pwm_bl.c 2022-06-12 17:10:26.378726607 +0800
@@ -558,6 +558,7 @@
if (!state.period && (data->pwm_period_ns > 0))
state.period = data->pwm_period_ns;
@@ -1925,7 +1934,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-06-12 13:00:23.180939431 +0800
++++ linux-imx-lf-5.10.52-2.1.0/Makefile 2022-06-12 18:02:43.392114072 +0800
@@ -367,7 +367,8 @@
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
@@ -1946,7 +1955,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-06-12 13:00:23.176939473 +0800
++++ linux-imx-lf-5.10.52-2.1.0/scripts/Makefile.lib 2022-06-12 17:10:26.378726607 +0800
@@ -325,6 +325,16 @@
$(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE
$(call if_changed_dep,dtc)
--
Gitblit v1.9.1