From c6d260b5008cd38e7dbda0c6f61489d6dfb286c5 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sat, 20 Jul 2024 16:38:05 +0800
Subject: [PATCH] Patch:IGKBoard-IMX8MP: Add OV5640 camera support
---
kernel/patches/igkboard-imx8mp/linux-imx-lf-6.1.36-2.1.0.patch | 92 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/kernel/patches/igkboard-imx8mp/linux-imx-lf-6.1.36-2.1.0.patch b/kernel/patches/igkboard-imx8mp/linux-imx-lf-6.1.36-2.1.0.patch
index 273847e..11a82e4 100644
--- a/kernel/patches/igkboard-imx8mp/linux-imx-lf-6.1.36-2.1.0.patch
+++ b/kernel/patches/igkboard-imx8mp/linux-imx-lf-6.1.36-2.1.0.patch
@@ -10,10 +10,10 @@
+dtb-$(CONFIG_ARCH_MXC) += igkboard-imx8mp.dtb
diff --git a/arch/arm64/boot/dts/freescale/igkboard-imx8mp.dts b/arch/arm64/boot/dts/freescale/igkboard-imx8mp.dts
new file mode 100644
-index 000000000..5e398c699
+index 000000000..31490ac6a
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/igkboard-imx8mp.dts
-@@ -0,0 +1,903 @@
+@@ -0,0 +1,991 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Device Tree Source for LingYun IGKBoard(IoT Gateway Kits Board) - imx8mp
@@ -330,6 +330,33 @@
+ wlf,shared-lrclk;
+ };
+
++ ov5640_0: ov5640_mipi@3c {
++ compatible = "ovti,ov5640";
++ reg = <0x3c>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_csi0>;
++ clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
++ clock-names = "xclk";
++ assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
++ assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
++ assigned-clock-rates = <24000000>;
++ csi_id = <0>;
++ powerdown-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
++ reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
++ mclk = <24000000>;
++ mclk_source = <0>;
++ mipi_csi;
++ status = "okay";
++
++ port {
++ ov5640_mipi_0_ep: endpoint {
++ remote-endpoint = <&mipi_csi0_ep>;
++ data-lanes = <1 2>;
++ clock-lanes = <0>;
++ };
++ };
++ };
++
+ ms1112@4a {
+ compatible = "ms,ms1112";
+ reg = <0x4a>;
@@ -389,6 +416,59 @@
+
+&sdma2 {
+ status = "okay";
++};
++
++/*+------------------------+
++ | MIPI-CSI OV5640 Camera |
++ +------------------------+*/
++
++&mipi_csi_0 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ port@0 {
++ reg = <0>;
++ mipi_csi0_ep: endpoint {
++ remote-endpoint = <&ov5640_mipi_0_ep>;
++ data-lanes = <2>;
++ csis-hs-settle = <13>;
++ csis-clk-settle = <2>;
++ csis-wclk;
++ };
++ };
++};
++
++&vpu_g1 {
++ status = "okay";
++};
++
++&vpu_g2 {
++ status = "okay";
++};
++
++&vpu_vc8000e {
++ status = "okay";
++};
++
++&vpu_v4l2 {
++ status = "okay";
++};
++
++&cameradev {
++ status = "okay";
++};
++
++&isi_0 {
++ status = "okay";
++
++ cap_device {
++ status = "okay";
++ };
++
++ m2m_device {
++ status = "okay";
++ };
+};
+
+/*+------------------------+
@@ -783,6 +863,14 @@
+ >;
+ };
+
++ pinctrl_csi0: csi0_grp {
++ fsl,pins = <
++ MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x10 /* PWN */
++ MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x10 /* RST */
++ MX8MP_IOMUXC_GPIO1_IO15__CCM_CLKO2 0x50 /* MCLK */
++ >;
++ };
++
+ pinctrl_pmic: pmicirq {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41
--
Gitblit v1.9.1