// SPDX-License-Identifier: (GPL-2.0+ OR MIT) // Copyright (C) 2023 Martin Botka / { cpu_opp_table: opp-table-cpu { compatible = "allwinner,sun50i-h616-operating-points"; nvmem-cells = <&cpu_speed_grade>; opp-shared; opp-480000000 { opp-hz = /bits/ 64 <480000000>; opp-microvolt = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x3f>; }; opp-600000000 { opp-hz = /bits/ 64 <600000000>; opp-microvolt = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x12>; }; opp-720000000 { opp-hz = /bits/ 64 <720000000>; opp-microvolt = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x2d>; }; opp-792000000 { opp-hz = /bits/ 64 <792000000>; opp-microvolt-speed1 = <900000>; opp-microvolt-speed4 = <940000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x12>; }; opp-936000000 { opp-hz = /bits/ 64 <936000000>; opp-microvolt = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x0d>; }; opp-1008000000 { opp-hz = /bits/ 64 <1008000000>; opp-microvolt-speed0 = <950000>; opp-microvolt-speed1 = <940000>; opp-microvolt-speed2 = <950000>; opp-microvolt-speed3 = <950000>; opp-microvolt-speed4 = <1020000>; opp-microvolt-speed5 = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x3f>; }; opp-1032000000 { opp-hz = /bits/ 64 <1032000000>; opp-microvolt = <900000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x20>; }; opp-1104000000 { opp-hz = /bits/ 64 <1104000000>; opp-microvolt-speed0 = <1000000>; opp-microvolt-speed2 = <1000000>; opp-microvolt-speed3 = <1000000>; opp-microvolt-speed5 = <950000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x2d>; }; opp-1200000000 { opp-hz = /bits/ 64 <1200000000>; opp-microvolt-speed0 = <1050000>; opp-microvolt-speed1 = <1020000>; opp-microvolt-speed2 = <1050000>; opp-microvolt-speed3 = <1050000>; opp-microvolt-speed4 = <1100000>; opp-microvolt-speed5 = <1020000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x3f>; }; opp-1320000000 { opp-hz = /bits/ 64 <1320000000>; opp-microvolt = <1100000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x1d>; }; opp-1416000000 { opp-hz = /bits/ 64 <1416000000>; opp-microvolt = <1100000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x2d>; }; opp-1512000000 { opp-hz = /bits/ 64 <1512000000>; opp-microvolt-speed1 = <1100000>; opp-microvolt-speed3 = <1100000>; opp-microvolt-speed5 = <1160000>; clock-latency-ns = <244144>; /* 8 32k periods */ opp-supported-hw = <0x2a>; }; }; }; &cpu0 { operating-points-v2 = <&cpu_opp_table>; }; &cpu1 { operating-points-v2 = <&cpu_opp_table>; }; &cpu2 { operating-points-v2 = <&cpu_opp_table>; }; &cpu3 { operating-points-v2 = <&cpu_opp_table>; };