CCU - 时钟管理模块
介绍 RTOS 中CCU 驱动的接口及使用方法,为 CCU 的使用者提供参考。
模块介绍
CCU 驱动主要实现设备驱动的底层细节,并为上层提供一套标准的API 接口以供使用。
模块配置
其menuconfig 的配置如下:
Kernel Setup --->
Drivers Setup --->
SoC HAL Drivers --->
CCMU devices --->
[*] enable ccmu-ng driver
[*] enbale ccmu-ng hal APIs Test command
源码结构
.
│ common_ccmu.h
│ hal_clk.c
│ hal_reset.c
│ Kconfig
│ Makefile
│ platform_ccmu.h
│ platform_rst.h
│
├─sunxi
│ │ clk.c
│ │ clk.h
│ │ clk_factors.c
│ │ clk_factors.h
│ │ clk_periph.c
│ │ clk_periph.h
│ │ Makefile
│ │ platform_clk.h
│ │
│ └─sun8iw21p1 # sun8iw21p1平台实现(老平台,目前使用ng驱动)
│ clk_sun8iw21.c
│ clk_sun8iw21.h
│ Makefile
│
└─sunxi-ng # sunxi-ng 驱动实现
ccu-sun20iw2-aon.c
ccu-sun20iw2-aon.h
ccu-sun20iw2-r.c
ccu-sun20iw2-r.h
ccu-sun20iw2.c
ccu-sun20iw2.h
ccu.c
ccu.h
ccu_common.c
ccu_common.h
ccu_div.c
ccu_div.h
ccu_frac.c
ccu_frac.h
ccu_gate.c
ccu_gate.h
ccu_mp.c
ccu_mp.h
ccu_mult.c
ccu_mult.h
ccu_mux.c
ccu_mux.h
ccu_nk.c
ccu_nk.h
ccu_nkm.c
ccu_nkm.h
ccu_nkmp.c
ccu_nkmp.h
ccu_nm.c
ccu_nm.h
ccu_phase.c
ccu_phase.h
ccu_reset.c
ccu_reset.h
ccu_sdm.c
ccu_sdm.h
clk-divider.c
clk-fixed-factor.c
clk-fixed-rate.c
clk-fixed-rate.h
clk.c
clk.h
Makefile
rst-sun20iw2-aon.h
rst-sun20iw2-r.h
rst-sun20iw2.h
type.h
模块接口说明
头文件
#include <hal_clk.h>
#include <hal_reset.h>
#include <ccmu/common_ccmu.h>