iLLD_TC29x
1.0
|
SCU basic functionality. More...
#include "_Impl/IfxScu_cfg.h"
#include "Scu/Std/IfxScuWdt.h"
#include "Cpu/Std/IfxCpu.h"
#include "IfxStm_reg.h"
#include "IfxScu_reg.h"
#include "IfxFlash_reg.h"
#include "_PinMap/IfxScu_PinMap.h"
Go to the source code of this file.
Data Structures | |
struct | IfxScuCcu_CcuconRegConfig |
Configuration structure type for CCUCON registers. More... | |
struct | IfxScuCcu_InitialStepConfig |
Configuration structure type for the Pll initial step. This structure must be used to configure the P, N and K2 dividers for initial step. More... | |
struct | IfxScuCcu_PllStepsConfig |
Configuration structure type for the Pll Steps for current jump control. More... | |
struct | IfxScuCcu_ClockDistributionConfig |
Configuration structure type for all the CCUCON registers to configure clock distribution. More... | |
struct | IfxScuCcu_FlashWaitstateConfig |
Configuration structure type for the Flash waitstate configuration. More... | |
struct | IfxScuCcu_SysPllConfig |
Configuration structure type for the System Pll step. This structure must be used to configure the P, N and K1 dividers . More... | |
struct | IfxScuCcu_Config |
Configuration structure SCU module. More... | |
struct | IfxScuCcu_ErayPllConfig |
Configuration structure for E-ray PLL. More... | |
Macros | |
#define | IFXSCUCCU_OSC_STABLECHK_TIME (640) |
Oscillator stability check timeout count. More... | |
Typedefs | |
typedef void(* | IfxScuCcu_PllStepsFunctionHook )(void) |
Function pointer type for the hooks. More... | |
Functions | |
IFX_INLINE float32 | IfxScuCcu_getEvrFrequency (void) |
API to get EVR Oscillator frequency. This API returns the constant which is specific to the ScuCcu of the controller. More... | |
IFX_INLINE float32 | IfxScuCcu_getPll2ErayFrequency (void) |
API to get actual PLL2 (K3 Divider for ADC clock) frequency This API returns the PLL2ERAY frequency based on the K3 divider value in PLLERAYCON and the VCO frequency. This frequency is one of the configurable inputs to ADC clock. More... | |
IFX_INLINE float32 | IfxScuCcu_getPll2Frequency (void) |
API to get actual PLL2 (K3 Divider for ADC clock) frequency This API returns the PLL2 frequency based on the K3 divider value in PLLCON and the VCO frequency. This frequency is one of the configurable inputs to ADC clock. More... | |
IFX_INLINE IfxScu_CCUCON0_CLKSEL | IfxScuCcu_getSourceSelection (void) |
Returns the clock source selection. More... | |
IFX_INLINE float32 | IfxScuCcu_getStmFrequency (void) |
API to get STM divider frequency. This API returns the based on the divider value in CCUCON register and fSOURCE. More... | |
IFX_EXTERN float32 | IfxScuCcu_getAdcFrequency (void) |
API to get ADC divider frequency in Hz. This API returns the fADC based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getBaud1Frequency (void) |
API to get BAUD1 divider frequency. This API returns the based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getBaud2Frequency (void) |
API to get BAUD2 divider frequency. This API returns the Baud2 frequency based on the divider value in CCUCON register and the fMAX. More... | |
IFX_EXTERN float32 | IfxScuCcu_getBbbFrequency (void) |
API to get BBB divider frequency. This API returns the BBBDivider frequency based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getCpuFrequency (const IfxCpu_ResourceCpu cpu) |
This API returns the Cpu frequency based on the divider value in CCUCON register and fSource frequency. More... | |
IFX_EXTERN float32 | IfxScuCcu_getFsi2Frequency (void) |
API to get FSI2 divider frequency in Hz. This API returns the fFSI2 frequency based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getFsiFrequency (void) |
API to get FSI divider frequency in Hz. This API returns the fFSI based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getMaxFrequency (void) |
API to get FMAX divider frequency. This API returns the fMax frequency based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getModuleFrequency (void) |
get source frequency fSOURCE. This API returns the source frequency based on the configurations with CCUCON register configuration. More... | |
IFX_EXTERN float32 | IfxScuCcu_getOsc0Frequency (void) |
API to get Oscillator 0 frequency. This API returns the fOsc0 frequency based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getOscFrequency (void) |
API to get Oscillator 0 frequency. This API returns the fOsc0 frequency based on the divider value in CCUCON register and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getPllErayFrequency (void) |
API to get actual PLL (Eray) frequency. This API returns the based on the divider values in CCUCON, PLLCON registers and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getPllErayVcoFrequency (void) |
API to get actual ERAY PLL Voltage Controlled Oscillator frequency. This API returns the based on the divider values in PLLERAYCON registers and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getPllFrequency (void) |
API to get actual PLL output frequency. This API returns the based on the divider values in CCUCON, PLLCON registers and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getPllVcoFrequency (void) |
API to get actual PLL Voltage Controlled Oscillator frequency. This API returns the based on the divider values in PLLCON registers and the input oscillator. More... | |
IFX_EXTERN float32 | IfxScuCcu_getSourceFrequency (void) |
get source frequency fSOURCE. This API returns the source frequency based on the configurations with CCUCON register configuration. More... | |
IFX_EXTERN float32 | IfxScuCcu_getSpbFrequency (void) |
API to get SPB divider frequency. This API returns the based on fSOURCE and also on Low power divider mode and/or SPBDIV divider value in CCUCON registers. More... | |
IFX_EXTERN float32 | IfxScuCcu_getSriFrequency (void) |
API to get SRI divider frequency. This API returns the Sri frequency based on the divider values in CCUCON registers and fSOURCE. More... | |
IFX_EXTERN void | IfxScuCcu_selectAdcClock (IfxScuCcu_AdcClockSelection adcClkSel) |
API to select the Converter clock of the ADC in CCUCON0.B.ADCCLKSEL. More... | |
IFX_EXTERN float32 | IfxScuCcu_setCpuFrequency (IfxCpu_ResourceCpu cpu, float32 cpuFreq) |
API to set CPU frequency (with CPU divider) This API configure CPU divider values in CCUCON registers. The actual frequency is always depends on the feasibility with the divider value. More... | |
IFX_EXTERN float32 | IfxScuCcu_setPll2ErayFrequency (float32 pll2ErayFreq) |
API to configure PLL2ERAY (K3 Divider for ADC clock) for desired frequency. This API configure K3 divider value in CCUCON. The actual frequency always depends on the feasibility with the divider value. More... | |
IFX_EXTERN float32 | IfxScuCcu_setPll2Frequency (float32 pll2Freq) |
API to configure PLL2 (K3 Divider for ADC clock) for desired frequency. This API configure K3 divider value in CCUCON. The actual frequency always depends on the feasibility with the divider value. More... | |
IFX_EXTERN float32 | IfxScuCcu_setSpbFrequency (float32 spbFreq) |
API to set SPB frequency (with SPB divider) This API configure SPB divider values in CCUCON registers. The actual frequency always depends on the feasibility with the divider value. More... | |
IFX_EXTERN float32 | IfxScuCcu_setSriFrequency (float32 sriFreq) |
API to set SRI frequency (with SRI divider) This API configure Sri divider values in CCUCON registers. The actual frequency always depends on the feasibility with the divider value. More... | |
IFX_EXTERN boolean | IfxScuCcu_calculateSysPllDividers (IfxScuCcu_Config *cfg, uint32 fPll) |
The api calculates the system PLL divider values P, N, K based on given xtal frequency and PLL frequency. More... | |
IFX_EXTERN boolean | IfxScuCcu_init (const IfxScuCcu_Config *cfg) |
API to initialize the SCU Clock Control Unit. This API initialize the PLL with ramp steps, BUS dividers for the configuration provided by the configuration structure. More... | |
IFX_EXTERN void | IfxScuCcu_initConfig (IfxScuCcu_Config *cfg) |
Initializes the clock configuration with default values. More... | |
IFX_EXTERN boolean | IfxScuCcu_initErayPll (const IfxScuCcu_ErayPllConfig *cfg) |
API to initialize the SCU Eray Pll This API initialize the Eray PLL for the configuration provided by the configuration structure. More... | |
IFX_EXTERN void | IfxScuCcu_initErayPllConfig (IfxScuCcu_ErayPllConfig *cfg) |
Initializes the clock configuration with default values. More... | |
IFX_EXTERN void | IfxScuCcu_switchToBackupClock (const IfxScuCcu_Config *cfg) |
API to switch to Backup clock from the current PLL frequency. More... | |
IFX_INLINE float32 | IfxScuCcu_getGtmFrequency (void) |
API to get GTMdivider frequency This API returns the based on the divider value in CCUCON register and fSOURCE. return GTM frequency (fGTM) in Hz. More... | |
IFX_EXTERN float32 | IfxScuCcu_setGtmFrequency (float32 gtmFreq) |
API to set GTM frequency (with GTM divider) This API configure GTM divider values in CCUCON registers. The actual frequency always depends on the feasibility with the divider value. More... | |
Variables | |
IFX_EXTERN const IfxScuCcu_Config | IfxScuCcu_defaultClockConfig |
Configuration structure for SCU CCU driver. The values of this structure are defined as # defined macros in the implementation of Scu. More... | |
IFX_EXTERN const IfxScuCcu_ErayPllConfig | IfxScuCcu_defaultErayPllConfig |
Configuration structure for SCU CCU driver. The values of this structure are defined as # defined macros in the implementation of Scu. More... | |
SCU basic functionality.
IMPORTANT NOTICE
Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
Definition in file IfxScuCcu.h.
#define IFXSCUCCU_OSC_STABLECHK_TIME (640) |
Oscillator stability check timeout count.
Definition at line 120 of file IfxScuCcu.h.
typedef void(* IfxScuCcu_PllStepsFunctionHook)(void) |
Selects the ADC converter clock in SCU_CCUCON0.B.ADCCLKSEL.
Definition at line 703 of file IfxScuCcu.h.
IFX_INLINE float32 IfxScuCcu_getGtmFrequency | ( | void | ) |
API to get GTMdivider frequency This API returns the based on the divider value in CCUCON register and fSOURCE. return GTM frequency (fGTM) in Hz.
Definition at line 1093 of file IfxScuCcu.h.
Referenced by IfxScuCcu_setGtmFrequency().
IFX_EXTERN float32 IfxScuCcu_setGtmFrequency | ( | float32 | gtmFreq) |
API to set GTM frequency (with GTM divider) This API configure GTM divider values in CCUCON registers. The actual frequency always depends on the feasibility with the divider value.
gtmFreq | Desired GTM frequency in Hz |
Definition at line 1148 of file IfxScuCcu.c.
IFX_EXTERN const IfxScuCcu_Config IfxScuCcu_defaultClockConfig |
Configuration structure for SCU CCU driver. The values of this structure are defined as # defined macros in the implementation of Scu.
Definition at line 1076 of file IfxScuCcu.h.
IFX_EXTERN const IfxScuCcu_ErayPllConfig IfxScuCcu_defaultErayPllConfig |
Configuration structure for SCU CCU driver. The values of this structure are defined as # defined macros in the implementation of Scu.
Definition at line 1081 of file IfxScuCcu.h.