当前位置: 首页 > 文档资料 > YoC 编程基础 >

PORTING

优质
小牛编辑
116浏览
2023-12-01

说明

为了适配不同的硬件平台,增加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_remapDMA地址重映射
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。