Edit online

接口设计

15 Jan 2024
Read time: 2 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=复位无效)
注意事项-