18898c974SYassine Oudjana// SPDX-License-Identifier: BSD-3-Clause 28898c974SYassine Oudjana/* 38898c974SYassine Oudjana * Copyright (c) 2022, Linaro Limited 48898c974SYassine Oudjana */ 58898c974SYassine Oudjana 68898c974SYassine Oudjana#include "msm8996.dtsi" 78898c974SYassine Oudjana 88898c974SYassine Oudjana/ { 98898c974SYassine Oudjana /delete-node/ opp-table-cluster0; 108898c974SYassine Oudjana /delete-node/ opp-table-cluster1; 118898c974SYassine Oudjana 128898c974SYassine Oudjana /* 138898c974SYassine Oudjana * On MSM8996 Pro the cpufreq driver shifts speed bins into the high 148898c974SYassine Oudjana * nibble of supported hw, so speed bin 0 becomes 0x10, speed bin 1 158898c974SYassine Oudjana * becomes 0x20, speed 2 becomes 0x40. 168898c974SYassine Oudjana */ 178898c974SYassine Oudjana 188898c974SYassine Oudjana cluster0_opp: opp-table-cluster0 { 198898c974SYassine Oudjana compatible = "operating-points-v2-kryo-cpu"; 208898c974SYassine Oudjana nvmem-cells = <&speedbin_efuse>; 218898c974SYassine Oudjana opp-shared; 228898c974SYassine Oudjana 238898c974SYassine Oudjana opp-307200000 { 248898c974SYassine Oudjana opp-hz = /bits/ 64 <307200000>; 258898c974SYassine Oudjana opp-supported-hw = <0x70>; 268898c974SYassine Oudjana clock-latency-ns = <200000>; 278898c974SYassine Oudjana }; 288898c974SYassine Oudjana opp-384000000 { 298898c974SYassine Oudjana opp-hz = /bits/ 64 <384000000>; 308898c974SYassine Oudjana opp-supported-hw = <0x70>; 318898c974SYassine Oudjana clock-latency-ns = <200000>; 328898c974SYassine Oudjana }; 338898c974SYassine Oudjana opp-460800000 { 348898c974SYassine Oudjana opp-hz = /bits/ 64 <460800000>; 358898c974SYassine Oudjana opp-supported-hw = <0x70>; 368898c974SYassine Oudjana clock-latency-ns = <200000>; 378898c974SYassine Oudjana }; 388898c974SYassine Oudjana opp-537600000 { 398898c974SYassine Oudjana opp-hz = /bits/ 64 <537600000>; 408898c974SYassine Oudjana opp-supported-hw = <0x70>; 418898c974SYassine Oudjana clock-latency-ns = <200000>; 428898c974SYassine Oudjana }; 438898c974SYassine Oudjana opp-614400000 { 448898c974SYassine Oudjana opp-hz = /bits/ 64 <614400000>; 458898c974SYassine Oudjana opp-supported-hw = <0x70>; 468898c974SYassine Oudjana clock-latency-ns = <200000>; 478898c974SYassine Oudjana }; 488898c974SYassine Oudjana opp-691200000 { 498898c974SYassine Oudjana opp-hz = /bits/ 64 <691200000>; 508898c974SYassine Oudjana opp-supported-hw = <0x70>; 518898c974SYassine Oudjana clock-latency-ns = <200000>; 528898c974SYassine Oudjana }; 538898c974SYassine Oudjana opp-768000000 { 548898c974SYassine Oudjana opp-hz = /bits/ 64 <768000000>; 558898c974SYassine Oudjana opp-supported-hw = <0x70>; 568898c974SYassine Oudjana clock-latency-ns = <200000>; 578898c974SYassine Oudjana }; 588898c974SYassine Oudjana opp-844800000 { 598898c974SYassine Oudjana opp-hz = /bits/ 64 <844800000>; 608898c974SYassine Oudjana opp-supported-hw = <0x70>; 618898c974SYassine Oudjana clock-latency-ns = <200000>; 628898c974SYassine Oudjana }; 638898c974SYassine Oudjana opp-902400000 { 648898c974SYassine Oudjana opp-hz = /bits/ 64 <902400000>; 658898c974SYassine Oudjana opp-supported-hw = <0x70>; 668898c974SYassine Oudjana clock-latency-ns = <200000>; 678898c974SYassine Oudjana }; 688898c974SYassine Oudjana opp-979200000 { 698898c974SYassine Oudjana opp-hz = /bits/ 64 <979200000>; 708898c974SYassine Oudjana opp-supported-hw = <0x70>; 718898c974SYassine Oudjana clock-latency-ns = <200000>; 728898c974SYassine Oudjana }; 738898c974SYassine Oudjana opp-1056000000 { 748898c974SYassine Oudjana opp-hz = /bits/ 64 <1056000000>; 758898c974SYassine Oudjana opp-supported-hw = <0x70>; 768898c974SYassine Oudjana clock-latency-ns = <200000>; 778898c974SYassine Oudjana }; 788898c974SYassine Oudjana opp-1132800000 { 798898c974SYassine Oudjana opp-hz = /bits/ 64 <1132800000>; 808898c974SYassine Oudjana opp-supported-hw = <0x70>; 818898c974SYassine Oudjana clock-latency-ns = <200000>; 828898c974SYassine Oudjana }; 838898c974SYassine Oudjana opp-1209600000 { 848898c974SYassine Oudjana opp-hz = /bits/ 64 <1209600000>; 858898c974SYassine Oudjana opp-supported-hw = <0x70>; 868898c974SYassine Oudjana clock-latency-ns = <200000>; 878898c974SYassine Oudjana }; 888898c974SYassine Oudjana opp-1286400000 { 898898c974SYassine Oudjana opp-hz = /bits/ 64 <1286400000>; 908898c974SYassine Oudjana opp-supported-hw = <0x70>; 918898c974SYassine Oudjana clock-latency-ns = <200000>; 928898c974SYassine Oudjana }; 938898c974SYassine Oudjana opp-1363200000 { 948898c974SYassine Oudjana opp-hz = /bits/ 64 <1363200000>; 958898c974SYassine Oudjana opp-supported-hw = <0x70>; 968898c974SYassine Oudjana clock-latency-ns = <200000>; 978898c974SYassine Oudjana }; 988898c974SYassine Oudjana opp-1440000000 { 998898c974SYassine Oudjana opp-hz = /bits/ 64 <1440000000>; 1008898c974SYassine Oudjana opp-supported-hw = <0x70>; 1018898c974SYassine Oudjana clock-latency-ns = <200000>; 1028898c974SYassine Oudjana }; 1038898c974SYassine Oudjana opp-1516800000 { 1048898c974SYassine Oudjana opp-hz = /bits/ 64 <1516800000>; 1058898c974SYassine Oudjana opp-supported-hw = <0x70>; 1068898c974SYassine Oudjana clock-latency-ns = <200000>; 1078898c974SYassine Oudjana }; 1088898c974SYassine Oudjana opp-1593600000 { 1098898c974SYassine Oudjana opp-hz = /bits/ 64 <1593600000>; 1108898c974SYassine Oudjana opp-supported-hw = <0x70>; 1118898c974SYassine Oudjana clock-latency-ns = <200000>; 1128898c974SYassine Oudjana }; 1138898c974SYassine Oudjana opp-1996800000 { 1148898c974SYassine Oudjana opp-hz = /bits/ 64 <1996800000>; 1158898c974SYassine Oudjana opp-supported-hw = <0x20>; 1168898c974SYassine Oudjana clock-latency-ns = <200000>; 1178898c974SYassine Oudjana }; 1188898c974SYassine Oudjana opp-2188800000 { 1198898c974SYassine Oudjana opp-hz = /bits/ 64 <2188800000>; 1208898c974SYassine Oudjana opp-supported-hw = <0x10>; 1218898c974SYassine Oudjana clock-latency-ns = <200000>; 1228898c974SYassine Oudjana }; 1238898c974SYassine Oudjana }; 1248898c974SYassine Oudjana 1258898c974SYassine Oudjana cluster1_opp: opp-table-cluster1 { 1268898c974SYassine Oudjana compatible = "operating-points-v2-kryo-cpu"; 1278898c974SYassine Oudjana nvmem-cells = <&speedbin_efuse>; 1288898c974SYassine Oudjana opp-shared; 1298898c974SYassine Oudjana 1308898c974SYassine Oudjana opp-307200000 { 1318898c974SYassine Oudjana opp-hz = /bits/ 64 <307200000>; 1328898c974SYassine Oudjana opp-supported-hw = <0x70>; 1338898c974SYassine Oudjana clock-latency-ns = <200000>; 1348898c974SYassine Oudjana }; 1358898c974SYassine Oudjana opp-384000000 { 1368898c974SYassine Oudjana opp-hz = /bits/ 64 <384000000>; 1378898c974SYassine Oudjana opp-supported-hw = <0x70>; 1388898c974SYassine Oudjana clock-latency-ns = <200000>; 1398898c974SYassine Oudjana }; 1408898c974SYassine Oudjana opp-460800000 { 1418898c974SYassine Oudjana opp-hz = /bits/ 64 <460800000>; 1428898c974SYassine Oudjana opp-supported-hw = <0x70>; 1438898c974SYassine Oudjana clock-latency-ns = <200000>; 1448898c974SYassine Oudjana }; 1458898c974SYassine Oudjana opp-537600000 { 1468898c974SYassine Oudjana opp-hz = /bits/ 64 <537600000>; 1478898c974SYassine Oudjana opp-supported-hw = <0x70>; 1488898c974SYassine Oudjana clock-latency-ns = <200000>; 1498898c974SYassine Oudjana }; 1508898c974SYassine Oudjana opp-614400000 { 1518898c974SYassine Oudjana opp-hz = /bits/ 64 <614400000>; 1528898c974SYassine Oudjana opp-supported-hw = <0x70>; 1538898c974SYassine Oudjana clock-latency-ns = <200000>; 1548898c974SYassine Oudjana }; 1558898c974SYassine Oudjana opp-691200000 { 1568898c974SYassine Oudjana opp-hz = /bits/ 64 <691200000>; 1578898c974SYassine Oudjana opp-supported-hw = <0x70>; 1588898c974SYassine Oudjana clock-latency-ns = <200000>; 1598898c974SYassine Oudjana }; 1608898c974SYassine Oudjana opp-748800000 { 1618898c974SYassine Oudjana opp-hz = /bits/ 64 <748800000>; 1628898c974SYassine Oudjana opp-supported-hw = <0x70>; 1638898c974SYassine Oudjana clock-latency-ns = <200000>; 1648898c974SYassine Oudjana }; 1658898c974SYassine Oudjana opp-825600000 { 1668898c974SYassine Oudjana opp-hz = /bits/ 64 <825600000>; 1678898c974SYassine Oudjana opp-supported-hw = <0x70>; 1688898c974SYassine Oudjana clock-latency-ns = <200000>; 1698898c974SYassine Oudjana }; 1708898c974SYassine Oudjana opp-902400000 { 1718898c974SYassine Oudjana opp-hz = /bits/ 64 <902400000>; 1728898c974SYassine Oudjana opp-supported-hw = <0x70>; 1738898c974SYassine Oudjana clock-latency-ns = <200000>; 1748898c974SYassine Oudjana }; 1758898c974SYassine Oudjana opp-979200000 { 1768898c974SYassine Oudjana opp-hz = /bits/ 64 <979200000>; 1778898c974SYassine Oudjana opp-supported-hw = <0x70>; 1788898c974SYassine Oudjana clock-latency-ns = <200000>; 1798898c974SYassine Oudjana }; 1808898c974SYassine Oudjana opp-1056000000 { 1818898c974SYassine Oudjana opp-hz = /bits/ 64 <1056000000>; 1828898c974SYassine Oudjana opp-supported-hw = <0x70>; 1838898c974SYassine Oudjana clock-latency-ns = <200000>; 1848898c974SYassine Oudjana }; 1858898c974SYassine Oudjana opp-1132800000 { 1868898c974SYassine Oudjana opp-hz = /bits/ 64 <1132800000>; 1878898c974SYassine Oudjana opp-supported-hw = <0x70>; 1888898c974SYassine Oudjana clock-latency-ns = <200000>; 1898898c974SYassine Oudjana }; 1908898c974SYassine Oudjana opp-1209600000 { 1918898c974SYassine Oudjana opp-hz = /bits/ 64 <1209600000>; 1928898c974SYassine Oudjana opp-supported-hw = <0x70>; 1938898c974SYassine Oudjana clock-latency-ns = <200000>; 1948898c974SYassine Oudjana }; 1958898c974SYassine Oudjana opp-1286400000 { 1968898c974SYassine Oudjana opp-hz = /bits/ 64 <1286400000>; 1978898c974SYassine Oudjana opp-supported-hw = <0x70>; 1988898c974SYassine Oudjana clock-latency-ns = <200000>; 1998898c974SYassine Oudjana }; 2008898c974SYassine Oudjana opp-1363200000 { 2018898c974SYassine Oudjana opp-hz = /bits/ 64 <1363200000>; 2028898c974SYassine Oudjana opp-supported-hw = <0x70>; 2038898c974SYassine Oudjana clock-latency-ns = <200000>; 2048898c974SYassine Oudjana }; 2058898c974SYassine Oudjana opp-1440000000 { 2068898c974SYassine Oudjana opp-hz = /bits/ 64 <1440000000>; 2078898c974SYassine Oudjana opp-supported-hw = <0x70>; 2088898c974SYassine Oudjana clock-latency-ns = <200000>; 2098898c974SYassine Oudjana }; 2108898c974SYassine Oudjana opp-1516800000 { 2118898c974SYassine Oudjana opp-hz = /bits/ 64 <1516800000>; 2128898c974SYassine Oudjana opp-supported-hw = <0x70>; 2138898c974SYassine Oudjana clock-latency-ns = <200000>; 2148898c974SYassine Oudjana }; 2158898c974SYassine Oudjana opp-1593600000 { 2168898c974SYassine Oudjana opp-hz = /bits/ 64 <1593600000>; 2178898c974SYassine Oudjana opp-supported-hw = <0x70>; 2188898c974SYassine Oudjana clock-latency-ns = <200000>; 2198898c974SYassine Oudjana }; 2208898c974SYassine Oudjana opp-1670400000 { 2218898c974SYassine Oudjana opp-hz = /bits/ 64 <1670400000>; 2228898c974SYassine Oudjana opp-supported-hw = <0x70>; 2238898c974SYassine Oudjana clock-latency-ns = <200000>; 2248898c974SYassine Oudjana }; 2258898c974SYassine Oudjana opp-1747200000 { 2268898c974SYassine Oudjana opp-hz = /bits/ 64 <1747200000>; 2278898c974SYassine Oudjana opp-supported-hw = <0x70>; 2288898c974SYassine Oudjana clock-latency-ns = <200000>; 2298898c974SYassine Oudjana }; 2308898c974SYassine Oudjana opp-1824000000 { 2318898c974SYassine Oudjana opp-hz = /bits/ 64 <1824000000>; 2328898c974SYassine Oudjana opp-supported-hw = <0x70>; 2338898c974SYassine Oudjana clock-latency-ns = <200000>; 2348898c974SYassine Oudjana }; 2358898c974SYassine Oudjana opp-1900800000 { 2368898c974SYassine Oudjana opp-hz = /bits/ 64 <1900800000>; 2378898c974SYassine Oudjana opp-supported-hw = <0x70>; 2388898c974SYassine Oudjana clock-latency-ns = <200000>; 2398898c974SYassine Oudjana }; 2408898c974SYassine Oudjana opp-1977600000 { 2418898c974SYassine Oudjana opp-hz = /bits/ 64 <1977600000>; 2428898c974SYassine Oudjana opp-supported-hw = <0x30>; 2438898c974SYassine Oudjana clock-latency-ns = <200000>; 2448898c974SYassine Oudjana }; 2458898c974SYassine Oudjana opp-2054400000 { 2468898c974SYassine Oudjana opp-hz = /bits/ 64 <2054400000>; 2478898c974SYassine Oudjana opp-supported-hw = <0x30>; 2488898c974SYassine Oudjana clock-latency-ns = <200000>; 2498898c974SYassine Oudjana }; 2508898c974SYassine Oudjana opp-2150400000 { 2518898c974SYassine Oudjana opp-hz = /bits/ 64 <2150400000>; 2528898c974SYassine Oudjana opp-supported-hw = <0x30>; 2538898c974SYassine Oudjana clock-latency-ns = <200000>; 2548898c974SYassine Oudjana }; 2558898c974SYassine Oudjana opp-2246400000 { 2568898c974SYassine Oudjana opp-hz = /bits/ 64 <2246400000>; 2578898c974SYassine Oudjana opp-supported-hw = <0x10>; 2588898c974SYassine Oudjana clock-latency-ns = <200000>; 2598898c974SYassine Oudjana }; 2608898c974SYassine Oudjana opp-2342400000 { 2618898c974SYassine Oudjana opp-hz = /bits/ 64 <2342400000>; 2628898c974SYassine Oudjana opp-supported-hw = <0x10>; 2638898c974SYassine Oudjana clock-latency-ns = <200000>; 2648898c974SYassine Oudjana }; 2658898c974SYassine Oudjana }; 2668898c974SYassine Oudjana}; 267*1ae55cafSDmitry Baryshkov 268*1ae55cafSDmitry Baryshkov&gpu_opp_table { 269*1ae55cafSDmitry Baryshkov /* 270*1ae55cafSDmitry Baryshkov * Unlike CPU opp tables, the GPU driver does not shift speed bins. 271*1ae55cafSDmitry Baryshkov * 272*1ae55cafSDmitry Baryshkov * 652.8 Mhz is available on speed bin 0 only. 273*1ae55cafSDmitry Baryshkov * 624 Mhz and 560 Mhz are available on speed bins 0 and 1. 274*1ae55cafSDmitry Baryshkov * All the rest are available on all bins of the hardware (like on 275*1ae55cafSDmitry Baryshkov * plain 8996). 276*1ae55cafSDmitry Baryshkov */ 277*1ae55cafSDmitry Baryshkov 278*1ae55cafSDmitry Baryshkov opp-652800000 { 279*1ae55cafSDmitry Baryshkov opp-hz = /bits/ 64 <652800000>; 280*1ae55cafSDmitry Baryshkov opp-supported-hw = <0x01>; 281*1ae55cafSDmitry Baryshkov }; 282*1ae55cafSDmitry Baryshkov opp-624000000 { 283*1ae55cafSDmitry Baryshkov opp-hz = /bits/ 64 <624000000>; 284*1ae55cafSDmitry Baryshkov opp-supported-hw = <0x03>; 285*1ae55cafSDmitry Baryshkov }; 286*1ae55cafSDmitry Baryshkov opp-560000000 { 287*1ae55cafSDmitry Baryshkov opp-hz = /bits/ 64 <560000000>; 288*1ae55cafSDmitry Baryshkov opp-supported-hw = <0x03>; 289*1ae55cafSDmitry Baryshkov }; 290*1ae55cafSDmitry Baryshkov /* The rest is inherited from msm8996 */ 291*1ae55cafSDmitry Baryshkov}; 292