VSF Documented
|
#include "hal/vsf_hal_cfg.h"
#include "../__device.h"
#include "hal/driver/vendor_driver.h"
#include "hal/driver/common/swi/arm/vsf_swi_template.inc"
#include <math.h>
#include "service/trace/vsf_trace.h"
Data Structures | |
struct | vsf_hw_clk_t |
struct | vsf_hw_pwr_domain_t |
struct | vsf_hw_pwr_t |
Macros | |
#define | VCO_MIN 300000000 |
#define | VCO_MAX 1250000000 |
#define | REF_MIN 1000000 |
#define | REF_MAX 64000000 |
#define | NR_MIN 1 |
#define | NR_MAX 64 |
#define | NF_MIN 2 |
#define | NF_MAX 4095 |
#define | RCC_REG_BIT_MASK ((uint32_t)0x00000000) |
#define | RCC_PLL_BWAJ_MASK (~RCC_PLL1CTRL1_PLL1BWAJ) |
#define | RCC_PLL_CLKR_CLKF_MASK (RCC_REG_BIT_MASK) |
#define | RCC_PLL_SRC_MASK (~RCC_PLL1CTRL1_PLL1SRC) |
#define | RCC_PLL_LOCK_FLAG (RCC_PLL1CTRL1_PLL1PHLK) |
#define | RCC_PLL_LDO_ENABLE (RCC_PLL1CTRL1_PLL1LDOEN) |
#define | RCC_PLL_ENABLE (RCC_PLL1CTRL1_PLL1EN ) |
#define | RCC_PLL_RESET_ENABLE (RCC_PLL1CTRL1_PLL1RST ) |
#define | RCC_PLL_POWER_DOWN (RCC_PLL1CTRL1_PLL1PD ) |
#define | __RCC_DELAY_US(usec) |
Enumerations | |
enum | { VSF_HW_CLK_PRESCALER_NONE = 0 , VSF_HW_CLK_PRESCALER_CONST , VSF_HW_CLK_PRESCALER_DIV , VSF_HW_CLK_PRESCALER_FUNC } |
enum | { VSF_HW_CLK_TYPE_CONST , VSF_HW_CLK_TYPE_CLK , VSF_HW_CLK_TYPE_SEL } |
Variables | |
const vsf_hw_clk_t | VSF_HW_CLK_HSI |
const vsf_hw_clk_t | VSF_HW_CLK_HSI_CG |
const vsf_hw_clk_t | VSF_HW_CLK_HSI_KER_CG |
const vsf_hw_clk_t | VSF_HW_CLK_MSI |
const vsf_hw_clk_t | VSF_HW_CLK_MSI_CG |
const vsf_hw_clk_t | VSF_HW_CLK_MSI_KER_CG |
const vsf_hw_clk_t | VSF_HW_CLK_LSI |
const vsf_hw_clk_t | VSF_HW_CLK_PLL1 |
const vsf_hw_clk_t | VSF_HW_CLK_PLL2 |
const vsf_hw_clk_t | VSF_HW_CLK_PLL3 |
const vsf_hw_clk_t | VSF_HW_CLK_SHRPLL |
const vsf_hw_clk_t | VSF_HW_CLK_PLL1A |
const vsf_hw_clk_t | VSF_HW_CLK_PLL1B |
const vsf_hw_clk_t | VSF_HW_CLK_PLL1C |
const vsf_hw_clk_t | VSF_HW_CLK_PLL2A |
const vsf_hw_clk_t | VSF_HW_CLK_PLL2B |
const vsf_hw_clk_t | VSF_HW_CLK_PLL2C |
const vsf_hw_clk_t | VSF_HW_CLK_PLL3A |
const vsf_hw_clk_t | VSF_HW_CLK_PLL3B |
const vsf_hw_clk_t | VSF_HW_CLK_PLL3C |
const vsf_hw_clk_t | VSF_HW_CLK_SYS |
const vsf_hw_clk_t | VSF_HW_CLK_SYSBUS |
const vsf_hw_clk_t | VSF_HW_CLK_AXISYS |
const vsf_hw_clk_t | VSF_HW_CLK_M7HYP |
const vsf_hw_clk_t | VSF_HW_CLK_AXIHYP |
const vsf_hw_clk_t | VSF_HW_CLK_AXI |
const vsf_hw_clk_t | VSF_HW_CLK_APB1 |
const vsf_hw_clk_t | VSF_HW_CLK_APB2 |
const vsf_hw_clk_t | VSF_HW_CLK_APB5 |
const vsf_hw_clk_t | VSF_HW_CLK_APB6 |
const vsf_hw_clk_t | VSF_HW_CLK_PERI |
const vsf_hw_clk_t | VSF_HW_CLK_SDRAM_AXI |
const vsf_hw_clk_t | VSF_HW_CLK_SDRAM |
const vsf_hw_clk_t | VSF_HW_CLK_SDMMC1_AXI |
const vsf_hw_clk_t | VSF_HW_CLK_SDMMC1 |
const vsf_hw_clk_t | VSF_HW_CLK_SDMMC2 |
const vsf_hw_clk_t | VSF_HW_CLK_USART1_2 |
const vsf_hw_clk_t | VSF_HW_CLK_USBREF |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_HCS1 |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_HCS2 |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_GRC |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_ESC |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_MDMA |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_SHRA |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_SHR2 |
const vsf_hw_pwr_domain_t | VSF_HW_PWR_DOMAIN_SHR1 |
const vsf_hw_pwr_t | VSF_HW_PWR_GPU |
const vsf_hw_pwr_t | VSF_HW_PWR_LCDC |
const vsf_hw_pwr_t | VSF_HW_PWR_JPEG |
const vsf_hw_pwr_t | VSF_HW_PWR_DSI |
const vsf_hw_pwr_t | VSF_HW_PWR_DVP |
const vsf_hw_pwr_t | VSF_HW_PWR_ETH2 |
const vsf_hw_pwr_t | VSF_HW_PWR_USB2 |
const vsf_hw_pwr_t | VSF_HW_PWR_SDMMC2 |
const vsf_hw_pwr_t | VSF_HW_PWR_ETH1 |
const vsf_hw_pwr_t | VSF_HW_PWR_USB1 |
const vsf_hw_pwr_t | VSF_HW_PWR_SDMMC1 |
const vsf_hw_pwr_t | VSF_HW_PWR_FMAC |
const vsf_hw_pwr_t | VSF_HW_PWR_ESC |
#define VCO_MIN 300000000 |
#define VCO_MAX 1250000000 |
#define REF_MIN 1000000 |
#define REF_MAX 64000000 |
#define NR_MIN 1 |
#define NR_MAX 64 |
#define NF_MIN 2 |
#define NF_MAX 4095 |
#define RCC_REG_BIT_MASK ((uint32_t)0x00000000) |
RCC R_BIT_MASK
#define RCC_PLL_BWAJ_MASK (~RCC_PLL1CTRL1_PLL1BWAJ) |
PLL_clock
#define RCC_PLL_CLKR_CLKF_MASK (RCC_REG_BIT_MASK) |
#define RCC_PLL_SRC_MASK (~RCC_PLL1CTRL1_PLL1SRC) |
#define RCC_PLL_LOCK_FLAG (RCC_PLL1CTRL1_PLL1PHLK) |
#define RCC_PLL_LDO_ENABLE (RCC_PLL1CTRL1_PLL1LDOEN) |
#define RCC_PLL_ENABLE (RCC_PLL1CTRL1_PLL1EN ) |
#define RCC_PLL_RESET_ENABLE (RCC_PLL1CTRL1_PLL1RST ) |
#define RCC_PLL_POWER_DOWN (RCC_PLL1CTRL1_PLL1PD ) |
#define __RCC_DELAY_US | ( | usec | ) |
anonymous enum |
void vsf_hw_clkrst_region_set | ( | uint32_t | region, |
uint_fast8_t | value | ||
) |
uint_fast8_t vsf_hw_clkrst_region_get | ( | uint32_t | region | ) |
void vsf_hw_clkrst_region_set_bit | ( | uint32_t | region | ) |
void vsf_hw_clkrst_region_clear_bit | ( | uint32_t | region | ) |
uint_fast8_t vsf_hw_clkrst_region_get_bit | ( | uint32_t | region | ) |
const vsf_hw_clk_t * vsf_hw_clk_get_src | ( | const vsf_hw_clk_t * | clk | ) |
uint32_t vsf_hw_clk_get_freq_hz | ( | const vsf_hw_clk_t * | clk | ) |
void vsf_hw_clk_enable | ( | const vsf_hw_clk_t * | clk | ) |
void vsf_hw_clk_disable | ( | const vsf_hw_clk_t * | clk | ) |
bool vsf_hw_clk_is_enabled | ( | const vsf_hw_clk_t * | clk | ) |
bool vsf_hw_clk_is_ready | ( | const vsf_hw_clk_t * | clk | ) |
vsf_err_t vsf_hw_clk_config | ( | const vsf_hw_clk_t * | clk, |
const vsf_hw_clk_t * | clksrc, | ||
uint16_t | prescaler, | ||
uint32_t | freq_hz | ||
) |
ErrorStatus RCC_CalculatePLLParam | ( | uint64_t | fin, |
uint64_t | fout, | ||
uint32_t * | nr, | ||
uint32_t * | nf, | ||
uint32_t * | wb | ||
) |
vsf_err_t vsf_hw_pll_config | ( | const vsf_hw_clk_t * | clk, |
uint32_t | out_freq_hz | ||
) |
configure frequency range of pll input/output clocks
[in] | clk | a pointer to PLL clock VSF_HW_CLK_PLL1 VSF_HW_CLK_PLL2 VSF_HW_CLK_PLL3 |
[in] | out_freq_hz | PLL output frequency in Hz |
void vsf_hw_power_domain_enable | ( | const vsf_hw_pwr_domain_t * | domain | ) |
void vsf_hw_power_domain_disable | ( | const vsf_hw_pwr_domain_t * | domain | ) |
bool vsf_hw_power_domain_is_ready | ( | const vsf_hw_pwr_domain_t * | domain | ) |
void vsf_hw_power_enable | ( | const vsf_hw_pwr_t * | pwr | ) |
void vsf_hw_power_disable | ( | const vsf_hw_pwr_t * | pwr | ) |
void HardFault_Handler | ( | void | ) |
void MemManage_Handler | ( | void | ) |
void BusFault_Handler | ( | void | ) |
void vsf_hw_mpu_add_basic_resgions | ( | void | ) |
bool vsf_driver_init | ( | void | ) |
common hal drivers
none |
true | initialization succeeded. |
false | initialization failed |
initialise interrupt controller;
void vsf_arch_sleep | ( | uint_fast32_t | mode | ) |
const vsf_hw_clk_t VSF_HW_CLK_HSI |
const vsf_hw_clk_t VSF_HW_CLK_HSI_CG |
const vsf_hw_clk_t VSF_HW_CLK_HSI_KER_CG |
const vsf_hw_clk_t VSF_HW_CLK_MSI |
const vsf_hw_clk_t VSF_HW_CLK_MSI_CG |
const vsf_hw_clk_t VSF_HW_CLK_MSI_KER_CG |
const vsf_hw_clk_t VSF_HW_CLK_LSI |
const vsf_hw_clk_t VSF_HW_CLK_PLL1 |
const vsf_hw_clk_t VSF_HW_CLK_PLL2 |
const vsf_hw_clk_t VSF_HW_CLK_PLL3 |
const vsf_hw_clk_t VSF_HW_CLK_SHRPLL |
const vsf_hw_clk_t VSF_HW_CLK_PLL1A |
const vsf_hw_clk_t VSF_HW_CLK_PLL1B |
const vsf_hw_clk_t VSF_HW_CLK_PLL1C |
const vsf_hw_clk_t VSF_HW_CLK_PLL2A |
const vsf_hw_clk_t VSF_HW_CLK_PLL2B |
const vsf_hw_clk_t VSF_HW_CLK_PLL2C |
const vsf_hw_clk_t VSF_HW_CLK_PLL3A |
const vsf_hw_clk_t VSF_HW_CLK_PLL3B |
const vsf_hw_clk_t VSF_HW_CLK_PLL3C |
const vsf_hw_clk_t VSF_HW_CLK_SYS |
const vsf_hw_clk_t VSF_HW_CLK_SYSBUS |
const vsf_hw_clk_t VSF_HW_CLK_AXISYS |
const vsf_hw_clk_t VSF_HW_CLK_M7HYP |
const vsf_hw_clk_t VSF_HW_CLK_AXIHYP |
const vsf_hw_clk_t VSF_HW_CLK_AXI |
const vsf_hw_clk_t VSF_HW_CLK_APB1 |
const vsf_hw_clk_t VSF_HW_CLK_APB2 |
const vsf_hw_clk_t VSF_HW_CLK_APB5 |
const vsf_hw_clk_t VSF_HW_CLK_APB6 |
const vsf_hw_clk_t VSF_HW_CLK_PERI |
const vsf_hw_clk_t VSF_HW_CLK_SDRAM_AXI |
const vsf_hw_clk_t VSF_HW_CLK_SDRAM |
const vsf_hw_clk_t VSF_HW_CLK_SDMMC1_AXI |
const vsf_hw_clk_t VSF_HW_CLK_SDMMC1 |
const vsf_hw_clk_t VSF_HW_CLK_SDMMC2 |
const vsf_hw_clk_t VSF_HW_CLK_USART1_2 |
const vsf_hw_clk_t VSF_HW_CLK_USBREF |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_HCS1 |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_HCS2 |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_GRC |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_ESC |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_MDMA |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_SHRA |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_SHR2 |
const vsf_hw_pwr_domain_t VSF_HW_PWR_DOMAIN_SHR1 |
const vsf_hw_pwr_t VSF_HW_PWR_GPU |
const vsf_hw_pwr_t VSF_HW_PWR_LCDC |
const vsf_hw_pwr_t VSF_HW_PWR_JPEG |
const vsf_hw_pwr_t VSF_HW_PWR_DSI |
const vsf_hw_pwr_t VSF_HW_PWR_DVP |
const vsf_hw_pwr_t VSF_HW_PWR_ETH2 |
const vsf_hw_pwr_t VSF_HW_PWR_USB2 |
const vsf_hw_pwr_t VSF_HW_PWR_SDMMC2 |
const vsf_hw_pwr_t VSF_HW_PWR_ETH1 |
const vsf_hw_pwr_t VSF_HW_PWR_USB1 |
const vsf_hw_pwr_t VSF_HW_PWR_SDMMC1 |
const vsf_hw_pwr_t VSF_HW_PWR_FMAC |
const vsf_hw_pwr_t VSF_HW_PWR_ESC |