设计说明
源码说明
文件 |
说明 |
---|---|
aic_clk_id.h |
时钟 ID 以及 寄存器设置 |
aic_hal_clk.h |
hal 层 clk api 的头文件 |
aic_hal_clk.c |
hal 层 clk api 的实现 |
aic_hal_reset.h |
hal 层 reset api 的头文件 |
aic_hal_reset.c |
hal 层 reset api 的实现 |
aic_hal_pll_clk.c |
PLL 时钟的具体实现 |
aic_hal_fixed_rate_clk.c |
固定频率时钟的具体实现 |
aic_hal_fixed_parent_clk.c |
单个父时钟的时钟的具体实现 |
aic_hal_multi_parent_clk.c |
多个父时钟的时钟的具体实现 |
aic_hal_disp_clk.c |
DISP 时钟的具体实现 |
aic_hal_fpga_clk_def_v10.c |
CMU V1.0 的 Clock 配置 |
aic_hal_fpga_clk_def_v11.c |
CMU V1.1 的 Clock 配置 |
aic_hal_fpga_clk_def_v12.c |
CMU V1.2 的 Clock 配置 |
aic_hal_reset_def_v10.c |
CMU V1.0 的 Reset 配置 |
aic_hal_reset_def_v11.c |
CMU V1.1 的 Reset 配置 |
aic_hal_reset_def_v12.c |
CMU V1.2 的 Reset 配置 |
Clock 和 Reset 类型

时钟树

-
Fixed rate clock:具有固定的输出频率,通常用于驱动一些不需要动态调整频率的外设。时钟频率固定,不能调节频率,不能打开或关闭。固定频率时钟包括 OSC24M、RC1M 和 OSC32K。
-
Fixed parent module clock:从另一个时钟信号派生出来的时钟,其输出频率与父时钟信号的频率相同。该类型时钟可以实现只有一个父时钟源的时钟驱动,主要用于各个外设模块的时钟驱动。该类型时钟可以改变时钟频率,打开或关闭时钟,获取父时钟源参数,但不能设置或改变父时钟源。
-
Multiple parent module clock:可以从多个父时钟源中选择其中一个作为其输入,并根据需要调整输出频率。 该类型时钟可以实现有多个父时钟源的时钟驱动,主要用于各种总线时钟驱动,可以打开或关闭时钟,调节频率,获取或改变父时钟源。
-
Display module clock: 实现了几个与显示模块相关的时钟驱动,除了自身的模块时钟外,显示模块还有一个像素时钟,相应的底层寄存器的设计也不同,所以显示相关的几个时钟重新设计了底层驱动。
-
PLL clock:实现了 CMU 的 PLL 时钟驱动。PLL 是一种能够产生高频时钟信号的电路。PLL 可以将一个低频率的参考时钟信号乘以一个整数倍的频率因子,从而得到一个高频率的时钟信号。
类型 |
时钟 |
---|---|
Fixed rate clock |
OSC24M |
OSC32K |
|
RC1M |
|
Fixed parent clock |
CLK_DMA |
CLK_CE |
|
CLK_USBD |
|
CLK_USBH0-1 |
|
CLK_USB_PHY0-1 |
|
CLK_GMAC0-1 |
|
CLK_SPI0-1 |
|
CLK_SDMMC0-2 |
|
CLK_SYSCON |
|
CLK_RTC |
|
CLK_I2S0-1 |
|
CLK_ADDA |
|
CLK_DE |
|
CLK_GE |
|
CLK_VE |
|
CLK_WDOG |
|
CLK_SID |
|
CLK_GTC |
|
CLK_GPIO |
|
CLK_UART0-7 |
|
CLK_I2C0-3 |
|
CLK_CAN0-1 |
|
CLK_PWM |
|
CLK_ADCIM |
|
CLK_GPADC |
|
CLK_RTP |
|
CLK_TSEN |
|
CLK_CIR |
|
CLK_RGB |
|
CLK_LVDS |
|
CLK_MIPIDSI |
|
Multi parent clock |
CLK_CPU |
CLK_AHB0 |
|
CLK_APB0 |
|
CLK_APB1 |
|
CLK_AXI0 |
|
CLK_OUT0 |
|
CLK_OUT1 |
|
CLK_OUT2 |
|
CLK_OUT3 |
|
PLL clock |
CLK_PLL_INT0 |
CLK_PLL_INT1 |
|
CLK_PLL_FRA0 |
|
CLK_PLL_FRA1 |
|
CLK_PLL_FRA2 |
|
Disp clock |
CLK_PIX |
CLK_SCLK |