|
ELIOT1 HAL
|
Интерфейс драйвера модуля CLKCTR. Подробнее...
#include "hal_rwc.h"Структуры данных | |
| struct | clkctr_div |
| Делители блока Подробнее... | |
| struct | clkctr_pll_cfg |
| Коэффициенты PLL. Подробнее... | |
Макросы | |
Экстремальные значения коэффициентов делителей частот параметров PLL (делитель частоты = коэффициент деления + 1) | |
| #define | CLKCTR_MAX_SYSCLK_DIV 31 |
| #define | CLKCTR_MAX_FCLK_DIV 31 |
| #define | CLKCTR_MAX_GNSSCLK_DIV 7 |
| #define | CLKCTR_MAX_QSPICLK_DIV 31 |
| #define | CLKCTR_MAX_MCOCLK_DIV 31 |
| #define | CLKCTR_MAX_I2SCLK_DIV 31 |
| #define | CLKCTR_MIN_SYSCLK_DIV 0 |
| #define | CLKCTR_MIN_FCLK_DIV 0 |
| #define | CLKCTR_MIN_GNSSCLK_DIV 0 |
| #define | CLKCTR_MIN_QSPICLK_DIV 0 |
| #define | CLKCTR_MIN_MCOCLK_DIV 0 |
| #define | CLKCTR_MIN_I2SCLK_DIV 0 |
| #define | PLL_MAX_MULTIPLIER 0x176 |
| #define | PLL_MIN_MULTIPLIER 0x0 |
| #define | CLKCTR_NR_MAN_MAX |
| #define | CLKCTR_NF_MAN_MAX |
| #define | CLKCTR_OD_MAN_MAX |
| #define | CLKCTR_MAN_MAX |
| #define | CLKCTR_SEL_MAX |
Минимально и максимально допустимые внешние частоты блока CLKCTR | |
| #define | CLKCTR_XTI_MIN 1 |
| #define | CLKCTR_XTI_MAX 50000000 |
| #define | CLKCTR_XTI32_MIN 30000 |
| #define | CLKCTR_XTI32_MAX 34000 |
| #define | CLKCTR_HFI_MIN 4000000 |
| #define | CLKCTR_HFI_MAX 25000000 |
| #define | CLKCTR_LFI_MIN 32112 |
| #define | CLKCTR_LFI_MAX 33423 |
| #define | CLKCTR_I2S_EXTCLK_MIN 1 |
| #define | CLKCTR_I2S_EXTCLK_MAX 50000000 |
Минимально и максимально допустимые внутренние частоты блока CLKCTR | |
| #define | CLKCTR_PLLREF_MIN 30000 |
| #define | CLKCTR_PLLREF_MAX 50000000 |
| #define | CLKCTR_PLLCLK_MIN 1880000 |
| #define | CLKCTR_PLLCLK_MAX 375000000 |
| #define | CLKCTR_PLLCLK_OD_MIN 30000000 |
| #define | CLKCTR_PLLCLK_OD_MAX 375000000 |
| #define | CLKCTR_FCLK_MIN 1 |
| #define | CLKCTR_FCLK_MAX 150000000 |
| #define | CLKCTR_SYSCLK_MIN 1 |
| #define | CLKCTR_SYSCLK_MAX 50000000 |
| #define | CLKCTR_QSPICLK_MIN 1 |
| #define | CLKCTR_QSPICLK_MAX 96000000 |
| #define | CLKCTR_GNSSCLK_MIN 1 |
| #define | CLKCTR_GNSSCLK_MAX 80000000 |
| #define | CLKCTR_I2SCLK_MIN 1 |
| #define | CLKCTR_I2SCLK_MAX 25000000 |
Служебные определения | |
| #define | HFI_FREQUENCY 15100000 |
| #define | CLKCTR_FREQ_NOT_SET 0 |
Перечисления | |
| enum | clkctr_mcoclk |
| Подаваемая на MCO частота Подробнее... | |
| enum | clkctr_lpclk |
| Подаваемая на LPCLK частота Подробнее... | |
| enum | clkctr_rtcclk |
| Подаваемая на RTCCLK частота Подробнее... | |
| enum | clkctr_mainclk |
| Подаваемая на MAINCLK частота Подробнее... | |
| enum | clkctr_pllref |
| Опорная частота PLL. Подробнее... | |
| enum | clkctr_usbclk |
| Подаваемая на USBCLK частота Подробнее... | |
| enum | clkctr_i2sclk |
| Подаваемая на I2SCLK частота Подробнее... | |
| enum | clkctr_hfi_for_main_type |
| Частота, определенная как HFICLK для MAINCLK (CLKCTR_MainClkTypeHFICLK) Подробнее... | |
| enum | clkctr_extern_freq |
| Генератор/осциллятор/вход, для которого групповой функцией устанавливается частота Подробнее... | |
| enum | clkctr_int_freq |
| Имя внутренней частоты тактирования микросхемы, для которой производится действие групповой функцией Подробнее... | |
| enum | clkctr_clk_force_type |
| Тип тактирования Подробнее... | |
| enum | clkctr_device_clk_force |
| Домены, к которым может быть применено динамическое тактирование Подробнее... | |
| enum | clkctr_status |
| Статусы драйвера CLKCTR. Подробнее... | |
Функции | |
Устаревшие функции для поддержки ранних примеров | |
| void | CLKCTR_SetPll (CLKCTR_Type *base, uint32_t xti_hz, uint32_t pll_mul) |
| Установка целочисленного множителя PLL. | |
| enum clkctr_status | CLKCTR_SetPllMan (CLKCTR_Type *base, uint32_t xti_hz, uint32_t nr, uint32_t nf, uint32_t od) |
| Установка множителей PLL в ручном режиме | |
| void | CLKCTR_SetSysDiv (CLKCTR_Type *base, uint16_t fclk_div, uint16_t sysclk_div, uint16_t gnssclk_div, uint16_t qspiclk_div) |
| Установка делителей | |
Функции установки и получения частот генераторов/осцилляторов | |
| enum clkctr_status | CLKCTR_SetXTI (CLKCTR_Type *base, uint32_t frequency) |
| Установка значения частоты, подаваемой на вход XTI. | |
| uint32_t | CLKCTR_GetXTI (CLKCTR_Type *base) |
| Извлечение значения частоты, подаваемой на вход XTI. | |
| enum clkctr_status | CLKCTR_SetXTI32 (CLKCTR_Type *base, uint32_t frequency) |
| Установка значения частоты, подаваемой на вход XTI32. | |
| uint32_t | CLKCTR_GetXTI32 (CLKCTR_Type *base) |
| Извлечение значения частоты, подаваемой на вход XTI32. | |
| enum clkctr_status | CLKCTR_SetHFI (CLKCTR_Type *base, uint32_t frequency) |
| Установка значения частоты внутреннего генератора APC. | |
| uint32_t | CLKCTR_GetHFI (CLKCTR_Type *base) |
| Извлечение значения частоты внутреннего генератора APC. | |
| enum clkctr_status | CLKCTR_SetLFI (CLKCTR_Type *base, uint32_t frequency) |
| Установка значения частоты внутреннего генератора RWC. | |
| uint32_t | CLKCTR_GetLFI (CLKCTR_Type *base) |
| Извлечение значения частоты внутреннего генератора RWC. | |
| enum clkctr_status | CLKCTR_SetI2SExtClk (CLKCTR_Type *base, uint32_t frequency) |
| Установка значения частоты, поступаемой на PA15. | |
| uint32_t | CLKCTR_GetI2SExtClk (CLKCTR_Type *base) |
| Извлечение значения частоты, поступаемой на PA15. | |
Функции установки и получения делителей, кроме PLL | |
| enum clkctr_status | CLKCTR_GetAllDiv (CLKCTR_Type *base, struct clkctr_div *divisors) |
| Извлечение всех делителей блока CLKCTR. | |
| uint32_t | CLKCTR_GetMCODiv (CLKCTR_Type *base) |
| Извлечение значения делителя MCODiv. | |
| enum clkctr_status | CLKCTR_SetMCODiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя MCODiv. | |
| uint32_t | CLKCTR_GetFClkDiv (CLKCTR_Type *base) |
| Извлечение значения делителя FCLKDiv. | |
| enum clkctr_status | CLKCTR_SetFClkDiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя FCLKDiv. | |
| uint32_t | CLKCTR_GetSysClkDiv (CLKCTR_Type *base) |
| Извлечение значения делителя SYSCLKDiv. | |
| enum clkctr_status | CLKCTR_SetSysClkDiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя SYSCLKDiv. | |
| uint32_t | CLKCTR_GetGNSSClkDiv (CLKCTR_Type *base) |
| Извлечение значения делителя GNSSCLKDiv. | |
| enum clkctr_status | CLKCTR_SetGNSSClkDiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя GNSSCLKDiv. | |
| uint32_t | CLKCTR_GetQSPIClkDiv (CLKCTR_Type *base) |
| Извлечение значения делителя QSPICLKDiv. | |
| enum clkctr_status | CLKCTR_SetQSPIClkDiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя QSPICLKDiv. | |
| uint32_t | CLKCTR_GetI2SClkDiv (CLKCTR_Type *base) |
| Извлечение значения делителя I2SCLKDiv. | |
| enum clkctr_status | CLKCTR_SetI2SClkDiv (CLKCTR_Type *base, uint32_t value) |
| Установка значения делителя I2SCLKDiv. | |
Функции установки и получения коэффициентов PLL | |
| enum clkctr_status | CLKCTR_GetPLLConfig (CLKCTR_Type *base, struct clkctr_pll_cfg *config) |
| Извлечение коэффициентов PLL. | |
| enum clkctr_status | CLKCTR_SetPLLConfig (CLKCTR_Type *base, struct clkctr_pll_cfg config) |
| Установка коэффициентов PLL. | |
Функции извлечения частот тактирования | |
| uint32_t | CLKCTR_GetXTIClk (CLKCTR_Type *base) |
| Извлечение значения частоты XTICLK. | |
| uint32_t | CLKCTR_GetHFIClk (CLKCTR_Type *base) |
| Извлечение значения частоты HFICLK. | |
| uint32_t | CLKCTR_GetRTCClk (CLKCTR_Type *base) |
| Извлечение значения частоты RTCCLK. | |
| uint32_t | CLKCTR_GetLPClk (CLKCTR_Type *base) |
| Извлечение значения частоты LPCLK. | |
| uint32_t | CLKCTR_GetPLLClk (CLKCTR_Type *base) |
| Извлечение значения частоты PLLCLK. | |
| uint32_t | CLKCTR_GetPLLRef (CLKCTR_Type *base) |
| Извлечение значения опорной частоты PLL. | |
| uint32_t | CLKCTR_GetMainClk (CLKCTR_Type *base) |
| Извлечение значения частоты MAINCLK. | |
| uint32_t | CLKCTR_GetUSBClk (CLKCTR_Type *base) |
| Извлечение значения частоты USBCLK, подаваемого на USB PHY. | |
| uint32_t | CLKCTR_GetFClkInt (CLKCTR_Type *base) |
| Извлечение значения частоты FCLK_INT. | |
| uint32_t | CLKCTR_GetFClk (CLKCTR_Type *base) |
| Извлечение значения частоты FCLK. | |
| uint32_t | CLKCTR_GetSysClk (CLKCTR_Type *base) |
| Извлечение значения частоты SYSCLK. | |
| uint32_t | CLKCTR_GetGNSSClk (CLKCTR_Type *base) |
| Извлечение значения частоты GNSSCLK. | |
| uint32_t | CLKCTR_GetQSPIClk (CLKCTR_Type *base) |
| Извлечение значения частоты QSPICLK. | |
| uint32_t | CLKCTR_GetI2SClk (CLKCTR_Type *base) |
| Извлечение значения частоты I2SCLK. | |
| uint32_t | CLKCTR_GetMCOClk (CLKCTR_Type *base) |
| Извлечение значения частоты MCOCLK, подаваемой на вывод PA15. | |
| uint32_t | CLKCTR_GetHFIClkForMainClk (CLKCTR_Type *base) |
| Извлечение значения частоты HFICLK для MAINCLK. | |
Функции выбора и извлечения источников частот | |
| enum clkctr_status | CLKCTR_SetSwitchMCOClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты MCO. | |
| enum clkctr_status | CLKCTR_SetSwitchPLLRef (CLKCTR_Type *base, uint32_t value) |
| Выбор источника опорной частоты PLL. | |
| enum clkctr_status | CLKCTR_SetSwitchMainClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты MAINCLK. | |
| enum clkctr_status | CLKCTR_SetSwitchRTCClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты RTCCLK. | |
| enum clkctr_status | CLKCTR_SetSwitchLPClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты LPCLK. | |
| enum clkctr_status | CLKCTR_SetSwitchUSBClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты USBCLK. | |
| enum clkctr_status | CLKCTR_SetSwitchI2SClk (CLKCTR_Type *base, uint32_t value) |
| Выбор источника частоты I2SCLK. | |
| enum clkctr_status | CLKCTR_SetSwitchPMUDIS (CLKCTR_Type *base, uint32_t value) |
| Выбор режима работы процессора | |
| uint32_t | CLKCTR_GetSwitchMCOClk (CLKCTR_Type *base) |
| Извлечение источника частоты MCO. | |
| uint32_t | CLKCTR_GetSwitchPLLRef (CLKCTR_Type *base) |
| Извлечение источника частоты PLL. | |
| uint32_t | CLKCTR_GetSwitchMainClk (CLKCTR_Type *base) |
| Извлечение источника частоты MAINCLK. | |
| uint32_t | CLKCTR_GetSwitchRTCClk (CLKCTR_Type *base) |
| Извлечение источника частоты RTCCLK. | |
| uint32_t | CLKCTR_GetSwitchLPClk (CLKCTR_Type *base) |
| Извлечение источника частоты LPCLK. | |
| uint32_t | CLKCTR_GetSwitchUSBClk (CLKCTR_Type *base) |
| Извлечение источника частоты USBCLK. | |
| uint32_t | CLKCTR_GetSwitchI2SClk (CLKCTR_Type *base) |
| Извлечение источника частоты I2SCLK. | |
| uint32_t | CLKCTR_GetSwitchPMUDIS (CLKCTR_Type *base) |
| Определение режима работы процессора | |
Прочие функции | |
| enum clkctr_status | CLKCTR_SetHFITrim (CLKCTR_Type *base, uint32_t index) |
| Установка индекса коэффициента подстройки частоты осциллятора HFI. | |
| uint32_t | CLKCTR_GetHFITrim (CLKCTR_Type *base) |
| Извлечение индекса коэффициента подстройки частоты осциллятора HFI. | |
| uint32_t | CLKCTR_GetMCOEn (CLKCTR_Type *base) |
| Извлечение разрешения тактового сигнала MCO. | |
| enum clkctr_status | CLKCTR_SetMCOEn (CLKCTR_Type *base, uint32_t enable) |
| Установка или запрет разрешения тактового сигнала MCO. | |
| enum clkctr_status | CLKCTR_GetClkForce (CLKCTR_Type *base, enum clkctr_device_clk_force device, enum clkctr_clk_force_type *clk_type) |
| Извлечение типа тактирования для модуля | |
| enum clkctr_status | CLKCTR_SetClkForce (CLKCTR_Type *base, enum clkctr_device_clk_force device, enum clkctr_clk_force_type clk_type) |
| Установка типа тактирования для модуля | |
Функции-обертки | |
| enum clkctr_status | CLKCTR_SetFrequency (CLKCTR_Type *base, enum clkctr_extern_freq input, uint32_t frequency) |
| Установка значения частоты, подаваемой на выбранный вход | |
| uint32_t | CLKCTR_GetFrequency (CLKCTR_Type *base, enum clkctr_extern_freq input) |
| Извлечение значения частоты, подаваемой на выбранный вход | |
| enum clkctr_status | CLKCTR_GetClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value) |
| Извлечение значения указанной частоты | |
| enum clkctr_status | CLKCTR_SetSwitchClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t value) |
| Выбор источника частоты для указанной частоты | |
| enum clkctr_status | CLKCTR_GetSwitchClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value) |
| Извлечение источника частоты для указанной частоты | |
| enum clkctr_status | CLKCTR_SetDivClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t value) |
| Установка коэффициента деления для указанной частоты | |
| enum clkctr_status | CLKCTR_GetDivClk (CLKCTR_Type *base, enum clkctr_int_freq clk, uint32_t *value) |
| Извлечение коэффициента деления для указанной частоты | |
Интерфейс драйвера модуля CLKCTR.