Edit online

接口设计

25 Nov 2024
Read time: 4 minute(s)

Clock API

CMU 驱动提供了 Clock API 接口函数,不同类型时钟支持的 API 接口函数如下表:
1. Clock API 接口函数
API 函数
功能描述
fixed
rate
clock
fixed
parent
clock
multi
parent
clock
disp
clock
pll
clock
hal_clk_enable() 使能时钟 - -
hal_clk_disable() 关闭时钟 - -
hal_clk_enable_deassertrst() 使能时钟的同时放开复位 - - - -
hal_clk_disable_assertrst() 关闭时钟的同时使能复位 - - - -
hal_clk_enable_iter() 迭代的使能时钟及其父时钟 - -
hal_clk_enable_deassertrst_iter()
迭代的使能时钟及其父时钟
同时放开复位
-
- - -
hal_clk_get_freq() 获取时钟频率
hal_clk_set_freq() 设置时钟频率 -
hal_clk_get_parent() 获取父时钟 id - -
hal_clk_set_parent() 设置父时钟 id - - - -
2. hal_clk_enable
函数原型 int hal_clk_enable(uint32_t clk_id)
功能说明 使能时钟
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
3. hal_clk_disable
函数原型 int hal_clk_disable(uint32_t clk_id)
功能说明 关闭时钟
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
4. hal_clk_enable_deassertrst
函数原型 int hal_clk_enable_deassertrst(uint32_t clk_id)
功能说明 使能时钟的同时放开复位
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
5. hal_clk_disable_assertrst
函数原型 int hal_clk_disable_assertrst(uint32_t clk_id)
功能说明 关闭时钟的同时使能复位
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
6. hal_clk_enable_iter
函数原型 int hal_clk_enable_iter(uint32_t clk_id)
功能说明 迭代的使能时钟及其父时钟
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
7. hal_clk_enable_deassertrst_iter
函数原型 int hal_clk_enable_deassertrst_iter(uint32_t clk_id)
功能说明 迭代的使能时钟及其父时钟,同时放开复位
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
8. hal_clk_get_freq
函数原型 unsigned long hal_clk_get_freq(uint32_t clk_id)
功能说明 获取时钟频率
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 时钟频率,单位为 Hz
注意事项 -
9. hal_clk_set_freq
函数原型 int hal_clk_set_freq(uint32_t clk_id, unsigned long freq)
功能说明 设置时钟频率
参数定义
clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
freq:时钟频率,单位为 Hz
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
10. hal_clk_get_parent
函数原型 unsigned int hal_clk_get_parent(uint32_t clk_id)
功能说明 获取父时钟 ID
参数定义 clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
返回值 父时钟 ID
注意事项 -
11. hal_clk_set_parent
函数原型 int hal_clk_set_parent(uint32_t clk_id, unsigned int parent_clk_id)
功能说明 设置父时钟 ID
参数定义
clk_id:时钟 ID (CLK_xxxx 格式定义的宏)
parent_clk_id:父时钟 ID
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -

Reset API

CMU 驱动提供了 Reset API 接口函数:

API 函数 功能描述
hal_reset_assert() 使能复位
hal_reset_deassert() 放开复位
hal_reset_status() 获取复位状态
12. hal_reset_assert
函数原型 int hal_reset_assert(uint32_t rst_id)
功能说明 使能复位
参数定义 rst_id:Reset ID (RESET_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
13. hal_reset_deassert
函数原型 int hal_reset_deassert(uint32_t rst_id)
功能说明 放开复位
参数定义 rst_id:Reset ID (RESET_xxxx 格式定义的宏)
返回值 操作是否成功 (0=OK, other=Error)
注意事项 -
14. hal_reset_status
函数原型 int hal_reset_status(uint32_t rst_id)
功能说明 查看复位状态
参数定义 rst_id:Reset ID (RESET_xxxx 格式定义的宏)
返回值 操作是否成功 (0=复位有效, 1=复位无效)
注意事项 -