|
- rCLKDIVN = (hdivn<<1) | pdivn;
- switch(hdivn_val) {
- case 16: // when 1, HCLK=FCLK/8.
- rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<8);
- break;
- case 18: // when 1, HCLK=FCLK/6.
- rCAMDIVN = (rCAMDIVN & ~(3<<8)) | (1<<9);
- break;
复制代码- case 2: //400
- key = 14;
- mpll_val = (92<<12)|(1<<4)|(1);
- break;
- case 3: //440!!!
- key = 14;
- mpll_val = (102<<12)|(1<<4)|(1);
- break;
- default:
- key = 14;
- mpll_val = (92<<12)|(1<<4)|(1);
- break;
- }
- //init FCLK=400M, so change MPLL first
- ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3);
- ChangeClockDivider(key, 12);
复制代码 这上面是开发板测试程序里主函数里设置时钟的部分,把FCLK设置为400MHZ,然后用一个函数设置FCLK跟HCLK和PCLK跟HCLK的分频比。我发现这里把key设置为14的话,那么在设置CLKDIVN寄存器的时候就只是把HDIVN设置为10但CAMDIVN寄存器里的参数就没变啊?那它是怎样实现的把分频比设为1:4:8呢?
|
|