From 071106ecf68c401173c58808b1cf5f68cc50d390 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 05 Jan 2024 08:39:27 +0000
Subject: [PATCH] change wifi driver to cypress
---
kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi | 477 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 330 insertions(+), 147 deletions(-)
diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi
index 9f106e8..8a3e1fe 100644
--- a/kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi
@@ -59,7 +59,8 @@
spi1 = &spi1;
spi2 = &spi2;
spi3 = &spi3;
- spi4 = &sfc; // for U-Boot
+ lvds0 = &lvds;
+ lvds1 = &lvds1;
};
cpus {
@@ -126,12 +127,17 @@
opp-shared;
mbist-vmin = <825000 900000 950000>;
- nvmem-cells = <&cpu_leakage>, <&core_pvtm>, <&mbist_vmin>;
- nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
+ nvmem-cells = <&cpu_leakage>, <&core_pvtm>, <&mbist_vmin>, <&cpu_opp_info>,
+ <&specification_serial_number>, <&remark_spec_serial_number>;
+ nvmem-cell-names = "leakage", "pvtm", "mbist-vmin", "opp-info",
+ "specification_serial_number", "remark_spec_serial_number";
+ rockchip,supported-hw;
+ rockchip,max-volt = <1150000>;
rockchip,pvtm-voltage-sel = <
0 84000 0
- 84001 91000 1
- 91001 100000 2
+ 84001 87000 1
+ 87001 91000 2
+ 91001 100000 3
>;
rockchip,pvtm-freq = <408000>;
rockchip,pvtm-volt = <900000>;
@@ -146,77 +152,104 @@
rockchip,low-temp = <0>;
rockchip,low-temp-adjust-volt = <
/* MHz MHz uV */
- 0 1608 75000
+ 0 1992 75000
>;
+ /* RK3568 && RK3568M cpu OPPs */
opp-408000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <850000 850000 1150000>;
- opp-microvolt-L0 = <850000 850000 1150000>;
- opp-microvolt-L1 = <825000 825000 1150000>;
- opp-microvolt-L2 = <825000 825000 1150000>;
clock-latency-ns = <40000>;
};
opp-600000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <600000000>;
- opp-microvolt = <850000 825000 1150000>;
- opp-microvolt-L0 = <850000 850000 1150000>;
- opp-microvolt-L1 = <825000 825000 1150000>;
- opp-microvolt-L2 = <825000 825000 1150000>;
+ opp-microvolt = <850000 850000 1150000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <850000 850000 1150000>;
- opp-microvolt-L0 = <850000 850000 1150000>;
- opp-microvolt-L1 = <825000 825000 1150000>;
- opp-microvolt-L2 = <825000 825000 1150000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-1104000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <1104000000>;
opp-microvolt = <900000 900000 1150000>;
opp-microvolt-L0 = <900000 900000 1150000>;
- opp-microvolt-L1 = <825000 825000 1150000>;
- opp-microvolt-L2 = <825000 825000 1150000>;
+ opp-microvolt-L1 = <850000 850000 1150000>;
+ opp-microvolt-L2 = <850000 850000 1150000>;
+ opp-microvolt-L3 = <850000 850000 1150000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <1416000000>;
- opp-microvolt = <1000000 1000000 1150000>;
- opp-microvolt-L0 = <1000000 1000000 1150000>;
- opp-microvolt-L1 = <925000 925000 1150000>;
- opp-microvolt-L2 = <925000 925000 1150000>;
+ opp-microvolt = <1025000 1025000 1150000>;
+ opp-microvolt-L0 = <1025000 1025000 1150000>;
+ opp-microvolt-L1 = <975000 975000 1150000>;
+ opp-microvolt-L2 = <950000 950000 1150000>;
+ opp-microvolt-L3 = <925000 925000 1150000>;
clock-latency-ns = <40000>;
};
opp-1608000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <1608000000>;
- opp-microvolt = <1075000 1075000 1150000>;
- opp-microvolt-L0 = <1075000 1075000 1150000>;
- opp-microvolt-L1 = <1000000 1000000 1150000>;
- opp-microvolt-L2 = <1000000 1000000 1150000>;
+ opp-microvolt = <1100000 1100000 1150000>;
+ opp-microvolt-L0 = <1100000 1100000 1150000>;
+ opp-microvolt-L1 = <1050000 1050000 1150000>;
+ opp-microvolt-L2 = <1025000 1025000 1150000>;
+ opp-microvolt-L3 = <1000000 1000000 1150000>;
clock-latency-ns = <40000>;
};
opp-1800000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <1800000000>;
- opp-microvolt = <1125000 1125000 1150000>;
- opp-microvolt-L0 = <1125000 1125000 1150000>;
- opp-microvolt-L1 = <1050000 1050000 1150000>;
- opp-microvolt-L2 = <1050000 1050000 1150000>;
- clock-latency-ns = <40000>;
- };
- opp-1992000000 {
- opp-hz = /bits/ 64 <1992000000>;
opp-microvolt = <1150000 1150000 1150000>;
opp-microvolt-L0 = <1150000 1150000 1150000>;
opp-microvolt-L1 = <1100000 1100000 1150000>;
opp-microvolt-L2 = <1075000 1075000 1150000>;
+ opp-microvolt-L3 = <1050000 1050000 1150000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1992000000 {
+ opp-supported-hw = <0xf9 0xffff>;
+ opp-hz = /bits/ 64 <1992000000>;
+ opp-microvolt = <1150000 1150000 1150000>;
+ opp-microvolt-L0 = <1150000 1150000 1150000>;
+ opp-microvolt-L1 = <1150000 1150000 1150000>;
+ opp-microvolt-L2 = <1125000 1125000 1150000>;
+ opp-microvolt-L3 = <1100000 1100000 1150000>;
+ clock-latency-ns = <40000>;
+ };
+
+ /* RK3568J cpu OPPs */
+ opp-j-1008000000 {
+ opp-supported-hw = <0x04 0xffff>;
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <850000 850000 1150000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-j-1416000000 {
+ opp-supported-hw = <0x04 0xffff>;
+ opp-hz = /bits/ 64 <1416000000>;
+ opp-microvolt = <900000 900000 1150000>;
+ clock-latency-ns = <40000>;
+ };
+
+ /* RK3568M cpu OPPs */
+ opp-m-1608000000 {
+ opp-supported-hw = <0x02 0xffff>;
+ opp-hz = /bits/ 64 <1608000000>;
+ opp-microvolt = <1000000 1000000 1150000>;
clock-latency-ns = <40000>;
};
};
- arm-pmu {
+ arm_pmu: arm-pmu {
compatible = "arm,cortex-a55-pmu", "arm,armv8-pmuv3";
interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
@@ -253,7 +286,7 @@
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
- connect = <&vp0_out_dsi1>;
+ connect = <&vp1_out_dsi1>;
};
route_edp: route-edp {
status = "disabled";
@@ -261,7 +294,7 @@
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
- connect = <&vp0_out_edp>;
+ connect = <&vp1_out_edp>;
};
route_hdmi: route-hdmi {
status = "disabled";
@@ -269,7 +302,7 @@
logo,kernel = "logo_kernel.bmp";
logo,mode = "center";
charge_logo,mode = "center";
- connect = <&vp1_out_hdmi>;
+ connect = <&vp0_out_hdmi>;
};
route_lvds: route-lvds {
status = "disabled";
@@ -290,12 +323,15 @@
};
};
- firmware {
- optee: optee {
- compatible = "linaro,optee-tz";
- method = "smc";
- };
+ edac: edac {
+ compatible = "rockchip,rk3568-edac";
+ interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "ce", "ue";
+ status = "disabled";
+ };
+ firmware {
scmi: scmi {
compatible = "arm,scmi-smc";
shmem = <&scmi_shmem>;
@@ -307,7 +343,7 @@
reg = <0x14>;
#clock-cells = <1>;
- rockchip,clk-init = <1416000000>;
+ rockchip,clk-init = <1104000000>;
};
};
@@ -315,6 +351,12 @@
compatible = "arm,sdei-1.0";
method = "smc";
};
+ };
+
+ mipi_csi2: mipi-csi2 {
+ compatible = "rockchip,rk3568-mipi-csi2";
+ rockchip,hw = <&mipi_csi2_hw>;
+ status = "disabled";
};
mpp_srv: mpp-srv {
@@ -582,12 +624,15 @@
resets = <&cru SRST_USB3OTG0>;
reset-names = "usb3-otg";
snps,dis_enblslpm_quirk;
- snps,dis-u1u2-quirk;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
snps,dis-u2-freeclk-exists-quirk;
snps,dis-del-phy-power-chg-quirk;
snps,dis-tx-ipgap-linecheck-quirk;
snps,dis_rxdet_inp3_quirk;
snps,xhci-trb-ent-quirk;
+ snps,parkmode-disable-hs-quirk;
+ snps,parkmode-disable-ss-quirk;
quirk-skip-phy-init;
status = "disabled";
};
@@ -621,6 +666,8 @@
snps,dis-tx-ipgap-linecheck-quirk;
snps,dis_rxdet_inp3_quirk;
snps,xhci-trb-ent-quirk;
+ snps,parkmode-disable-hs-quirk;
+ snps,parkmode-disable-ss-quirk;
status = "disabled";
};
};
@@ -761,6 +808,34 @@
reg = <2>;
remote-endpoint = <&vp2_out_lvds>;
status = "disabled";
+ };
+ };
+ };
+ };
+
+ lvds1: lvds1 {
+ compatible = "rockchip,rk3568-lvds";
+ phys = <&video_phy1>;
+ phy-names = "phy";
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ lvds1_in_vp1: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&vp1_out_lvds1>;
+ };
+
+ lvds1_in_vp2: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&vp2_out_lvds1>;
};
};
};
@@ -1109,77 +1184,97 @@
compatible = "operating-points-v2";
mbist-vmin = <825000 900000 950000>;
- nvmem-cells = <&npu_leakage>, <&core_pvtm>, <&mbist_vmin>;
- nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
+ nvmem-cells = <&npu_leakage>, <&core_pvtm>, <&mbist_vmin>, <&npu_opp_info>,
+ <&specification_serial_number>, <&remark_spec_serial_number>;
+ nvmem-cell-names = "leakage", "pvtm", "mbist-vmin", "opp-info",
+ "specification_serial_number", "remark_spec_serial_number";
+ rockchip,supported-hw;
+ rockchip,max-volt = <1000000>;
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-adjust-volt = <
/* MHz MHz uV */
- 0 700 50000
+ 0 1000 50000
>;
rockchip,pvtm-voltage-sel = <
0 84000 0
- 84001 91000 1
- 91001 100000 2
+ 84001 87000 1
+ 87001 91000 2
+ 91001 100000 3
>;
rockchip,pvtm-ch = <0 5>;
+ /* RK3568 && RK3568M npu OPPs */
opp-200000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <850000 850000 1000000>;
- opp-microvolt-L0 = <850000 850000 1000000>;
- opp-microvolt-L1 = <825000 825000 1000000>;
- opp-microvolt-L2 = <825000 825000 1000000>;
};
opp-300000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <297000000>;
opp-microvolt = <850000 850000 1000000>;
- opp-microvolt-L0 = <850000 850000 1000000>;
- opp-microvolt-L1 = <825000 825000 1000000>;
- opp-microvolt-L2 = <825000 825000 1000000>;
};
opp-400000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <850000 850000 1000000>;
- opp-microvolt-L0 = <850000 850000 1000000>;
- opp-microvolt-L1 = <825000 825000 1000000>;
- opp-microvolt-L2 = <825000 825000 1000000>;
};
opp-600000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <600000000>;
- opp-microvolt = <875000 875000 1000000>;
- opp-microvolt-L0 = <875000 875000 1000000>;
- opp-microvolt-L1 = <825000 825000 1000000>;
- opp-microvolt-L2 = <825000 825000 1000000>;
+ opp-microvolt = <850000 850000 1000000>;
};
opp-700000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <700000000>;
- opp-microvolt = <900000 900000 1000000>;
- opp-microvolt-L0 = <900000 900000 1000000>;
+ opp-microvolt = <875000 875000 1000000>;
+ opp-microvolt-L0 = <875000 875000 1000000>;
opp-microvolt-L1 = <850000 850000 1000000>;
opp-microvolt-L2 = <850000 850000 1000000>;
+ opp-microvolt-L3 = <850000 850000 1000000>;
};
opp-800000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <925000 925000 1000000>;
opp-microvolt-L0 = <925000 925000 1000000>;
- opp-microvolt-L1 = <875000 875000 1000000>;
+ opp-microvolt-L1 = <900000 900000 1000000>;
opp-microvolt-L2 = <875000 875000 1000000>;
+ opp-microvolt-L3 = <875000 875000 1000000>;
};
opp-900000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <975000 975000 1000000>;
opp-microvolt-L0 = <975000 975000 1000000>;
- opp-microvolt-L1 = <925000 925000 1000000>;
- opp-microvolt-L2 = <900000 900000 1000000>;
+ opp-microvolt-L1 = <950000 950000 1000000>;
+ opp-microvolt-L2 = <925000 925000 1000000>;
+ opp-microvolt-L3 = <900000 900000 1000000>;
};
opp-1000000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <1000000 1000000 1000000>;
opp-microvolt-L0 = <1000000 1000000 1000000>;
- opp-microvolt-L1 = <950000 950000 1000000>;
- opp-microvolt-L2 = <925000 925000 1000000>;
+ opp-microvolt-L1 = <975000 975000 1000000>;
+ opp-microvolt-L2 = <950000 950000 1000000>;
+ opp-microvolt-L3 = <925000 925000 1000000>;
status = "disabled";
+ };
+
+ /* RK3568J npu OPPs */
+ opp-j-600000000 {
+ opp-supported-hw = <0x04 0xffff>;
+ opp-hz = /bits/ 64 <600000000>;
+ opp-microvolt = <900000 900000 1000000>;
+ };
+
+ /* RK3568M npu OPPs */
+ opp-m-900000000 {
+ opp-supported-hw = <0x02 0xffff>;
+ opp-hz = /bits/ 64 <900000000>;
+ opp-microvolt = <925000 925000 1000000>;
};
};
@@ -1209,8 +1304,8 @@
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <900000>;
opp-microvolt-L0 = <900000>;
- opp-microvolt-L1 = <850000>;
- opp-microvolt-L2 = <850000>;
+ opp-microvolt-L1 = <875000>;
+ opp-microvolt-L2 = <875000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
@@ -1271,57 +1366,84 @@
compatible = "operating-points-v2";
mbist-vmin = <825000 900000 950000>;
- nvmem-cells = <&gpu_leakage>, <&core_pvtm>, <&mbist_vmin>;
- nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
+ nvmem-cells = <&gpu_leakage>, <&core_pvtm>, <&mbist_vmin>, <&gpu_opp_info>,
+ <&specification_serial_number>, <&remark_spec_serial_number>;
+ nvmem-cell-names = "leakage", "pvtm", "mbist-vmin", "opp-info",
+ "specification_serial_number", "remark_spec_serial_number";
+ rockchip,supported-hw;
+ rockchip,max-volt = <1000000>;
+ rockchip,temp-hysteresis = <5000>;
+ rockchip,low-temp = <0>;
+ rockchip,low-temp-adjust-volt = <
+ /* MHz MHz uV */
+ 0 800 50000
+ >;
rockchip,pvtm-voltage-sel = <
0 84000 0
- 84001 91000 1
- 91001 100000 2
+ 84001 87000 1
+ 87001 91000 2
+ 91001 100000 3
>;
rockchip,pvtm-ch = <0 5>;
+ /* RK3568 && RK3568M gpu OPPs */
opp-200000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <200000000>;
- opp-microvolt = <850000>;
- opp-microvolt-L0 = <850000>;
- opp-microvolt-L1 = <825000>;
- opp-microvolt-L2 = <825000>;
+ opp-microvolt = <850000 850000 1000000>;
};
opp-300000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <300000000>;
- opp-microvolt = <850000>;
- opp-microvolt-L0 = <850000>;
- opp-microvolt-L1 = <825000>;
- opp-microvolt-L2 = <825000>;
+ opp-microvolt = <850000 850000 1000000>;
};
opp-400000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <400000000>;
- opp-microvolt = <850000>;
- opp-microvolt-L0 = <850000>;
- opp-microvolt-L1 = <825000>;
- opp-microvolt-L2 = <825000>;
+ opp-microvolt = <850000 850000 1000000>;
};
opp-600000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <600000000>;
- opp-microvolt = <875000>;
- opp-microvolt-L0 = <875000>;
- opp-microvolt-L1 = <825000>;
- opp-microvolt-L2 = <825000>;
+ opp-microvolt = <900000 900000 1000000>;
+ opp-microvolt-L0 = <900000 900000 1000000>;
+ opp-microvolt-L1 = <875000 875000 1000000>;
+ opp-microvolt-L2 = <850000 850000 1000000>;
+ opp-microvolt-L3 = <850000 850000 1000000>;
};
opp-700000000 {
+ opp-supported-hw = <0xfb 0xffff>;
opp-hz = /bits/ 64 <700000000>;
- opp-microvolt = <950000>;
- opp-microvolt-L0 = <950000>;
- opp-microvolt-L1 = <900000>;
- opp-microvolt-L2 = <850000>;
+ opp-microvolt = <950000 950000 1000000>;
+ opp-microvolt-L0 = <950000 950000 1000000>;
+ opp-microvolt-L1 = <925000 925000 1000000>;
+ opp-microvolt-L2 = <900000 900000 1000000>;
+ opp-microvolt-L3 = <875000 875000 1000000>;
};
opp-800000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <800000000>;
- opp-microvolt = <1000000>;
- opp-microvolt-L0 = <1000000>;
- opp-microvolt-L1 = <950000>;
- opp-microvolt-L2 = <900000>;
+ opp-microvolt = <1000000 1000000 1000000>;
+ opp-microvolt-L0 = <1000000 1000000 1000000>;
+ opp-microvolt-L1 = <975000 975000 1000000>;
+ opp-microvolt-L2 = <950000 950000 1000000>;
+ opp-microvolt-L3 = <925000 925000 1000000>;
};
+
+ /* RK3568J gpu OPPs */
+ opp-j-600000000 {
+ opp-supported-hw = <0x04 0xffff>;
+ opp-hz = /bits/ 64 <600000000>;
+ opp-microvolt = <900000 900000 1000000>;
+ };
+
+ /* RK3568M gpu OPPs */
+ opp-m-800000000 {
+ opp-supported-hw = <0x02 0xffff>;
+ opp-hz = /bits/ 64 <800000000>;
+ opp-microvolt = <950000 950000 1000000>;
+ };
+
};
pvtm@fde80000 {
@@ -1544,8 +1666,8 @@
opp-hz = /bits/ 64 <297000000>;
opp-microvolt = <900000>;
opp-microvolt-L0 = <900000>;
- opp-microvolt-L1 = <850000>;
- opp-microvolt-L2 = <850000>;
+ opp-microvolt-L1 = <875000>;
+ opp-microvolt-L2 = <875000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
@@ -1629,7 +1751,7 @@
opp-hz = /bits/ 64 <297000000>;
opp-microvolt = <900000>;
opp-microvolt-L0 = <900000>;
- opp-microvolt-L1 = <850000>;
+ opp-microvolt-L1 = <875000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
@@ -1649,8 +1771,8 @@
status = "disabled";
};
- mipi_csi2: mipi-csi2@fdfb0000 {
- compatible = "rockchip,rk3568-mipi-csi2";
+ mipi_csi2_hw: mipi-csi2-hw@fdfb0000 {
+ compatible = "rockchip,rk3568-mipi-csi2-hw";
reg = <0x0 0xfdfb0000 0x0 0x10000>;
reg-names = "csihost_regs";
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
@@ -1739,7 +1861,7 @@
rockchip,grf = <&grf>;
power-domains = <&power RK3568_PD_VI>;
iommus = <&rkisp_mmu>;
- rockchip,iq-feature = /bits/ 64 <0x3FBFFFE67FF>;
+ rockchip,iq-feature = /bits/ 64 <0x1BFBFFFE67FF>;
status = "disabled";
};
@@ -1768,6 +1890,13 @@
status = "disabled";
};
+ gmac_uio1: uio@fe010000 {
+ compatible = "rockchip,uio-gmac";
+ reg = <0x0 0xfe010000 0x0 0x10000>;
+ rockchip,ethernet = <&gmac1>;
+ status = "disabled";
+ };
+
gmac1: ethernet@fe010000 {
compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
reg = <0x0 0xfe010000 0x0 0x10000>;
@@ -1779,12 +1908,12 @@
<&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
<&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
<&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>,
- <&cru PCLK_XPCS>;
+ <&cru PCLK_XPCS>, <&cru CLK_XPCS_EEE>;
clock-names = "stmmaceth", "mac_clk_rx",
"mac_clk_tx", "clk_mac_refout",
"aclk_mac", "pclk_mac",
"clk_mac_speed", "ptp_ref",
- "pclk_xpcs";
+ "pclk_xpcs", "clk_xpcs_eee";
resets = <&cru SRST_A_GMAC1>;
reset-names = "stmmaceth";
@@ -1890,6 +2019,11 @@
reg = <4>;
remote-endpoint = <&lvds_in_vp1>;
};
+
+ vp1_out_lvds1: endpoint@5 {
+ reg = <5>;
+ remote-endpoint = <&lvds1_in_vp1>;
+ };
};
vp2: port@2 {
@@ -1907,6 +2041,11 @@
reg = <1>;
remote-endpoint = <&rgb_in_vp2>;
};
+
+ vp2_out_lvds1: endpoint@2 {
+ reg = <2>;
+ remote-endpoint = <&lvds1_in_vp2>;
+ };
};
};
};
@@ -1919,6 +2058,7 @@
clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
clock-names = "aclk", "iface";
#iommu-cells = <0>;
+ rockchip,disable-device-link-resume;
status = "disabled";
};
@@ -1926,12 +2066,12 @@
compatible = "rockchip,rk3568-mipi-dsi";
reg = <0x0 0xfe060000 0x0 0x10000>;
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>, <&video_phy0>;
- clock-names = "pclk", "hclk", "hs_clk";
+ clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>;
+ clock-names = "pclk", "hclk";
resets = <&cru SRST_P_DSITX_0>;
reset-names = "apb";
phys = <&video_phy0>;
- phy-names = "mipi_dphy";
+ phy-names = "dphy";
power-domains = <&power RK3568_PD_VO>;
rockchip,grf = <&grf>;
#address-cells = <1>;
@@ -1966,12 +2106,12 @@
compatible = "rockchip,rk3568-mipi-dsi";
reg = <0x0 0xfe070000 0x0 0x10000>;
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>, <&video_phy1>;
- clock-names = "pclk", "hclk", "hs_clk";
+ clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>;
+ clock-names = "pclk", "hclk";
resets = <&cru SRST_P_DSITX_1>;
reset-names = "apb";
phys = <&video_phy1>;
- phy-names = "mipi_dphy";
+ phy-names = "dphy";
power-domains = <&power RK3568_PD_VO>;
rockchip,grf = <&grf>;
#address-cells = <1>;
@@ -2024,7 +2164,7 @@
#address-cells = <1>;
#size-cells = <0>;
- hdmi_in: port {
+ port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
@@ -2034,6 +2174,7 @@
remote-endpoint = <&vp0_out_hdmi>;
status = "disabled";
};
+
hdmi_in_vp1: endpoint@1 {
reg = <1>;
remote-endpoint = <&vp1_out_hdmi>;
@@ -2324,8 +2465,12 @@
compatible = "operating-points-v2";
mbist-vmin = <825000 900000 950000>;
- nvmem-cells = <&log_leakage>, <&core_pvtm>, <&mbist_vmin>;
- nvmem-cell-names = "leakage", "pvtm", "mbist-vmin";
+ nvmem-cells = <&log_leakage>, <&core_pvtm>, <&mbist_vmin>, <&dmc_opp_info>,
+ <&specification_serial_number>, <&remark_spec_serial_number>;
+ nvmem-cell-names = "leakage", "pvtm", "mbist-vmin", "opp-info",
+ "specification_serial_number", "remark_spec_serial_number";
+ rockchip,supported-hw;
+ rockchip,max-volt = <1000000>;
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-adjust-volt = <
@@ -2342,17 +2487,21 @@
>;
rockchip,pvtm-ch = <0 5>;
+ /* RK3568 dmc OPPs */
opp-1560000000 {
+ opp-supported-hw = <0xf9 0xffff>;
opp-hz = /bits/ 64 <1560000000>;
- opp-microvolt = <900000>;
- opp-microvolt-L0 = <900000>;
- opp-microvolt-L1 = <850000>;
+ opp-microvolt = <900000 900000 1000000>;
+ opp-microvolt-L0 = <900000 900000 1000000>;
+ opp-microvolt-L1 = <875000 875000 1000000>;
};
- };
- dmcdbg: dmcdbg {
- compatible = "rockchip,rk3568-dmcdbg";
- status = "disabled";
+ /* RK3568J/M dmc OPPs */
+ opp-j-m-1560000000 {
+ opp-supported-hw = <0x06 0xffff>;
+ opp-hz = /bits/ 64 <1560000000>;
+ opp-microvolt = <875000 875000 1000000>;
+ };
};
pcie2x1: pcie@fe260000 {
@@ -2516,6 +2665,13 @@
};
};
+ gmac_uio0: uio@fe2a0000 {
+ compatible = "rockchip,uio-gmac";
+ reg = <0x0 0xfe2a0000 0x0 0x10000>;
+ rockchip,ethernet = <&gmac0>;
+ status = "disabled";
+ };
+
gmac0: ethernet@fe2a0000 {
compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
reg = <0x0 0xfe2a0000 0x0 0x10000>;
@@ -2527,12 +2683,12 @@
<&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>,
<&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>,
<&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>,
- <&cru PCLK_XPCS>;
+ <&cru PCLK_XPCS>, <&cru CLK_XPCS_EEE>;
clock-names = "stmmaceth", "mac_clk_rx",
"mac_clk_tx", "clk_mac_refout",
"aclk_mac", "pclk_mac",
"clk_mac_speed", "ptp_ref",
- "pclk_xpcs";
+ "pclk_xpcs", "clk_xpcs_eee";
resets = <&cru SRST_A_GMAC0>;
reset-names = "stmmaceth";
@@ -2597,7 +2753,7 @@
status = "disabled";
};
- sfc: sfc@fe300000 {
+ sfc: spi@fe300000 {
compatible = "rockchip,sfc";
reg = <0x0 0xfe300000 0x0 0x4000>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
@@ -2605,11 +2761,13 @@
clock-names = "clk_sfc", "hclk_sfc";
assigned-clocks = <&cru SCLK_SFC>;
assigned-clock-rates = <100000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
status = "disabled";
};
sdhci: sdhci@fe310000 {
- compatible = "rockchip,dwcmshc-sdhci", "snps,dwcmshc-sdhci";
+ compatible = "rockchip,rk3568-dwcmshc", "rockchip,dwcmshc-sdhci";
reg = <0x0 0xfe310000 0x0 0x10000>;
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>,
@@ -2619,6 +2777,10 @@
<&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
<&cru TCLK_EMMC>;
clock-names = "core", "bus", "axi", "block", "timer";
+ resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
+ <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
+ <&cru SRST_T_EMMC>;
+ reset-names = "core", "bus", "axi", "block", "timer";
status = "disabled";
};
@@ -2671,6 +2833,10 @@
cpu_code: cpu-code@2 {
reg = <0x02 0x2>;
};
+ specification_serial_number: specification-serial-number@7 {
+ reg = <0x07 0x1>;
+ bits = <0 5>;
+ };
otp_cpu_version: cpu-version@8 {
reg = <0x08 0x1>;
bits = <3 3>;
@@ -2717,6 +2883,22 @@
};
tsadc_trim_base: tsadc-trim-base@32 {
reg = <0x32 0x1>;
+ };
+ cpu_opp_info: cpu-opp-info@36 {
+ reg = <0x36 0x6>;
+ };
+ gpu_opp_info: gpu-opp-info@3c {
+ reg = <0x3c 0x6>;
+ };
+ npu_opp_info: npu-opp-info@42 {
+ reg = <0x42 0x6>;
+ };
+ dmc_opp_info: dmc-opp-info@48 {
+ reg = <0x48 0x6>;
+ };
+ remark_spec_serial_number: remark-spec-serial-number@56 {
+ reg = <0x56 0x1>;
+ bits = <0 5>;
};
};
@@ -2809,7 +2991,7 @@
};
pdm: pdm@fe440000 {
- compatible = "rockchip,rk3568-pdm";
+ compatible = "rockchip,rk3568-pdm", "rockchip,pdm";
reg = <0x0 0xfe440000 0x0 0x1000>;
clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
clock-names = "pdm_clk", "pdm_hclk";
@@ -3049,6 +3231,7 @@
pinctrl-names = "default", "high_speed";
pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
pinctrl-1 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins_hs>;
+ num-cs = <2>;
status = "disabled";
};
@@ -3065,6 +3248,7 @@
pinctrl-names = "default", "high_speed";
pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
pinctrl-1 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins_hs>;
+ num-cs = <2>;
status = "disabled";
};
@@ -3081,6 +3265,7 @@
pinctrl-names = "default", "high_speed";
pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
pinctrl-1 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins_hs>;
+ num-cs = <2>;
status = "disabled";
};
@@ -3097,6 +3282,7 @@
pinctrl-names = "default", "high_speed";
pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
pinctrl-1 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins_hs>;
+ num-cs = <2>;
status = "disabled";
};
@@ -3475,31 +3661,33 @@
status = "disabled";
};
- video_phy0: video-phy@fe850000 {
- compatible = "rockchip,rk3568-video-phy";
+ video_phy0: phy@fe850000 {
+ compatible = "rockchip,rk3568-dsi-dphy", "rockchip,rk3568-video-phy";
reg = <0x0 0xfe850000 0x0 0x10000>,
<0x0 0xfe060000 0x0 0x10000>;
+ reg-names = "phy", "host";
clocks = <&pmucru CLK_MIPIDSIPHY0_REF>,
<&cru PCLK_MIPIDSIPHY0>, <&cru PCLK_DSITX_0>;
- clock-names = "ref", "pclk_phy", "pclk_host";
+ clock-names = "ref", "pclk", "pclk_host";
#clock-cells = <0>;
resets = <&cru SRST_P_MIPIDSIPHY0>;
- reset-names = "rst";
+ reset-names = "apb";
power-domains = <&power RK3568_PD_VO>;
#phy-cells = <0>;
status = "disabled";
};
- video_phy1: video-phy@fe860000 {
- compatible = "rockchip,rk3568-video-phy";
+ video_phy1: phy@fe860000 {
+ compatible = "rockchip,rk3568-dsi-dphy", "rockchip,rk3568-video-phy";
reg = <0x0 0xfe860000 0x0 0x10000>,
<0x0 0xfe070000 0x0 0x10000>;
+ reg-names = "phy", "host";
clocks = <&pmucru CLK_MIPIDSIPHY1_REF>,
<&cru PCLK_MIPIDSIPHY1>, <&cru PCLK_DSITX_1>;
- clock-names = "ref", "pclk_phy", "pclk_host";
+ clock-names = "ref", "pclk", "pclk_host";
#clock-cells = <0>;
resets = <&cru SRST_P_MIPIDSIPHY1>;
- reset-names = "rst";
+ reset-names = "apb";
power-domains = <&power RK3568_PD_VO>;
#phy-cells = <0>;
status = "disabled";
@@ -3609,7 +3797,7 @@
#size-cells = <2>;
ranges;
- gpio0: gpio@fdd60000 {
+ gpio0: gpio0@fdd60000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xfdd60000 0x0 0x100>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
@@ -3617,12 +3805,11 @@
gpio-controller;
#gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 0 32>;
interrupt-controller;
#interrupt-cells = <2>;
};
- gpio1: gpio@fe740000 {
+ gpio1: gpio1@fe740000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xfe740000 0x0 0x100>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
@@ -3630,12 +3817,11 @@
gpio-controller;
#gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 32 32>;
interrupt-controller;
#interrupt-cells = <2>;
};
- gpio2: gpio@fe750000 {
+ gpio2: gpio2@fe750000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xfe750000 0x0 0x100>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
@@ -3643,12 +3829,11 @@
gpio-controller;
#gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 64 32>;
interrupt-controller;
#interrupt-cells = <2>;
};
- gpio3: gpio@fe760000 {
+ gpio3: gpio3@fe760000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xfe760000 0x0 0x100>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
@@ -3656,12 +3841,11 @@
gpio-controller;
#gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 96 32>;
interrupt-controller;
#interrupt-cells = <2>;
};
- gpio4: gpio@fe770000 {
+ gpio4: gpio4@fe770000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xfe770000 0x0 0x100>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
@@ -3669,7 +3853,6 @@
gpio-controller;
#gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 128 32>;
interrupt-controller;
#interrupt-cells = <2>;
};
--
Gitblit v1.6.2