ChangeMPllValue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3); ChangeClockDivider(key, 12); 1)FLCK、HCLK 和 PCLK 的关系 S3C2440 有三个时钟 FLCK、HCLK 和 PCLK s3c2440 官方手册上说 P7-8 写到: FCLK is used by ARM920T,内核时钟,主频
HCLK is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller, the LCD controller, the DMA and USB host block
也就是总线时钟,包括 USB 时钟
PCLK is used for APB bus, which is used by the peripherals such as WDT, IIS, I2C, PWM timer, MMC interface,ADC, UART, GPIO, RTC and SPI
即 IO 接口时钟,例如串口的时钟设置就是从 PCLK 来的; 那么这三个时钟是什么关系呢
这三个时钟通常设置为 1:4:8,1:3:6 的分频关系,也就说如果主频 FLCK是400MHz,按照1:4:8的设置,那么HLCK是100MHz,PLCK是50MHz 寄存器 CLKDIVN 表明并设置了这三个时钟的关系 如果 CLKDIVN 设置为 0x5,那么比例即为 1:4:8,前提是 CAMDIVN[9]为 0
2)输入时钟FIN 与主频FCLK 的关系 现代的CPU 基本上都使用了比主频低的多的时钟输入,在CPU 内部使用锁相环进行倍频
对于S3C24