下面直接从总线时钟初始化函数开始分析:
s3c24xx_init_clocks主要实现两个功能:
1.初始化s3c2440的总线时钟。通过s3c24xx_register_baseclocks(xtal)和s3c244x_setup_clocks实现
2.想系统注册外设时钟。通过s3c2410_baseclk_add()实现
首先分析初始化系统时钟
依次向注册clk_xtal、clk_mpll、clk_upll... ...clk_p等时钟,clk_p等的定义如下:
注册成功后然后通过s3c244x_setup_clocks->s3c24xx_setup_clocks(fclk, hclk, pclk)来初始化前面注册的各个时钟。