At different cpu frequencies,the soc_voltage and cpu_voltage will change,freecale board linux kernel will provide the following frequency and voltage control table.
In android 4.3 linux kernel cpu_op-mx6.c,there are the following code:
static struct cpu_op mx6dl_cpu_op_1_2G[] = {
{
.pll_rate = 1200000000,
.cpu_rate = 1200000000,
.cpu_podf = 0,
.pu_voltage = 1175000,
.soc_voltage = 1175000,
.cpu_voltage = 1275000,},
{
.pll_rate = 792000000,
.cpu_rate = 792000000,
.cpu_podf = 0,
.pu_voltage = 1175000,
.soc_voltage = 1175000,
.cpu_voltage = 1175000,},
{
.pll_rate = 396000000,
.cpu_rate = 396000000,
.cpu_podf = 0,
.pu_voltage = 1175000,
.soc_voltage = 1175000,
.cpu_voltage = 1075000,},
};
I understand android 4.3 code,for example,at cpu frequencie 396000000,soc_voltage will be set to 1175000,cpu_voltage will be set to 1075000.
But,
In android 5.1_2.1.0 linux kernel imx6qdl.dtsi,there are the following code:
| | | operating-points = < | |
| | | | /* kHz uV */ | |
| | | | 996000 1275000 | |
| | | | 792000 1175000 | |
| | | | 396000 1150000 | |
| | | >; | |
| | | fsl,soc-operating-points = < | |
| | | | /* ARM kHz SOC-PU uV */ | |
| | | | 996000 | 1175000 |
| | | | 792000 | 1175000 |
| | | | 396000 | 1175000 |
| | | >; | |
And the above android 4.3 comparison,I can't understand,where is soc_voltage,where is cpu_voltage ,how the table explain
the relationship between the three( cpu frequencie,soc_voltage and cpu_voltage)?
Thanks