Porting
说明
为了适配不同的硬件平台,增加porting接口。
接口列表
porting的接口如下所示:
函数 | 说明 |
---|---|
soc_get_apb_freq | 获取APB总线的频率 |
soc_get_ahb_freq | 获取AHB总线的频率 |
soc_get_cpu_freq | 获取CPU的频率 |
soc_get_uart_freq | 获取UART的频率 |
soc_get_spi_freq | 获取SPI的频率 |
soc_get_iic_freq | 获取IIC的频率 |
soc_get_i2s_freq | 获取I2S的频率 |
soc_get_pwm_freq | 获取PWM的频率 |
soc_get_adc_freq | 获取ADC的频率 |
soc_get_qspi_freq | 获取QSPI的频率 |
soc_get_usi_freq | 获取USI的频率 |
soc_get_timer_freq | 获取TIMER的频率 |
soc_get_rtc_freq | 获取RTC的频率 |
soc_get_wdt_freq | 获取WDT的频率 |
soc_get_sdio_freq | 获取SDIO的频率 |
soc_get_emmc_freq | 获取EMMC的频率 |
soc_get_usb_freq | 获取USB的频率 |
soc_get_coretime_freq | 获取CORETIME的频率 |
soc_get_cur_cpu_freq | 获取当前CPU的频率 |
soc_get_ref_clk_freq | 获取REF_CLK的频率 |
soc_set_sys_freq_freq | 设置系统频率 |
soc_clk_enable_freq | 使能IP的时钟 |
soc_clk_disable_freq | 失效IP的时钟 |
soc_get_cpu_id | 获取CPU的ID号 |
soc_dcache_clean_invalid_range | 按地址清楚并无效DCACHE |
soc_dcache_clean_invalid_all | 清除并无效所以DCACHE |
soc_dcache_invalid_range | 按地址无效DCACHE |
soc_dcache_clean | 清除DCACHE |
soc_icache_invalid | 无效ICACHE |
soc_dma_address_remap | DMA地址重映射 |
soc_pm_enter_sleep | 进入睡眠模式 |
soc_pm_config_wakeup_source | 配置唤醒源 |
porting的接口在用户对接时是否必须适配的说明如下所示:
函数 | 是否必须适配 |
---|---|
soc_get_apb_freq | 必须 |
soc_get_ahb_freq | 非必须 |
soc_get_cpu_freq | 必须 |
soc_get_uart_freq | 必须 |
soc_get_spi_freq | 必须 |
soc_get_iic_freq | 必须 |
soc_get_i2s_freq | 必须 |
soc_get_pwm_freq | 必须 |
soc_get_adc_freq | 必须 |
soc_get_qspi_freq | 必须 |
soc_get_usi_freq | 必须 |
soc_get_timer_freq | 必须 |
soc_get_rtc_freq | 必须 |
soc_get_wdt_freq | 必须 |
soc_get_sdio_freq | 必须 |
soc_get_emmc_freq | 非必须 |
soc_get_usb_freq | 非必须 |
soc_get_coretime_freq | 非必须 |
soc_get_cur_cpu_freq | 必须 |
soc_get_ref_clk_freq | 非必须 |
soc_set_sys_freq_freq | 非必须 |
soc_clk_enable_freq | 非必须 |
soc_clk_disable_freq | 非必须 |
soc_get_cpu_id | 必须 |
soc_dcache_clean_invalid_range | 必须 |
soc_dcache_clean_invalid | 非必须 |
soc_dcache_invalid_range | 非必须 |
soc_dcache_clean | 必须 |
soc_icache_invalid | 非必须 |
soc_dma_address_remap | 必须 |
soc_pm_enter_sleep | 必须 |
soc_pm_config_wakeup_source | 必须 |
接口详细说明
soc_get_apb_freq
uint32_t soc_get_apb_freq(uint32_t idx)
功能描述:
- 通过设备ID获取APB总线频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_ahb_freq
uint32_t soc_get_ahb_freq(uint32_t idx)
功能描述:
- 通过设备ID获取AHB总线频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_cpu_freq
uint32_t soc_get_cpu_freq(uint32_t idx)
功能描述:
- 通过设备ID获取CPU频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_uart_freq
uint32_t soc_get_uart_freq(uint32_t idx)
功能描述:
- 通过设备ID获取UART频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_spi_freq
uint32_t soc_get_spi_freq(uint32_t idx)
功能描述:
- 通过设备ID获取SPI频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_iic_freq
uint32_t soc_get_iic_freq(uint32_t idx)
功能描述:
- 通过设备ID获取IIC频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_i2s_freq
uint32_t soc_get_i2s_freq(uint32_t idx)
功能描述:
- 通过设备ID获取I2S频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_pwm_freq
uint32_t soc_get_pwm_freq(uint32_t idx)
功能描述:
- 通过设备ID获取PWM频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_adc_freq
uint32_t soc_get_adc_freq(uint32_t idx)
功能描述:
- 通过设备ID获取ADC频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_qspi_freq
uint32_t soc_get_qspi_freq(uint32_t idx)
功能描述:
- 通过设备ID获取QSPI频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_usi_freq
uint32_t soc_get_usi_freq(uint32_t idx)
功能描述:
- 通过设备ID获取USI频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_timer_freq
uint32_t soc_get_timer_freq(uint32_t idx)
功能描述:
- 通过设备ID获取TIMER频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_rtc_freq
uint32_t soc_get_rtc_freq(uint32_t idx)
功能描述:
- 通过设备ID获取RTC频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_wdt_freq
uint32_t soc_get_wdt_freq(uint32_t idx)
功能描述:
- 通过设备ID获取WDT频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_sdio_freq
uint32_t soc_get_sdio_freq(uint32_t idx)
功能描述:
- 通过设备ID获取SDIO频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_emmc_freq
uint32_t soc_get_emmc_freq(uint32_t idx)
功能描述:
- 通过设备ID获取EMMC频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_usb_freq
uint32_t soc_get_usb_freq(uint32_t idx)
功能描述:
- 通过设备ID获取USB频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_get_coretime_freq
uint32_t soc_get_coretime_freq(void)
功能描述:
- 通过设备ID获取coretime频率。
参数:
返回值:
- 频率。
soc_get_cur_cpu_freq
uint32_t soc_get_cur_cpu_freq(void)
功能描述:
- 通过设备ID获取当前CPU频率。
参数:
返回值:
- 频率。
soc_get_ref_clk_freq
uint32_t soc_get_ref_clk_freq(uint32_t idx)
功能描述:
- 通过设备ID获取REF_CLK总线频率。
参数:
idx
: 设备ID。
返回值:
- 频率。
soc_set_sys_freq
void soc_set_sys_freq(uint32_t freq)
功能描述:
- 设置系统频率。
参数:
freq
: 目标频率,参见sys_freq_t
返回值:
- 无。
soc_clk_enable
void soc_clk_enable(int32_t module)
功能描述:
- 使能时钟。
参数:
module
: 模块名,参见clk_manager_type_t
返回值:
- 无。
soc_clk_disable
void soc_clk_disable(int32_t module)
功能描述:
- 使能时钟。
参数:
module
: 模块名,参见clk_manager_type_t
返回值:
- 无。
soc_get_cpu_id
uint32_t soc_get_cpu_id(void)
功能描述:
- 获取CPU号。
参数:
返回值:
- CPU idx号。
soc_dcache_clean_invalid_range
void soc_dcache_clean_invalid_range(unsigned long addr, uint32_t size)
功能描述:
- 按地址清除并无效DCACHE
参数:
addr
: 首地址。size
: 大小。
返回值:
- 无。
soc_dcache_clean_invalid_all
void soc_dcache_clean_invalid_all(void)
功能描述:
- 清除并无效所有DCACHE
参数:
- 无。
返回值:
- 无。
soc_dcache_invalid_range
void soc_dcache_invalid_range(unsigned long addr, uint32_t size)
功能描述:
- 按地址无效DCACHE
参数:
addr
: 首地址。size
: 大小。
返回值:
- 无。
soc_dcache_clean
void soc_dcache_clean(void)
功能描述:
- 清除DCACHE
参数:
- 无。
返回值:
- 无。
soc_icache_invalid
void soc_icache_invalid(void)
功能描述:
- 无效ICACHE
参数:
- 无。
返回值:
- 无。
soc_dma_address_remap
void soc_dma_address_remap(unsigned long addr)
功能描述:
- DMA地址重映射
参数:
addr
: 地址。
返回值:
- 无。
soc_pm_enter_sleep
csi_error_t soc_pm_enter_sleep(csi_pm_mode_t mode)
功能描述:
- 进入低功耗模式。
参数:
mode
: 低功耗模式。
返回值:
- 错误码csi_error_t。
csi_pm_mode_t
类型 | 说明 |
---|---|
PM_MODE_RUN | 运行模式 |
PM_MODE_SLEEP_1 | 睡眠等级1模式 |
PM_MODE_SLEEP_2 | 睡眠等级2模式 |
PM_MODE_DEEP_SLEEP_1 | 深度睡眠等级1模式 |
PM_MODE_DEEP_SLEEP_2 | 深度睡眠等级2模式 |
soc_pm_config_wakeup_source
csi_error_t soc_pm_config_wakeup_source(uint32_t wakeup_num, bool enable)
功能描述:
- 配置唤醒源。
参数:
wakeup_num
: 唤醒号。enable
: 唤醒源使能标记。
返回值:
- 错误码csi_error_t。