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.