里面找到static struct pll_config pll4_cfg_tbl[]这一个就是cpu的原始频率配置文件,里面有很多的候选的频率:
static struct pll_config pll4_cfg_tbl[] = {
[0] = { 36, 1, 2 }, /* 700.8 MHz */
[1] = { 52, 1, 2 }, /* 1008 MHz */
[2] = { 63, 0, 1 }, /* 1209.6 MHz */
[3] = { 73, 0, 1 }, /* 1401.6 MHz */
[4] = { 60, 0, 1 }, /* 1152 MHz */
[5] = { 57, 1, 2 }, /* 1104 MHz */
[6] = { 54, 1, 2 }, /* 1046.7 MHz */
};
你可以往里面增加新的值,也可以把这个保持不变。
然后找到自己机型的频率表定义
/*
* ACPU freq tables used for different PLLs frequency combinations. The
* correct table is selected during init.
*
* Table stepping up/down entries are calculated during boot to choose the
* largest frequency jump that's less than max_speed_delta_khz on each PLL.
*/
找到以后可以仿照其他型号的机器给自己的型号进行修改,修改完成后保存即可,比如类似这样:
static struct clkctl_acpu_speed pll0_960_pll1_196_pll2_1200_pll4_1008_2p0[] = {
{ 1, 19200, ACPU_PLL_TCXO, 0, 0, 2400, 3, 0, 24576 },
{ 1, 65536, ACPU_PLL_1, 1, 3, 8192, 3, 1, 61440 },
{ 1, 98304, ACPU_PLL_1, 1, 1, 12288, 3, 1, 61440 }, // fixed
{ 1, 196608, ACPU_PLL_1, 1, 0, 24576, 3, 1, 98304 },
{ 1, 320000, ACPU_PLL_0, 4, 2, 40000, 3, 2, 122880 },
{ 1, 480000, ACPU_PLL_0, 4, 1, 60000, 3, 3, 122880 },
{ 0, 600000, ACPU_PLL_2, 2, 1, 75000, 3, 4, 160000 },
{ 1, 700800, ACPU_PLL_4, 6, 0, 87500, 3, 4, 160000, &pll4_cfg_tbl[0]},
{ 1, 1008000, ACPU_PLL_4, 6, 0, 126000, 3, 5, 200000, &pll4_cfg_tbl[1]},
{ 1, 1209600, ACPU_PLL_4, 6, 0, 151200, 3, 6, 200000, &pll4_cfg_tbl[2]},//overclocked
{ 0 }
};