From f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 31 Jan 2024 01:04:47 +0000
Subject: [PATCH] add driver 5G

---
 kernel/arch/arm/boot/dts/rv1106.dtsi |   77 +++++++++++++++++++++++++++++++++++---
 1 files changed, 71 insertions(+), 6 deletions(-)

diff --git a/kernel/arch/arm/boot/dts/rv1106.dtsi b/kernel/arch/arm/boot/dts/rv1106.dtsi
index f877096..ee3a90b 100644
--- a/kernel/arch/arm/boot/dts/rv1106.dtsi
+++ b/kernel/arch/arm/boot/dts/rv1106.dtsi
@@ -9,6 +9,7 @@
 #include <dt-bindings/pinctrl/rockchip.h>
 #include <dt-bindings/soc/rockchip,boot-mode.h>
 #include <dt-bindings/soc/rockchip-system-status.h>
+#include <dt-bindings/suspend/rockchip-rv1106.h>
 #include <dt-bindings/thermal/thermal.h>
 
 / {
@@ -239,6 +240,18 @@
 		};
 	};
 
+	mipi0_csi2: mipi0-csi2 {
+		compatible = "rockchip,rv1106-mipi-csi2";
+		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>;
+		status = "disabled";
+	};
+
+	mipi1_csi2: mipi1-csi2 {
+		compatible = "rockchip,rv1106-mipi-csi2";
+		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>;
+		status = "disabled";
+	};
+
 	mpp_srv: mpp-srv {
 		compatible = "rockchip,mpp-service";
 		rockchip,taskqueue-count = <2>;
@@ -314,6 +327,55 @@
 		compatible = "rockchip,rkisp-vir";
 		rockchip,hw = <&rkisp>;
 		status = "disabled";
+	};
+
+	rockchip_suspend: rockchip-suspend {
+		compatible = "rockchip,pm-config";
+		status = "okay";
+		rockchip,sleep-io-config = <
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_DOWN
+			| RKPM_IO_CFG_ID(0)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_DOWN
+			| RKPM_IO_CFG_ID(1)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_DOWN
+			| RKPM_IO_CFG_ID(2)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_UP
+			| RKPM_IO_CFG_ID(3)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_UP
+			| RKPM_IO_CFG_ID(4)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_NONE
+			| RKPM_IO_CFG_ID(5)
+			)
+			(0
+			| RKPM_IO_CFG_IOMUX_GPIO
+			| RKPM_IO_CFG_GPIO_DIR_INPUT
+			| RKPM_IO_CFG_PULL_NONE
+			| RKPM_IO_CFG_ID(6)
+			)
+		>;
 	};
 
 	rockchip_system_monitor: rockchip-system-monitor {
@@ -1014,6 +1076,8 @@
 		#size-cells = <0>;
 		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
 		clock-names = "spiclk", "apb_pclk";
+		assigned-clocks = <&cru CLK_SPI1>;
+		assigned-clock-rates = <200000000>;
 		dmas = <&dmac 3>, <&dmac 2>;
 		dma-names = "tx", "rx";
 		pinctrl-names = "default";
@@ -1173,8 +1237,8 @@
 		status = "disabled";
 	};
 
-	mipi0_csi2: mipi-csi2@ffa20000 {
-		compatible = "rockchip,rk3588-mipi-csi2";
+	mipi0_csi2_hw: mipi-csi2-hw@ffa20000 {
+		compatible = "rockchip,rv1106-mipi-csi2-hw";
 		reg = <0xffa20000 0x10000>;
 		reg-names = "csihost_regs";
 		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
@@ -1184,11 +1248,11 @@
 		clock-names = "pclk_csi2host", "clk_rxbyte_hs";
 		resets = <&cru SRST_P_CSIHOST0>;
 		reset-names = "srst_csihost_p";
-		status = "disabled";
+		status = "okay";
 	};
 
-	mipi1_csi2: mipi-csi2@ffa30000 {
-		compatible = "rockchip,rk3588-mipi-csi2";
+	mipi1_csi2_hw: mipi-csi2-hw@ffa30000 {
+		compatible = "rockchip,rv1106-mipi-csi2-hw";
 		reg = <0xffa30000 0x10000>;
 		reg-names = "csihost_regs";
 		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
@@ -1198,7 +1262,7 @@
 		clock-names = "pclk_csi2host", "clk_rxbyte_hs";
 		resets = <&cru SRST_P_CSIHOST1>;
 		reset-names = "srst_csihost_p";
-		status = "disabled";
+		status = "okay";
 	};
 
 	rkvenc: rkvenc@ffa50000 {
@@ -1409,6 +1473,7 @@
 			snps,dis-tx-ipgap-linecheck-quirk;
 			snps,usb2-gadget-lpm-disable;
 			snps,usb2-lpm-disable;
+			snps,parkmode-disable-hs-quirk;
 			status = "disabled";
 		};
 	};

--
Gitblit v1.6.2