diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index b7cb50996e83..a76ef2c68cc6 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -625,6 +625,23 @@ compatible = "operating-points-v2"; opp-shared; + rockchip,pvtm-voltage-sel = < + 0 1640 0 + 1641 1675 1 + 1676 1710 2 + 1711 1743 3 + 1744 1776 4 + 1777 9999 5 + >; + rockchip,pvtm-pvtpll; + rockchip,pvtm-offset = <0x18>; + rockchip,pvtm-sample-time = <1100>; + rockchip,pvtm-freq = <1608000>; + rockchip,pvtm-volt = <750000>; + rockchip,pvtm-ref-temp = <25>; + rockchip,pvtm-temp-prop = <(-148) (-287)>; + rockchip,pvtm-thermal-zone = "soc-thermal"; + rockchip,grf = <&bigcore0_grf>; volt-mem-read-margin = < 855000 1 @@ -632,74 +649,129 @@ 675000 3 495000 4 >; - - rockchip,reboot-freq = <1800000>; + low-volt-mem-read-margin = <4>; + intermediate-threshold-freq = <1008000>; /* KHz */ + rockchip,reboot-freq = <1800000>; /* KHz */ opp-408000000 { opp-hz = /bits/ 64 <408000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; opp-suspend; }; opp-600000000 { opp-hz = /bits/ 64 <600000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-816000000 { opp-hz = /bits/ 64 <816000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1008000000 { opp-hz = /bits/ 64 <1008000000>; - opp-microvolt = <625000 625000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1200000000 { opp-hz = /bits/ 64 <1200000000>; - opp-microvolt = <650000 650000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1416000000 { opp-hz = /bits/ 64 <1416000000>; - opp-microvolt = <675000 675000 1000000>, - <675000 675000 1000000>; + opp-microvolt = <700000 700000 1000000>, + <700000 700000 1000000>; + opp-microvolt-L1 = <687500 687500 1000000>, + <687500 687500 1000000>; + opp-microvolt-L2 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L3 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L4 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L5 = <675000 675000 1000000>, + <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1608000000 { opp-hz = /bits/ 64 <1608000000>; - opp-microvolt = <700000 700000 1000000>, - <700000 700000 1000000>; + opp-microvolt = <750000 750000 1000000>, + <750000 750000 1000000>; + opp-microvolt-L1 = <737500 737500 1000000>, + <737500 737500 1000000>; + opp-microvolt-L2 = <725000 725000 1000000>, + <725000 725000 1000000>; + opp-microvolt-L3 = <712500 712500 1000000>, + <712500 712500 1000000>; + opp-microvolt-L4 = <700000 700000 1000000>, + <700000 700000 1000000>; + opp-microvolt-L5 = <700000 700000 1000000>, + <700000 700000 1000000>; clock-latency-ns = <40000>; }; opp-1800000000 { opp-hz = /bits/ 64 <1800000000>; - opp-microvolt = <775000 775000 1000000>, - <775000 775000 1000000>; + opp-microvolt = <825000 825000 1000000>, + <825000 825000 1000000>; + opp-microvolt-L1 = <812500 812500 1000000>, + <812500 812500 1000000>; + opp-microvolt-L2 = <800000 800000 1000000>, + <800000 800000 1000000>; + opp-microvolt-L3 = <787500 787500 1000000>, + <787500 787500 1000000>; + opp-microvolt-L4 = <775000 775000 1000000>, + <775000 775000 1000000>; + opp-microvolt-L5 = <762500 762500 1000000>, + <762500 762500 1000000>; clock-latency-ns = <40000>; }; opp-2016000000 { opp-hz = /bits/ 64 <2016000000>; - opp-microvolt = <850000 850000 1000000>, - <850000 850000 1000000>; + opp-microvolt = <900000 900000 1000000>, + <900000 900000 1000000>; + opp-microvolt-L1 = <887500 887500 1000000>, + <887500 887500 1000000>; + opp-microvolt-L2 = <875000 875000 1000000>, + <875000 875000 1000000>; + opp-microvolt-L3 = <862500 862500 1000000>, + <862500 862500 1000000>; + opp-microvolt-L4 = <850000 850000 1000000>, + <850000 850000 1000000>; + opp-microvolt-L5 = <837500 837500 1000000>, + <837500 837500 1000000>; clock-latency-ns = <40000>; }; opp-2208000000 { opp-hz = /bits/ 64 <2208000000>; - opp-microvolt = <925000 925000 1000000>, - <925000 925000 1000000>; + opp-microvolt = <975000 975000 1000000>, + <975000 975000 1000000>; + opp-microvolt-L2 = <962500 962500 1000000>, + <962500 962500 1000000>; + opp-microvolt-L3 = <950000 950000 1000000>, + <950000 950000 1000000>; + opp-microvolt-L4 = <925000 925000 1000000>, + <925000 925000 1000000>; + opp-microvolt-L5 = <912500 912500 1000000>, + <912500 912500 1000000>; clock-latency-ns = <40000>; }; opp-2400000000 { opp-hz = /bits/ 64 <2400000000>; opp-microvolt = <1000000 1000000 1000000>, <1000000 1000000 1000000>; + opp-microvolt-L3 = <987500 987500 1000000>, + <987500 987500 1000000>; + opp-microvolt-L4 = <975000 975000 1000000>, + <975000 975000 1000000>; + opp-microvolt-L5 = <962500 962500 1000000>, + <962500 962500 1000000>; clock-latency-ns = <40000>; }; }; @@ -708,6 +780,23 @@ compatible = "operating-points-v2"; opp-shared; + rockchip,pvtm-voltage-sel = < + 0 1640 0 + 1641 1675 1 + 1676 1710 2 + 1711 1743 3 + 1744 1776 4 + 1777 9999 5 + >; + rockchip,pvtm-pvtpll; + rockchip,pvtm-offset = <0x18>; + rockchip,pvtm-sample-time = <1100>; + rockchip,pvtm-freq = <1608000>; + rockchip,pvtm-volt = <750000>; + rockchip,pvtm-ref-temp = <25>; + rockchip,pvtm-temp-prop = <(-148) (-287)>; + rockchip,pvtm-thermal-zone = "soc-thermal"; + rockchip,grf = <&bigcore1_grf>; volt-mem-read-margin = < 855000 1 @@ -715,74 +804,129 @@ 675000 3 495000 4 >; - - rockchip,reboot-freq = <1800000>; + low-volt-mem-read-margin = <4>; + intermediate-threshold-freq = <1008000>; /* KHz */ + rockchip,reboot-freq = <1800000>; /* KHz */ opp-408000000 { opp-hz = /bits/ 64 <408000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; opp-suspend; }; opp-600000000 { opp-hz = /bits/ 64 <600000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-816000000 { opp-hz = /bits/ 64 <816000000>; - opp-microvolt = <600000 600000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1008000000 { opp-hz = /bits/ 64 <1008000000>; - opp-microvolt = <625000 625000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1200000000 { opp-hz = /bits/ 64 <1200000000>; - opp-microvolt = <650000 650000 1000000>, + opp-microvolt = <675000 675000 1000000>, <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1416000000 { opp-hz = /bits/ 64 <1416000000>; - opp-microvolt = <675000 675000 1000000>, - <675000 675000 1000000>; + opp-microvolt = <700000 700000 1000000>, + <700000 700000 1000000>; + opp-microvolt-L1 = <687500 687500 1000000>, + <687500 687500 1000000>; + opp-microvolt-L2 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L3 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L4 = <675000 675000 1000000>, + <675000 675000 1000000>; + opp-microvolt-L5 = <675000 675000 1000000>, + <675000 675000 1000000>; clock-latency-ns = <40000>; }; opp-1608000000 { opp-hz = /bits/ 64 <1608000000>; - opp-microvolt = <700000 700000 1000000>, - <700000 700000 1000000>; + opp-microvolt = <750000 750000 1000000>, + <750000 750000 1000000>; + opp-microvolt-L1 = <737500 737500 1000000>, + <737500 737500 1000000>; + opp-microvolt-L2 = <725000 725000 1000000>, + <725000 725000 1000000>; + opp-microvolt-L3 = <712500 712500 1000000>, + <712500 712500 1000000>; + opp-microvolt-L4 = <700000 700000 1000000>, + <700000 700000 1000000>; + opp-microvolt-L5 = <700000 700000 1000000>, + <700000 700000 1000000>; clock-latency-ns = <40000>; }; opp-1800000000 { opp-hz = /bits/ 64 <1800000000>; - opp-microvolt = <775000 775000 1000000>, - <775000 775000 1000000>; + opp-microvolt = <825000 825000 1000000>, + <825000 825000 1000000>; + opp-microvolt-L1 = <812500 812500 1000000>, + <812500 812500 1000000>; + opp-microvolt-L2 = <800000 800000 1000000>, + <800000 800000 1000000>; + opp-microvolt-L3 = <787500 787500 1000000>, + <787500 787500 1000000>; + opp-microvolt-L4 = <775000 775000 1000000>, + <775000 775000 1000000>; + opp-microvolt-L5 = <762500 762500 1000000>, + <762500 762500 1000000>; clock-latency-ns = <40000>; }; opp-2016000000 { opp-hz = /bits/ 64 <2016000000>; - opp-microvolt = <850000 850000 1000000>, - <850000 850000 1000000>; + opp-microvolt = <900000 900000 1000000>, + <900000 900000 1000000>; + opp-microvolt-L1 = <887500 887500 1000000>, + <887500 887500 1000000>; + opp-microvolt-L2 = <875000 875000 1000000>, + <875000 875000 1000000>; + opp-microvolt-L3 = <862500 862500 1000000>, + <862500 862500 1000000>; + opp-microvolt-L4 = <850000 850000 1000000>, + <850000 850000 1000000>; + opp-microvolt-L5 = <837500 837500 1000000>, + <837500 837500 1000000>; clock-latency-ns = <40000>; }; opp-2208000000 { opp-hz = /bits/ 64 <2208000000>; - opp-microvolt = <925000 925000 1000000>, - <925000 925000 1000000>; + opp-microvolt = <975000 975000 1000000>, + <975000 975000 1000000>; + opp-microvolt-L2 = <962500 962500 1000000>, + <962500 962500 1000000>; + opp-microvolt-L3 = <950000 950000 1000000>, + <950000 950000 1000000>; + opp-microvolt-L4 = <925000 925000 1000000>, + <925000 925000 1000000>; + opp-microvolt-L5 = <912500 912500 1000000>, + <912500 912500 1000000>; clock-latency-ns = <40000>; }; opp-2400000000 { opp-hz = /bits/ 64 <2400000000>; opp-microvolt = <1000000 1000000 1000000>, <1000000 1000000 1000000>; + opp-microvolt-L3 = <987500 987500 1000000>, + <987500 987500 1000000>; + opp-microvolt-L4 = <975000 975000 1000000>, + <975000 975000 1000000>; + opp-microvolt-L5 = <962500 962500 1000000>, + <962500 962500 1000000>; clock-latency-ns = <40000>; }; };