I want to change ARM and SoC voltages by writing on HW registers : PMU, CCM and CCM_ANALOG.
It is applied when the frequency is changing, 996 MHz to 792 MHz:
- Init PMU registers: values “1F” are written in reg_core.reg0_trig and reg_core.reg2_trig registers for ARM ans SoC.
- Init GPC register: value 0x80000000 is written in IMR4 register
- Setting frequency and voltage:
- Setting CCM_CCSR registers for the target frequency. Saving the PLL into PLL_SW
- Setting new PLL-ARM
- Change voltage thanks to PMU registers and operating points of the data sheet. I write into PMU_REG_CORE register.
- Wait update voltage.
- Clear the PLL_SW.
Despite I followed the data sheet, only the frequency has changed. ARM and SoC voltages are the same. Did I miss something?
I compared to CPUFREQ driver where the voltage changed.
- CPUFREQ driver is disabled
- iMX6 quad