1.硬件相关信息
NanoPC-T2用的是saumung 的S5P4418,所以参考 SEC_Users_Manual_S5P4418_Users_Manual_Preliminary_Ver.0.10.pdf 134页
PLL的结构示意图
2. 源码分析
PHY_BASEADDR_CLKPWR_MODULE 是寄存器基地址, 在 arch/arm/mach-s5p4418/prototype/base/nx_chip.h中定义
#define PHY_BASEADDR_CLKPWR_MODULE 0xC0010000
static struct NX_CLKPWR_RegisterSet * const clkpwr =
(struct NX_CLKPWR_RegisterSet *)IO_ADDRESS(PHY_BASEADDR_CLKPWR_MODULE);
static unsigned int pll_get_rate(unsigned int pllN, unsigned int xtal)
{
unsigned int val, val1, nP, nM, nS, nK;
val = clkpwr->PLLSETREG[pllN];
val1 = clkpwr->PLLSETREG_SSCG[pllN];
xtal /= 1000; /* Unit Khz */
nP= (val