https://www.cnx-software.com/2022/07/17/what-is-pvtm-or-why-your-rockchip-rk3588-cpu-may-not-reach-2-4-ghz/ Skip to content CNX Software - Embedded Systems NewsCNX Software - Embedded Systems News CNX Software - Embedded Systems News Reviews, tutorials and the latest news about embedded systems, IoT, open-source hardware, SBC's, microcontrollers, processors, and more Orange Pi Development BoardsOrange Pi Development Boards Menu * All News * Raspberry Pi * Arduino * Reviews * Tutorials * Shop * About + About + Contact Us + Advertisement & Consulting Services + Work for Us + Support CNX Software + Privacy Policy Posted on July 17, 2022July 17, 2022 by Jean-Luc Aufranc (CNXSoft) - 14 Comments on What is PVTM? Or why your Rockchip RK3588 CPU may not reach 2.4 GHz What is PVTM? Or why your Rockchip RK3588 CPU may not reach 2.4 GHz While the Rockchip RK3588 processor is advertised as reaching 2.4 GHz, not all RK3588 chips may achieve this frequency. The keyword is PVTM (Process-Voltage-Temperature Monitor), and we'll try to explain why it does, and why some of the RK3588 processors may only be clocked at about 2.3 GHz, while others will run fine at 2.4 GHz. This all started with Rock 5B SBC debug party, where we noticed our boards did not reach the same frequency. Willy Tarreau noted the "pvtm" value was different between our boards: * Willy's board: (Cortex-A76 cluster 1 @ 2,304 MHz, cluster 2 @ 2,352 MHz) [# dmesg|grep cpu.*pv] 1 # dmesg|grep cpu.*pvtm 2 [ 2.606324] cpu cpu0: pvtm=1482 3 [ 2.606542] cpu cpu0: pvtm-volt-sel=3 4 [ 2.614206] cpu cpu4: pvtm=1722 5 [ 2.618389] cpu cpu4: pvtm-volt-sel=5 6 [ 2.626814] cpu cpu6: pvtm=1744 7 [ 2.630998] cpu cpu6: pvtm-volt-sel=6 * CNXSoft board (Cortex-A76 cluster 1 @ 2,304 MHz, cluster 2 @ 2,304 MHz) : [[ 3.620281] cpu cp] 1 [ 3.620281] cpu cpu0: pvtm=1490 2 [ 3.620376] cpu cpu0: pvtm-volt-sel=4 3 [ 3.627377] cpu cpu4: pvtm=1736 4 [ 3.631320] cpu cpu4: pvtm-volt-sel=5 5 [ 3.639103] cpu cpu6: pvtm=1732 6 [ 3.643069] cpu cpu6: pvtm-volt-sel=5 * Thomas Kaiser (tkaiser) board: (Cortex-A76 cluster 1 @ 2,400 MHz, cluster 2 @ 2,400 MHz) [[ 3.117399] cpu c] 1 [ 3.117399] cpu cpu0: pvtm=1528 2 [ 3.117491] cpu cpu0: pvtm-volt-sel=5 3 [ 3.124529] cpu cpu4: pvtm=1785 4 [ 3.128495] cpu cpu4: pvtm-volt-sel=7 5 [ 3.136234] cpu cpu6: pvtm=1782 6 [ 3.140173] cpu cpu6: pvtm-volt-sel=7 For reference, CPU 0 to 3 are Cortex-A55 cores, CPU 4-5 are two Cortex-A76 cores (cluster 1), and CPU 6-7 are two Cortex-A76 cores (cluster2). The frequencies reported above are Operating Performance Point (OPP) reported by the kernel, but the actual measured frequency in SBC-Bench.sh script may differ: * CNXSoft board: [Checking cpufreq OPP] Checking cpufreq OPP for cpu4-cpu5 (Cortex-A76): 1 Cpufreq OPP: 2304 Measured: 2304 (2304.996/2304.969/2304.943 2 ) 3 Cpufreq OPP: 2208 Measured: 2214 (2215.206/2215.036/2214.696 4 ) 5 ... 6 Checking cpufreq OPP for cpu6-cpu7 (Cortex-A76): 7 8 Cpufreq OPP: 2304 Measured: 2298 (2298.327/2298.300/2298.196 9 ) Cpufreq OPP: 2208 Measured: 2208 (2208.369/2208.369/2208.248 ) * Thomas board [Checking cpufreq OPP] Checking cpufreq OPP for cpu4-cpu5 (Cortex-A76): 1 Cpufreq OPP: 2400 Measured: 2348 (2348.432/2348.405/2348.268 2 ) (-2.2%) 3 Cpufreq OPP: 2208 Measured: 2185 (2185.642/2185.619/2185.571 4 ) 5 6 Checking cpufreq OPP for cpu6-cpu7 (Cortex-A76): 7 8 Cpufreq OPP: 2400 Measured: 2348 (2348.350/2348.268/2348.159 9 ) (-2.2%) Cpufreq OPP: 2208 Measured: 2185 (2185.548/2185.453/2185.311 ) What's really odd is that we have different OPP frequencies. Thomas' Cortex-A76 cores are set up to 2,400 MHz, but are only measured to 2,348 MHz. It's still better than the 2304 and 2,298 MHz measured on my system. We'll see if we can find more details about pvtm in the Rockchip RK3588 TRM (and SDK). It can indeed be found in Chapter 17 entitled "Process-Voltage-Temperature Monitor (PVTM)" of TRM Part 2. Rockchip PVTMRockchip PVTMPVTM block diagram with apb_slv APB slave interface with 32-bit bus width, and PVTM engine As described in the technical reference manual: The Process-Voltage-Temperature Monitor (PVTM) is used to monitor the chip performance variance caused by chip process, voltage, and temperature. PVTM supports the following features: + A clock oscillation ring is integrated and used to generate a clock like signal, the frequency of this clock is determined by the cell delay value of clock oscillation ring circuit. + A calculation logic is used to measure the frequency of the clock oscillation ring. + Follow PVTM blocks are supported: o BIGCORE0_PVTM, used near A76_0/1 o BIGCORE1_PVTM, used near A76_2/3 o LITCORE_PVTM, used near DSU and A55_0/1/2/3 o NPU_PVTM, used near NPU o GPU_PVTM, used near GPU o PMU_PVTM, used near PMU So that means not only the three CPU clusters (1x Cortex-A55 and 2x Cortex-A76) frequencies are impacted by the PVTM, but also the GPU and NPU frequencies, while for the PMU it appears to be used for low power modes as an alternative to a 32KHz clock source. The documentation further explains there are two methods of calculation (manual and auto): A clock is generated by the oscillation ring and a frequency fixed clock clk_pvtm is used to calculate the cycles of the clock. Supposing the time period is 1s, then the clock period of oscillation ring clock is T= 1/clock_counter(s), the cell delay value is T/2. For manual mode, user can only get one frequency result for a calculation. For auto mode, user can set the calculation times, and get the maximum, minimum and average frequency during calculation. It also supports to generate an interrupt when the minimum or average frequency below a threshold. The threshold can be configured. Every chip will be slightly different during manufacturing, and some may be able to reach 2.4 GHz while others not. The room temperature may also impact the performance. I'm based in the North of Thailand, and my room temperature is usually around 28degC, so it's not impossible that my board can reach 2.4 GHz in winter (about 20degC in the morning), but is limited to about 2.3 GHz for the rest of the year... The PVTM is probably used in conjunction with the PVTPLL (Chapter 18) which is "used to monitor the chip performance variance caused by chip process, voltage, and temperature, and generate a set of reference signals for adjusting the voltage of the chip. I also wanted to check RK3588 Linux SDK on Gitlab as well, but I've just requested access from Rockchip, so we have to wait. Having said that the PVTM is not a new thing and I could find a patch submitted to mainline Linux in 2018 for the RK3288 processor, but I've just only noticed now. The Rockchip's Linux CPUFreq driver documentation also mentions PVTM and how it assigns OPP values: Rockchip's CPUFreq driver attempts to read leakage value from eFuse and get frequency count from pvtm, then supplies the OPP framework with 'prop' information which is used to determine opp-microvolt-property of OPPS when it is parsed by the OPP framework. This is based on operating-points-v2, but the driver can also create the "cpufreq-dt" platform_device to compatibility with operating-points. Companies will sometimes create new part numbers for chips with the same functionality but different frequencies and Rockchip did that for RK3399K @ 2.0 GHz, RK3399 @ 1.8 GHz, and RK3399-T @ 1.5 GHz, but the small differences we're seeing between Rockchip RK3588 processors probably did not warrant naming a new part, or it may come up later on. jean-luc aufranc cnxsoftjean-luc aufranc cnxsoft Jean-Luc Aufranc (CNXSoft) Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. Share this: Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples ROCK Pi 4C PlusROCK Pi 4C Plus Tagscpu, Linux, rockchip PICO-V2K4 SBCPICO-V2K4 SBC Related posts: 1. RK3566 & RK3568 processors to get Linux mainline support soon 2. How to flash firmware to Rockchip devices in Windows and Linux (2021 Edition) 3. Banana Pi teases Rockchip RK3588 SoM and development kit 4. Linux 5.17 release - Main changes, Arm, RISC-V, and MIPS architectures 5. Linux 5.18 release - Main changes, Arm, RISC-V, and MIPS architectures Connect with: FacebookFacebook GoogleGoogle TwitterTwitter Subscribe Login Notify of [new follow-up comments ] [ ] [>] guestguest Label [ ] {} [+] [ ] [ ] Name* [ ] Email* [ ] Website [ ] I agree to the Privacy Policy The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment. [ ] [Post Comment] guestguest Label [ ] {} [+] [ ] [ ] Name* [ ] Email* [ ] Website [ ] I agree to the Privacy Policy The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment. [ ] [Post Comment] 14 Comments oldest newest WillyWilly Willy 13 hours ago Jean-Luc, not sure if you're also reading the thread about the "debug party", but I also shared my findings and analysis there: https:// forum.radxa.com/t/rock-5b-debug-party-invitation/10483/141 In short, PVTM is an interesting way to estimate the silicon quality. It's only a measure and not a limitation. The OPPs are conditioned on these values. It's just that we're missing extra OPPs in the DTS to compensate for the lower grade in our CPUs, but we could create new OPPs like we used to before. At least I think Radxa ought to do it to make sure that their customers do not face different frequencies,... Read more >> Reply TheguyukTheguyuk Theguyuk 12 hours ago Do you still have your Mekotronics RK3588 and what speed does that give? Mekotronics have had their RK3588 available and in use for months so is it better, more mature development wise. Reply Jean-Luc Aufranc (CNXSoft)Jean-Luc Aufranc (CNXSoft) Author Jean-Luc Aufranc (CNXSoft) 12 hours ago Theguyuk I've not checked the PVTM value, but the maximum frequency was 2210 MHz in Android 12. Reply TheguyukTheguyuk Theguyuk 12 hours ago Jean-Luc Aufranc (CNXSoft) Have you run Linux on Mekotronics ? I know the Mekotronics has a more stable Android with Google Play mostly working. Mind you these are designed as signage players, if I recall correctly. Reply Jean-Luc Aufranc (CNXSoft)Jean-Luc Aufranc (CNXSoft) Author Jean-Luc Aufranc (CNXSoft) 12 hours ago Theguyuk I haven't scheduled time to run Linux on R58. I would not expect different RK3588 hardware to have much differences in terms of software support, everything is still work in progress. Reply JuliusJulius Julius 10 hours ago I suspect that losing 0.1Ghz is unlikely to concern many. In order to make comparison with a more mature release of the SOC, running the same tests on the Mekotronics would be logical. It also has to be noted that this is a pre production board, handed out to a few in order to identify bugs and issues to be fixed. Reply WillyWilly Willy 8 hours ago Julius It's not a matter of "losing 0.1 GHz" but figuring why the advertised frequency may not necessarily be reached. It can translate to FPS in games or anything else, that is not trivial to explain by the casual user who may have a hard time guessing wrong that this or that distro doesn't run at the same frequency, or that this or that perf test program could give different results between boots, especially if it may reach close to 10%. Admittedly once understood there's nothing dramatic, but it just deserves an explanation. And this is perfectly within the type of... Read more >> Reply JuliusJulius Julius 6 hours ago Willy If using FPS in games was to be used as comparison, 0.1Ghz as a percentage of the maximum 2.4Ghz is pretty much 5%. So in a game expected to run at 60FPS for optimal performance, using 5% as a broad expectation of potential loss, this would mean a game running at 59.5FPS, which nobody would ever notice, hence it not being a factor to be of any concern. Of course, with this being a pre production board, any anomalies are worth reporting such that final production can be as advertised. If it is seemed that 2.3 is the maximum then... Read more >> Reply tkaisertkaiser tkaiser 3 hours ago Julius > I suspect that losing 0.1Ghz is unlikely to concern many. That's not the point as already explained. It's about understanding and documenting PVTM behaviour so all the crap reviews that will follow on YT get the idea. Also it's not '0.1Ghz' but we've seen already just an 2256 MHz OPP (see Creepbench result for soon to be revealed Firefly Station N1) and as this blog post explained PVTM is not limited to CPU cores but also affects GPU and NPU clockspeeds and even the PMU domain and as such results with 'gaming' can differ even more. Reply tkaisertkaiser tkaiser 3 hours ago Julius > a more mature release of the SOC, running the same tests on the Mekotronics Huh? Do you suffer from the same problem as TheLiarUK who can't differentiate between boards and SoCs and hardware and software? The 'mother' of all the current RK3588 thingies out there is called 'Rockchip RK3588 EVB1 LP4 V10 Board' since they're all just variants of RK's reference design. And said 'EVB1 Board' has been measured by sbc-bench already with just ~2320 MHz on the 3rd CPU cluster. PVTM is a design feature of recent Rockchip SoCs and not a matter of 'maturity'. Reply TinLethaxTinLethax TinLethax 3 hours ago (off topic a bit) Didn't know you live in Thailand, me too (Thai) greeting from southern. Here in Trang always get chips hot easily (I have F1C100s running Buildroot Linux). Idle temp is 40 ish degree C. But since the CPU runs at 400 something MHz, It' practically no different at all. I don't have RK3588 board on hand so not quite sure how the PVTM would look like here in Trang. But I'm sure that it not gonna reach 2.4GHz Reply Salvador LiebanaSalvador Liebana Salvador Liebana 48 minutes ago Very few games or emulators are cpu constrained but it would be interesting to know if we will be able to force at least one of the big core clusters beyond this limitation or not, since many emulators games that are cpu intensive require good single core performance for most parts. Also, while 5% may not be significant on cpu clocks for games, gpu clocks may be, and that would be difficult to measure. In fact, while we have a great tool for testing real cpu frequencies with tkaiser sbc bench (and willy) , we dont for gpu frequencies and ... Read more >> Reply tkaisertkaiser tkaiser 8 minutes ago Salvador Liebana > we dont for gpu frequencies and that's a pain in the ass, benchmarking wise Nope, since nobody cares. Those involved in 'gaming' and this other crap love to be served by numbers without meaning. It's just like the average Android smartphone consumer: the more cores the better. Once someone interested in this area starts to do some serious ACTIVE benchmarking that might change. Reply Salvador LiebanaSalvador Liebana Salvador Liebana 21 seconds ago tkaiser Haha dude, many do care about gaming on arm linux. And those hate android gaming for most parts. Especially with software like box64/ box86/box32. Anyway, to get any box to work with on this new platform, we need panfrost, so mainline... an year ahead to say at least. Reply Advertisement Post navigation Previous PostPrevious CANDuino v3 - A Microchip ATmega168PA board with CAN bus, Arduino Nano form factor Search for:[ ]Search Button Computer-on-modules catalog (2022)Computer-on-modules catalog (2022) Trending Posts - Last 7 Days * Orange Pi 5 could be the most affordable Rockchip RK3588S SBC 12.6k views | 33 comments * Benchmarks comparison between UP 4000, Raspberry Pi 4, UP board, and Jetson Nano 6.1k views | 11 comments * Using Raspberry Pi Pico as a logic analyzer 5.9k views | 4 comments * can2040 project adds software CAN bus to Raspberry Pi RP2040 microcontroller 5k views | 4 comments * UP 4000 SBC is a Raspberry Pi lookalike with an Intel Apollo Lake processor 4.7k views | 3 comments Subscribe to Comments RSS Feed SPONSORS Gateworks rugged industrial IoT SBCGateworks rugged industrial IoT SBC UGOOS products 2022UGOOS products 2022 Geniatech SBC, Arm box PCGeniatech SBC, Arm box PC DS03 digital signageDS03 digital signage limited edition geek PClimited edition geek PC Mekotronics RK3588 8K Arm mini PCMekotronics RK3588 8K Arm mini PC Recent Comments * Salvador Liebana on What is PVTM? Or why your Rockchip RK3588 CPU may not reach 2.4 GHz * tkaiser on What is PVTM? Or why your Rockchip RK3588 CPU may not reach 2.4 GHz * Salvador Liebana on What is PVTM? Or why your Rockchip RK3588 CPU may not reach 2.4 GHz * tkaiser on Orange Pi 5 could be the most affordable Rockchip RK3588S SBC * tkaiser on Orange Pi 5 could be the most affordable Rockchip RK3588S SBC become of MECOOL distributorbecome of MECOOL distributor Latest Reviews * RK3588 mini PC SATA SSDRK3588 mini PC SATA SSDMekotronics R58 review - Part 2: Android 12 on Rockchip RK3588 CPU I've written the first part of Mekotronics R58 review last month with an unboxing, teardown, and first [...] * MECOOL KP1 Smart Speaker reviewMECOOL KP1 Smart Speaker review MECOOL KP1 smart projector review - Part 1: Unboxing and first try I've just received a review sample of the MECOOL KP1 smart projector with Full HD resolution that ships [...] * Geekom miniair-11 reviewGeekom miniair-11 reviewGEEKOM MiniAir 11 Review - A Jasper Lake Mini PC with plenty of ports The GEEKOM MiniAir 11 is not just another mini PC powered by an Intel Jasper Lake N5095 processor but one [...] Follow CNX Software on Google NewsFollow CNX Software on Google News Email subscriptionEmail subscription Change Ad Consent Do not sell my data Copyright 2022 - CNX Software Limited Privacy Policy This website uses cookies to improve your experience. We'll assume you're ok with this, but if you don't like these, you can remove them Accept Privacy & Cookies Policy Close Privacy Overview This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience. Necessary [*] Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information. Non-necessary [*] Non-necessary Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website. SAVE & ACCEPT wpDiscuz [ ] Insert RISC-V laptop, mini PCRISC-V laptop, mini PC