From 5a83b14855e763445ac36672c35ddb68300e4b42 Mon Sep 17 00:00:00 2001
From: ronnie <ronnie@industiosoft.com>
Date: Sun, 23 Oct 2022 09:58:57 +0000
Subject: [PATCH] add boot dts

---
 longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi |  152 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 113 insertions(+), 39 deletions(-)

diff --git a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi
index bd14ca6..14aaa41 100644
--- a/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi
+++ b/longan/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw10p1.dtsi
@@ -12,6 +12,11 @@
 #include "sun50iw10p1-clk.dtsi"
 #include "sun50iw10p1-pinctrl.dtsi"
 #include <dt-bindings/thermal/thermal.h>
+
+#define V1A 0
+#define V1B 1
+
+
 / {
 	model = "sun50iw10";
 	compatible = "arm,sun50iw10p1";
@@ -178,28 +183,39 @@
 
 	cpu_opp_l_table: opp_l_table {
 		compatible = "allwinner,sun50i-operating-points";
-		nvmem-cells = <&speedbin_efuse>, <&cpubin_efuse>;
-		nvmem-cell-names = "speed", "bin";
+		nvmem-cells = <&speedbin_efuse>, <&cpubin_efuse>, <&cpubin_extend>;
+		nvmem-cell-names = "speed", "bin", "bin_ext";
 		opp-shared;
 
-		opp@408000000 {
+		opp@408000000-0 {
 			opp-hz = /bits/ 64 <408000000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
 			opp-microvolt-a0 = <900000>;
 			opp-microvolt-a1 = <900000>;
 			opp-microvolt-a2 = <900000>;
+			opp-microvolt-a3 = <940000>;
+			opp-microvolt-a4 = <940000>;
+			opp-microvolt-a5 = <920000>;
+			opp-microvolt-a6 = <920000>;
 			opp-microvolt-b0 = <900000>;
 			opp-microvolt-b1 = <900000>;
+			opp-microvolt-b2 = <940000>;
+			opp-microvolt-b3 = <920000>;
 		};
-
 		opp@600000000 {
 			opp-hz = /bits/ 64 <600000000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
 			opp-microvolt-a0 = <900000>;
 			opp-microvolt-a1 = <900000>;
 			opp-microvolt-a2 = <900000>;
+			opp-microvolt-a3 = <940000>;
+			opp-microvolt-a4 = <940000>;
+			opp-microvolt-a5 = <920000>;
+			opp-microvolt-a6 = <920000>;
 			opp-microvolt-b0 = <900000>;
 			opp-microvolt-b1 = <900000>;
+			opp-microvolt-b2 = <940000>;
+			opp-microvolt-b3 = <920000>;
 		};
 
 		opp@816000000 {
@@ -208,8 +224,14 @@
 			opp-microvolt-a0 = <940000>;
 			opp-microvolt-a1 = <900000>;
 			opp-microvolt-a2 = <900000>;
+			opp-microvolt-a3 = <940000>;
+			opp-microvolt-a4 = <940000>;
+			opp-microvolt-a5 = <920000>;
+			opp-microvolt-a6 = <920000>;
 			opp-microvolt-b0 = <900000>;
 			opp-microvolt-b1 = <900000>;
+			opp-microvolt-b2 = <940000>;
+			opp-microvolt-b3 = <920000>;
 		};
 
 		opp@1008000000 {
@@ -218,8 +240,14 @@
 			opp-microvolt-a0 = <1020000>;
 			opp-microvolt-a1 = <980000>;
 			opp-microvolt-a2 = <950000>;
+			opp-microvolt-a3 = <1020000>;
+			opp-microvolt-a4 = <960000>;
+			opp-microvolt-a5 = <940000>;
+			opp-microvolt-a6 = <940000>;
 			opp-microvolt-b0 = <980000>;
 			opp-microvolt-b1 = <950000>;
+			opp-microvolt-b2 = <960000>;
+			opp-microvolt-b3 = <940000>;
 		};
 
 		opp@1200000000 {
@@ -228,8 +256,14 @@
 			opp-microvolt-a0 = <1100000>;
 			opp-microvolt-a1 = <1020000>;
 			opp-microvolt-a2 = <1000000>;
+			opp-microvolt-a3 = <1100000>;
+			opp-microvolt-a4 = <980000>;
+			opp-microvolt-a5 = <960000>;
+			opp-microvolt-a6 = <960000>;
 			opp-microvolt-b0 = <1020000>;
 			opp-microvolt-b1 = <1000000>;
+			opp-microvolt-b2 = <980000>;
+			opp-microvolt-b3 = <960000>;
 		};
 
 		opp@1320000000 {
@@ -238,23 +272,38 @@
 			opp-microvolt-a0 = <1160000>;
 			opp-microvolt-a1 = <1060000>;
 			opp-microvolt-a2 = <1030000>;
+			opp-microvolt-a3 = <1160000>;
+			opp-microvolt-a4 = <1020000>;
+			opp-microvolt-a5 = <1000000>;
+			opp-microvolt-a6 = <1000000>;
 			opp-microvolt-b0 = <1060000>;
 			opp-microvolt-b1 = <1030000>;
+			opp-microvolt-b2 = <1020000>;
+			opp-microvolt-b3 = <1000000>;
 		};
 
 		opp@1416000000 {
 			opp-hz = /bits/ 64 <1416000000>;
 			clock-latency-ns = <244144>; /* 8 32k periods */
+			opp-microvolt-a0 = <1180000>;
+			opp-microvolt-a1 = <1180000>;
+			opp-microvolt-a2 = <1130000>;
 			opp-microvolt-b0 = <1100000>;
 			opp-microvolt-b1 = <1070000>;
+			opp-microvolt-b2 = <1060000>;
+			opp-microvolt-b3 = <1040000>;
 		};
 
 		opp@1464000000 {
 			opp-hz = /bits/ 64 <1464000000>;
-			clock-latency-ns = <244144>; /* 8 32k periods */
+			clock-latency-ns = <244144>; 
 			opp-microvolt-a0 = <1180000>;
 			opp-microvolt-a1 = <1180000>;
 			opp-microvolt-a2 = <1130000>;
+			opp-microvolt-a3 = <1180000>;
+			opp-microvolt-a4 = <1100000>;
+			opp-microvolt-a5 = <1080000>;
+			opp-microvolt-a6 = <1080000>;
 		};
 
 		opp@1512000000 {
@@ -262,14 +311,15 @@
 			clock-latency-ns = <244144>; /* 8 32k periods */
 			opp-microvolt-b0 = <1180000>;
 			opp-microvolt-b1 = <1130000 1130000 1140000>;
+			opp-microvolt-b2 = <1100000>;
+			opp-microvolt-b3 = <1080000>;
 		};
-
 		opp@1608000000 {
-			opp-hz = /bits/ 64 <1608000000>;
-			clock-latency-ns = <244144>; /* 8 32k periods */
+ 			opp-hz = /bits/ 64 <1608000000>;
+ 			clock-latency-ns = <244144>; /* 8 32k periods */
 			opp-microvolt-b0 = <1180000>;
 			opp-microvolt-b1 = <1130000 1130000 1140000>;
-		};
+ 		};
 	};
 
 	psci {
@@ -438,6 +488,9 @@
 		cpubin_efuse: calib@1c {
 			reg = <0x1c 2>;
 		};
+	 	cpubin_extend: calib@28 {
+			reg = <0x28 4>;
+ 		};
 	};
 
 	chipid: sunxi-chipid@03006200 {
@@ -603,7 +656,7 @@
 			pinctrl-names = "default";
 			pinctrl-0 = <&s_cir0_pins_a>;
 			clocks = <&clk_hosc>,<&clk_cpurcir>;
-			status = "okay";
+			status = "disabled";
 		};
 
 		ir1: ir@0x05071000 {
@@ -701,7 +754,7 @@
 			pinctrl-1 = <&uart2_pins_b>;
 			uart2_port = <2>;
 			uart2_type = <4>;
-			status = "disabled";
+			status = "okay";
 		};
 
 		uart3: uart@05000c00 {
@@ -813,7 +866,7 @@
 			pinctrl-names = "default", "sleep";
 			pinctrl-0 = <&twi0_pins_a>;
 			pinctrl-1 = <&twi0_pins_b>;
-			status = "disabled";
+			status = "okay";
 		};
 
 		twi1: twi@0x05002400{
@@ -843,7 +896,7 @@
 			pinctrl-names = "default", "sleep";
 			pinctrl-0 = <&twi2_pins_a>;
 			pinctrl-1 = <&twi2_pins_b>;
-			status = "disabled";
+			status = "ok";
 		};
 
 		twi3: twi@0x05002c00{
@@ -858,7 +911,7 @@
 			pinctrl-names = "default", "sleep";
 			pinctrl-0 = <&twi3_pins_a>;
 			pinctrl-1 = <&twi3_pins_b>;
-			status = "disabled";
+			status = "ok";
 		};
 
 		twi4: twi@0x05003000{
@@ -1001,9 +1054,9 @@
 			compatible = "allwinner,sunxi-codec-machine";
 			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
 			sunxi,audio-codec = <&codec>;
-			hp_detect_case = <0x00>;
+			hp_detect_case = <0x01>;
 			device_type = "sndcodec";
-			status = "disabled";
+			status = "okay";
 		};
 
 		spdif:spdif-controller@0x05094000{
@@ -1032,14 +1085,14 @@
 			pinctrl-0 = <&dmic_pins_a>;
 			pinctrl-1 = <&dmic_pins_b>;
 			device_type = "dmic";
-			status = "disabled";
+			status = "okay";
 		};
 
 		snddmic:sound@2{
 			compatible = "allwinner,sunxi-dmic-machine";
 			sunxi,dmic-controller = <&dmic>;
 			device_type = "snddmic";
-			status = "disabled";
+			status = "okay";
 		};
 
 
@@ -1118,7 +1171,7 @@
 			device_type = "snddaudio3";
 			status = "disabled";
 		};
-
+/*
 		spi0: spi@05010000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -1135,7 +1188,7 @@
 			spi0_cs_bitmap = <1>;
 			status = "disabled";
 		};
-
+*/
 		spi1: spi@05011000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -1457,7 +1510,7 @@
 				 <&clk_lvds>,
 				 <&clk_lvds1>,
 				 <&clk_mipi_host>;
-			boot_disp = <0>;
+			boot_disp = <1>;
 			boot_disp1 = <0>;
 			boot_disp2 = <0>;
 			fb_base = <0>;
@@ -1768,9 +1821,9 @@
 			sensor0:sensor@0 {
 				device_type = "sensor0";
 				compatible = "allwinner,sunxi-sensor";
-				sensor0_mname = "ov5640";
+				sensor0_mname = "ov8858_r2a_4lane";
 				sensor0_twi_cci_id = <2>;
-				sensor0_twi_addr = <0x78>;
+				sensor0_twi_addr = <0x6C>;
 				sensor0_mclk_id = <0>;
 				sensor0_pos = "rear";
 				sensor0_isp_used = <0>;
@@ -1779,14 +1832,14 @@
 				sensor0_vflip = <0>;
 				sensor0_hflip = <0>;
 				sensor0_iovdd-supply = <>;
-				sensor0_iovdd_vol = <2800000>;
+				sensor0_iovdd_vol = <1800000>;
 				sensor0_avdd-supply = <>;
 				sensor0_avdd_vol = <2800000>;
 				sensor0_dvdd-supply = <>;
-				sensor0_dvdd_vol = <1500000>;
+				sensor0_dvdd_vol = <1200000>;
 				sensor0_power_en = <>;
-				sensor0_reset = <&pio PE 14 1 0 1 0>;
-				sensor0_pwdn = <&pio PE 16 1 0 1 0>;
+				sensor0_reset = <&pio PE 6 1 0 1 0>;
+				sensor0_pwdn = <&pio PE 7 1 0 1 0>;
 				sensor0_sm_vs = <>;
 				flash_handle = <&flash0>;
 				act_handle = <&actuator0>;
@@ -1796,7 +1849,7 @@
 			sensor1:sensor@1 {
 				device_type = "sensor1";
 				compatible = "allwinner,sunxi-sensor";
-				sensor1_mname = "ov5647";
+				sensor1_mname = "ov5648_mipi";
 				sensor1_twi_cci_id = <3>;
 				sensor1_twi_addr = <0x6c>;
 				sensor1_mclk_id = <1>;
@@ -1813,8 +1866,8 @@
 				sensor1_dvdd-supply = <>;
 				sensor1_dvdd_vol = <1500000>;
 				sensor1_power_en = <>;
-				sensor1_reset = <&pio PE 14 1 0 1 0>;
-				sensor1_pwdn = <&pio PE 15 1 0 1 0>;
+				sensor1_reset = <&pio PE 8 1 0 1 0>;
+				sensor1_pwdn = <&pio PE 9 1 0 1 0>;
 				sensor1_sm_vs = <>;
 				flash_handle = <>;
 				act_handle = <>;
@@ -2032,7 +2085,17 @@
 			key3 = <750 28>;
 			key4 = <880 102>;
 		};
-
+/*
+                gpio-keys {
+                        compatible = "gpio-keys";
+                        status = "okay";
+                        power {
+                                gpios = <&pio PB 2 0 0xffffffff 0xffffffff 0>;
+                                label = "KEY1";
+                                linux,code = <100>;
+                        };
+                };
+*/
 		gmac0: eth@05020000 {
 			compatible = "allwinner,sunxi-gmac";
 			reg = <0x0 0x05020000 0x0 0x10000>,
@@ -2045,14 +2108,25 @@
 			pinctrl-0 = <&gmac_pins_a>;
 			pinctrl-1 = <&gmac_pins_b>;
 			pinctrl-names = "default", "sleep";
-			phy-mode;
+			//phy-mode;
+			phy-mode = "rmii";
 			tx-delay = <7>;
-			rx-delay = <31>;
-			phy-rst;
-			gmac-power0;
-			gmac-power1;
-			gmac-power2;
-			status = "disable";
+			rx-delay = <10>;
+			//phy-rst;
+		#if V1A
+			phy-rst = <&pio PH 12 1 0 1 0>;
+		#elif V1B
+			phy-rst = <&pio PB 7 1 0 1 0>;
+		#endif
+			gmac-power0 = <&reg_aldo3>;
+			gmac-power1 = <&reg_fldo1>;
+			gmac-power2 = <&reg_eldo2>;
+			
+			gmac-power0-vol = <3300000>;
+			gmac-power1-vol = <1200000>;
+			gmac-power2-vol = <1800000>;
+
+			status = "okay";
 		};
 
 		gmac1: eth@05030000 {
@@ -2074,7 +2148,7 @@
 			gmac-power0;
 			gmac-power1;
 			gmac-power2;
-			status = "disable";
+			status = "disabled";
 		};
 	};
 

--
Gitblit v1.6.2