iLLD_TC29x  1.0
IfxScuCcu.h File Reference

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...
 

Enumerations

enum  IfxScuCcu_K1divider {
  IfxScuCcu_K1divider_1 = 0,
  IfxScuCcu_K1divider_2,
  IfxScuCcu_K1divider_3,
  IfxScuCcu_K1divider_4,
  IfxScuCcu_K1divider_5,
  IfxScuCcu_K1divider_6,
  IfxScuCcu_K1divider_7,
  IfxScuCcu_K1divider_8,
  IfxScuCcu_K1divider_9,
  IfxScuCcu_K1divider_10,
  IfxScuCcu_K1divider_11,
  IfxScuCcu_K1divider_12,
  IfxScuCcu_K1divider_13,
  IfxScuCcu_K1divider_14,
  IfxScuCcu_K1divider_15,
  IfxScuCcu_K1divider_16,
  IfxScuCcu_K1divider_17,
  IfxScuCcu_K1divider_18,
  IfxScuCcu_K1divider_19,
  IfxScuCcu_K1divider_20,
  IfxScuCcu_K1divider_21,
  IfxScuCcu_K1divider_22,
  IfxScuCcu_K1divider_23,
  IfxScuCcu_K1divider_24,
  IfxScuCcu_K1divider_25,
  IfxScuCcu_K1divider_26,
  IfxScuCcu_K1divider_27,
  IfxScuCcu_K1divider_28,
  IfxScuCcu_K1divider_29,
  IfxScuCcu_K1divider_30,
  IfxScuCcu_K1divider_31,
  IfxScuCcu_K1divider_32,
  IfxScuCcu_K1divider_33,
  IfxScuCcu_K1divider_34,
  IfxScuCcu_K1divider_35,
  IfxScuCcu_K1divider_36,
  IfxScuCcu_K1divider_37,
  IfxScuCcu_K1divider_38,
  IfxScuCcu_K1divider_39,
  IfxScuCcu_K1divider_40,
  IfxScuCcu_K1divider_41,
  IfxScuCcu_K1divider_42,
  IfxScuCcu_K1divider_43,
  IfxScuCcu_K1divider_44,
  IfxScuCcu_K1divider_45,
  IfxScuCcu_K1divider_46,
  IfxScuCcu_K1divider_47,
  IfxScuCcu_K1divider_48,
  IfxScuCcu_K1divider_49,
  IfxScuCcu_K1divider_50,
  IfxScuCcu_K1divider_51,
  IfxScuCcu_K1divider_52,
  IfxScuCcu_K1divider_53,
  IfxScuCcu_K1divider_54,
  IfxScuCcu_K1divider_55,
  IfxScuCcu_K1divider_56,
  IfxScuCcu_K1divider_57,
  IfxScuCcu_K1divider_58,
  IfxScuCcu_K1divider_59,
  IfxScuCcu_K1divider_60,
  IfxScuCcu_K1divider_61,
  IfxScuCcu_K1divider_62,
  IfxScuCcu_K1divider_63,
  IfxScuCcu_K1divider_64,
  IfxScuCcu_K1divider_65,
  IfxScuCcu_K1divider_66,
  IfxScuCcu_K1divider_67,
  IfxScuCcu_K1divider_68,
  IfxScuCcu_K1divider_69,
  IfxScuCcu_K1divider_70,
  IfxScuCcu_K1divider_71,
  IfxScuCcu_K1divider_72,
  IfxScuCcu_K1divider_73,
  IfxScuCcu_K1divider_74,
  IfxScuCcu_K1divider_75,
  IfxScuCcu_K1divider_76,
  IfxScuCcu_K1divider_77,
  IfxScuCcu_K1divider_78,
  IfxScuCcu_K1divider_79,
  IfxScuCcu_K1divider_80,
  IfxScuCcu_K1divider_81,
  IfxScuCcu_K1divider_82,
  IfxScuCcu_K1divider_83,
  IfxScuCcu_K1divider_84,
  IfxScuCcu_K1divider_85,
  IfxScuCcu_K1divider_86,
  IfxScuCcu_K1divider_87,
  IfxScuCcu_K1divider_88,
  IfxScuCcu_K1divider_89,
  IfxScuCcu_K1divider_90,
  IfxScuCcu_K1divider_91,
  IfxScuCcu_K1divider_92,
  IfxScuCcu_K1divider_93,
  IfxScuCcu_K1divider_94,
  IfxScuCcu_K1divider_95,
  IfxScuCcu_K1divider_96,
  IfxScuCcu_K1divider_97,
  IfxScuCcu_K1divider_98,
  IfxScuCcu_K1divider_99,
  IfxScuCcu_K1divider_100,
  IfxScuCcu_K1divider_101,
  IfxScuCcu_K1divider_102,
  IfxScuCcu_K1divider_103,
  IfxScuCcu_K1divider_104,
  IfxScuCcu_K1divider_105,
  IfxScuCcu_K1divider_106,
  IfxScuCcu_K1divider_107,
  IfxScuCcu_K1divider_108,
  IfxScuCcu_K1divider_109,
  IfxScuCcu_K1divider_110,
  IfxScuCcu_K1divider_111,
  IfxScuCcu_K1divider_112,
  IfxScuCcu_K1divider_113,
  IfxScuCcu_K1divider_114,
  IfxScuCcu_K1divider_115,
  IfxScuCcu_K1divider_116,
  IfxScuCcu_K1divider_117,
  IfxScuCcu_K1divider_118,
  IfxScuCcu_K1divider_119,
  IfxScuCcu_K1divider_120,
  IfxScuCcu_K1divider_121,
  IfxScuCcu_K1divider_122,
  IfxScuCcu_K1divider_123,
  IfxScuCcu_K1divider_124,
  IfxScuCcu_K1divider_125,
  IfxScuCcu_K1divider_126,
  IfxScuCcu_K1divider_127,
  IfxScuCcu_K1divider_128
}
 MODULE_SCU.PLLCON1.B.K1DIV, specifies the K1-Divider. More...
 
enum  IfxScuCcu_K2divider {
  IfxScuCcu_K2divider_1 = 0,
  IfxScuCcu_K2divider_2,
  IfxScuCcu_K2divider_3,
  IfxScuCcu_K2divider_4,
  IfxScuCcu_K2divider_5,
  IfxScuCcu_K2divider_6,
  IfxScuCcu_K2divider_7,
  IfxScuCcu_K2divider_8,
  IfxScuCcu_K2divider_9,
  IfxScuCcu_K2divider_10,
  IfxScuCcu_K2divider_11,
  IfxScuCcu_K2divider_12,
  IfxScuCcu_K2divider_13,
  IfxScuCcu_K2divider_14,
  IfxScuCcu_K2divider_15,
  IfxScuCcu_K2divider_16,
  IfxScuCcu_K2divider_17,
  IfxScuCcu_K2divider_18,
  IfxScuCcu_K2divider_19,
  IfxScuCcu_K2divider_20,
  IfxScuCcu_K2divider_21,
  IfxScuCcu_K2divider_22,
  IfxScuCcu_K2divider_23,
  IfxScuCcu_K2divider_24,
  IfxScuCcu_K2divider_25,
  IfxScuCcu_K2divider_26,
  IfxScuCcu_K2divider_27,
  IfxScuCcu_K2divider_28,
  IfxScuCcu_K2divider_29,
  IfxScuCcu_K2divider_30,
  IfxScuCcu_K2divider_31,
  IfxScuCcu_K2divider_32,
  IfxScuCcu_K2divider_33,
  IfxScuCcu_K2divider_34,
  IfxScuCcu_K2divider_35,
  IfxScuCcu_K2divider_36,
  IfxScuCcu_K2divider_37,
  IfxScuCcu_K2divider_38,
  IfxScuCcu_K2divider_39,
  IfxScuCcu_K2divider_40,
  IfxScuCcu_K2divider_41,
  IfxScuCcu_K2divider_42,
  IfxScuCcu_K2divider_43,
  IfxScuCcu_K2divider_44,
  IfxScuCcu_K2divider_45,
  IfxScuCcu_K2divider_46,
  IfxScuCcu_K2divider_47,
  IfxScuCcu_K2divider_48,
  IfxScuCcu_K2divider_49,
  IfxScuCcu_K2divider_50,
  IfxScuCcu_K2divider_51,
  IfxScuCcu_K2divider_52,
  IfxScuCcu_K2divider_53,
  IfxScuCcu_K2divider_54,
  IfxScuCcu_K2divider_55,
  IfxScuCcu_K2divider_56,
  IfxScuCcu_K2divider_57,
  IfxScuCcu_K2divider_58,
  IfxScuCcu_K2divider_59,
  IfxScuCcu_K2divider_60,
  IfxScuCcu_K2divider_61,
  IfxScuCcu_K2divider_62,
  IfxScuCcu_K2divider_63,
  IfxScuCcu_K2divider_64,
  IfxScuCcu_K2divider_65,
  IfxScuCcu_K2divider_66,
  IfxScuCcu_K2divider_67,
  IfxScuCcu_K2divider_68,
  IfxScuCcu_K2divider_69,
  IfxScuCcu_K2divider_70,
  IfxScuCcu_K2divider_71,
  IfxScuCcu_K2divider_72,
  IfxScuCcu_K2divider_73,
  IfxScuCcu_K2divider_74,
  IfxScuCcu_K2divider_75,
  IfxScuCcu_K2divider_76,
  IfxScuCcu_K2divider_77,
  IfxScuCcu_K2divider_78,
  IfxScuCcu_K2divider_79,
  IfxScuCcu_K2divider_80,
  IfxScuCcu_K2divider_81,
  IfxScuCcu_K2divider_82,
  IfxScuCcu_K2divider_83,
  IfxScuCcu_K2divider_84,
  IfxScuCcu_K2divider_85,
  IfxScuCcu_K2divider_86,
  IfxScuCcu_K2divider_87,
  IfxScuCcu_K2divider_88,
  IfxScuCcu_K2divider_89,
  IfxScuCcu_K2divider_90,
  IfxScuCcu_K2divider_91,
  IfxScuCcu_K2divider_92,
  IfxScuCcu_K2divider_93,
  IfxScuCcu_K2divider_94,
  IfxScuCcu_K2divider_95,
  IfxScuCcu_K2divider_96,
  IfxScuCcu_K2divider_97,
  IfxScuCcu_K2divider_98,
  IfxScuCcu_K2divider_99,
  IfxScuCcu_K2divider_100,
  IfxScuCcu_K2divider_101,
  IfxScuCcu_K2divider_102,
  IfxScuCcu_K2divider_103,
  IfxScuCcu_K2divider_104,
  IfxScuCcu_K2divider_105,
  IfxScuCcu_K2divider_106,
  IfxScuCcu_K2divider_107,
  IfxScuCcu_K2divider_108,
  IfxScuCcu_K2divider_109,
  IfxScuCcu_K2divider_110,
  IfxScuCcu_K2divider_111,
  IfxScuCcu_K2divider_112,
  IfxScuCcu_K2divider_113,
  IfxScuCcu_K2divider_114,
  IfxScuCcu_K2divider_115,
  IfxScuCcu_K2divider_116,
  IfxScuCcu_K2divider_117,
  IfxScuCcu_K2divider_118,
  IfxScuCcu_K2divider_119,
  IfxScuCcu_K2divider_120,
  IfxScuCcu_K2divider_121,
  IfxScuCcu_K2divider_122,
  IfxScuCcu_K2divider_123,
  IfxScuCcu_K2divider_124,
  IfxScuCcu_K2divider_125,
  IfxScuCcu_K2divider_126,
  IfxScuCcu_K2divider_127,
  IfxScuCcu_K2divider_128
}
 MODULE_SCU.PLLCON1.B.K2DIV, specifies the K2-Divider. More...
 
enum  IfxScuCcu_K3divider {
  IfxScuCcu_K3divider_1 = 0,
  IfxScuCcu_K3divider_2,
  IfxScuCcu_K3divider_3,
  IfxScuCcu_K3divider_4,
  IfxScuCcu_K3divider_5,
  IfxScuCcu_K3divider_6,
  IfxScuCcu_K3divider_7,
  IfxScuCcu_K3divider_8,
  IfxScuCcu_K3divider_9,
  IfxScuCcu_K3divider_10,
  IfxScuCcu_K3divider_11,
  IfxScuCcu_K3divider_12,
  IfxScuCcu_K3divider_13,
  IfxScuCcu_K3divider_14,
  IfxScuCcu_K3divider_15,
  IfxScuCcu_K3divider_16,
  IfxScuCcu_K3divider_17,
  IfxScuCcu_K3divider_18,
  IfxScuCcu_K3divider_19,
  IfxScuCcu_K3divider_20,
  IfxScuCcu_K3divider_21,
  IfxScuCcu_K3divider_22,
  IfxScuCcu_K3divider_23,
  IfxScuCcu_K3divider_24,
  IfxScuCcu_K3divider_25,
  IfxScuCcu_K3divider_26,
  IfxScuCcu_K3divider_27,
  IfxScuCcu_K3divider_28,
  IfxScuCcu_K3divider_29,
  IfxScuCcu_K3divider_30,
  IfxScuCcu_K3divider_31,
  IfxScuCcu_K3divider_32,
  IfxScuCcu_K3divider_33,
  IfxScuCcu_K3divider_34,
  IfxScuCcu_K3divider_35,
  IfxScuCcu_K3divider_36,
  IfxScuCcu_K3divider_37,
  IfxScuCcu_K3divider_38,
  IfxScuCcu_K3divider_39,
  IfxScuCcu_K3divider_40,
  IfxScuCcu_K3divider_41,
  IfxScuCcu_K3divider_42,
  IfxScuCcu_K3divider_43,
  IfxScuCcu_K3divider_44,
  IfxScuCcu_K3divider_45,
  IfxScuCcu_K3divider_46,
  IfxScuCcu_K3divider_47,
  IfxScuCcu_K3divider_48,
  IfxScuCcu_K3divider_49,
  IfxScuCcu_K3divider_50,
  IfxScuCcu_K3divider_51,
  IfxScuCcu_K3divider_52,
  IfxScuCcu_K3divider_53,
  IfxScuCcu_K3divider_54,
  IfxScuCcu_K3divider_55,
  IfxScuCcu_K3divider_56,
  IfxScuCcu_K3divider_57,
  IfxScuCcu_K3divider_58,
  IfxScuCcu_K3divider_59,
  IfxScuCcu_K3divider_60,
  IfxScuCcu_K3divider_61,
  IfxScuCcu_K3divider_62,
  IfxScuCcu_K3divider_63,
  IfxScuCcu_K3divider_64,
  IfxScuCcu_K3divider_65,
  IfxScuCcu_K3divider_66,
  IfxScuCcu_K3divider_67,
  IfxScuCcu_K3divider_68,
  IfxScuCcu_K3divider_69,
  IfxScuCcu_K3divider_70,
  IfxScuCcu_K3divider_71,
  IfxScuCcu_K3divider_72,
  IfxScuCcu_K3divider_73,
  IfxScuCcu_K3divider_74,
  IfxScuCcu_K3divider_75,
  IfxScuCcu_K3divider_76,
  IfxScuCcu_K3divider_77,
  IfxScuCcu_K3divider_78,
  IfxScuCcu_K3divider_79,
  IfxScuCcu_K3divider_80,
  IfxScuCcu_K3divider_81,
  IfxScuCcu_K3divider_82,
  IfxScuCcu_K3divider_83,
  IfxScuCcu_K3divider_84,
  IfxScuCcu_K3divider_85,
  IfxScuCcu_K3divider_86,
  IfxScuCcu_K3divider_87,
  IfxScuCcu_K3divider_88,
  IfxScuCcu_K3divider_89,
  IfxScuCcu_K3divider_90,
  IfxScuCcu_K3divider_91,
  IfxScuCcu_K3divider_92,
  IfxScuCcu_K3divider_93,
  IfxScuCcu_K3divider_94,
  IfxScuCcu_K3divider_95,
  IfxScuCcu_K3divider_96,
  IfxScuCcu_K3divider_97,
  IfxScuCcu_K3divider_98,
  IfxScuCcu_K3divider_99,
  IfxScuCcu_K3divider_100,
  IfxScuCcu_K3divider_101,
  IfxScuCcu_K3divider_102,
  IfxScuCcu_K3divider_103,
  IfxScuCcu_K3divider_104,
  IfxScuCcu_K3divider_105,
  IfxScuCcu_K3divider_106,
  IfxScuCcu_K3divider_107,
  IfxScuCcu_K3divider_108,
  IfxScuCcu_K3divider_109,
  IfxScuCcu_K3divider_110,
  IfxScuCcu_K3divider_111,
  IfxScuCcu_K3divider_112,
  IfxScuCcu_K3divider_113,
  IfxScuCcu_K3divider_114,
  IfxScuCcu_K3divider_115,
  IfxScuCcu_K3divider_116,
  IfxScuCcu_K3divider_117,
  IfxScuCcu_K3divider_118,
  IfxScuCcu_K3divider_119,
  IfxScuCcu_K3divider_120,
  IfxScuCcu_K3divider_121,
  IfxScuCcu_K3divider_122,
  IfxScuCcu_K3divider_123,
  IfxScuCcu_K3divider_124,
  IfxScuCcu_K3divider_125,
  IfxScuCcu_K3divider_126,
  IfxScuCcu_K3divider_127,
  IfxScuCcu_K3divider_128
}
 MODULE_SCU.PLLCON1.B.K3DIV, specifies the K3-Divider. More...
 
enum  IfxScuCcu_Ndivider {
  IfxScuCcu_Ndivider_1 = 0,
  IfxScuCcu_Ndivider_2,
  IfxScuCcu_Ndivider_3,
  IfxScuCcu_Ndivider_4,
  IfxScuCcu_Ndivider_5,
  IfxScuCcu_Ndivider_6,
  IfxScuCcu_Ndivider_7,
  IfxScuCcu_Ndivider_8,
  IfxScuCcu_Ndivider_9,
  IfxScuCcu_Ndivider_10,
  IfxScuCcu_Ndivider_11,
  IfxScuCcu_Ndivider_12,
  IfxScuCcu_Ndivider_13,
  IfxScuCcu_Ndivider_14,
  IfxScuCcu_Ndivider_15,
  IfxScuCcu_Ndivider_16,
  IfxScuCcu_Ndivider_17,
  IfxScuCcu_Ndivider_18,
  IfxScuCcu_Ndivider_19,
  IfxScuCcu_Ndivider_20,
  IfxScuCcu_Ndivider_21,
  IfxScuCcu_Ndivider_22,
  IfxScuCcu_Ndivider_23,
  IfxScuCcu_Ndivider_24,
  IfxScuCcu_Ndivider_25,
  IfxScuCcu_Ndivider_26,
  IfxScuCcu_Ndivider_27,
  IfxScuCcu_Ndivider_28,
  IfxScuCcu_Ndivider_29,
  IfxScuCcu_Ndivider_30,
  IfxScuCcu_Ndivider_31,
  IfxScuCcu_Ndivider_32,
  IfxScuCcu_Ndivider_33,
  IfxScuCcu_Ndivider_34,
  IfxScuCcu_Ndivider_35,
  IfxScuCcu_Ndivider_36,
  IfxScuCcu_Ndivider_37,
  IfxScuCcu_Ndivider_38,
  IfxScuCcu_Ndivider_39,
  IfxScuCcu_Ndivider_40,
  IfxScuCcu_Ndivider_41,
  IfxScuCcu_Ndivider_42,
  IfxScuCcu_Ndivider_43,
  IfxScuCcu_Ndivider_44,
  IfxScuCcu_Ndivider_45,
  IfxScuCcu_Ndivider_46,
  IfxScuCcu_Ndivider_47,
  IfxScuCcu_Ndivider_48,
  IfxScuCcu_Ndivider_49,
  IfxScuCcu_Ndivider_50,
  IfxScuCcu_Ndivider_51,
  IfxScuCcu_Ndivider_52,
  IfxScuCcu_Ndivider_53,
  IfxScuCcu_Ndivider_54,
  IfxScuCcu_Ndivider_55,
  IfxScuCcu_Ndivider_56,
  IfxScuCcu_Ndivider_57,
  IfxScuCcu_Ndivider_58,
  IfxScuCcu_Ndivider_59,
  IfxScuCcu_Ndivider_60,
  IfxScuCcu_Ndivider_61,
  IfxScuCcu_Ndivider_62,
  IfxScuCcu_Ndivider_63,
  IfxScuCcu_Ndivider_64,
  IfxScuCcu_Ndivider_65,
  IfxScuCcu_Ndivider_66,
  IfxScuCcu_Ndivider_67,
  IfxScuCcu_Ndivider_68,
  IfxScuCcu_Ndivider_69,
  IfxScuCcu_Ndivider_70,
  IfxScuCcu_Ndivider_71,
  IfxScuCcu_Ndivider_72,
  IfxScuCcu_Ndivider_73,
  IfxScuCcu_Ndivider_74,
  IfxScuCcu_Ndivider_75,
  IfxScuCcu_Ndivider_76,
  IfxScuCcu_Ndivider_77,
  IfxScuCcu_Ndivider_78,
  IfxScuCcu_Ndivider_79,
  IfxScuCcu_Ndivider_80,
  IfxScuCcu_Ndivider_81,
  IfxScuCcu_Ndivider_82,
  IfxScuCcu_Ndivider_83,
  IfxScuCcu_Ndivider_84,
  IfxScuCcu_Ndivider_85,
  IfxScuCcu_Ndivider_86,
  IfxScuCcu_Ndivider_87,
  IfxScuCcu_Ndivider_88,
  IfxScuCcu_Ndivider_89,
  IfxScuCcu_Ndivider_90,
  IfxScuCcu_Ndivider_91,
  IfxScuCcu_Ndivider_92,
  IfxScuCcu_Ndivider_93,
  IfxScuCcu_Ndivider_94,
  IfxScuCcu_Ndivider_95,
  IfxScuCcu_Ndivider_96,
  IfxScuCcu_Ndivider_97,
  IfxScuCcu_Ndivider_98,
  IfxScuCcu_Ndivider_99,
  IfxScuCcu_Ndivider_100,
  IfxScuCcu_Ndivider_101,
  IfxScuCcu_Ndivider_102,
  IfxScuCcu_Ndivider_103,
  IfxScuCcu_Ndivider_104,
  IfxScuCcu_Ndivider_105,
  IfxScuCcu_Ndivider_106,
  IfxScuCcu_Ndivider_107,
  IfxScuCcu_Ndivider_108,
  IfxScuCcu_Ndivider_109,
  IfxScuCcu_Ndivider_110,
  IfxScuCcu_Ndivider_111,
  IfxScuCcu_Ndivider_112,
  IfxScuCcu_Ndivider_113,
  IfxScuCcu_Ndivider_114,
  IfxScuCcu_Ndivider_115,
  IfxScuCcu_Ndivider_116,
  IfxScuCcu_Ndivider_117,
  IfxScuCcu_Ndivider_118,
  IfxScuCcu_Ndivider_119,
  IfxScuCcu_Ndivider_120,
  IfxScuCcu_Ndivider_121,
  IfxScuCcu_Ndivider_122,
  IfxScuCcu_Ndivider_123,
  IfxScuCcu_Ndivider_124,
  IfxScuCcu_Ndivider_125,
  IfxScuCcu_Ndivider_126,
  IfxScuCcu_Ndivider_127,
  IfxScuCcu_Ndivider_128
}
 MODULE_SCU.PLLCON0.B.NDIV, specifies the N-Divider. More...
 
enum  IfxScuCcu_Pdivider {
  IfxScuCcu_Pdivider_1 = 0,
  IfxScuCcu_Pdivider_2,
  IfxScuCcu_Pdivider_3,
  IfxScuCcu_Pdivider_4,
  IfxScuCcu_Pdivider_5,
  IfxScuCcu_Pdivider_6,
  IfxScuCcu_Pdivider_7,
  IfxScuCcu_Pdivider_8,
  IfxScuCcu_Pdivider_9,
  IfxScuCcu_Pdivider_10,
  IfxScuCcu_Pdivider_11,
  IfxScuCcu_Pdivider_12,
  IfxScuCcu_Pdivider_13,
  IfxScuCcu_Pdivider_14,
  IfxScuCcu_Pdivider_15,
  IfxScuCcu_Pdivider_16
}
 MODULE_SCU.PLLCON0.B.PDIV, specifies the P-Divider. More...
 
enum  IfxScuCcu_AdcClockSelection {
  IfxScuCcu_AdcClockSelection_noClock = 0,
  IfxScuCcu_AdcClockSelection_fpll2 = 1,
  IfxScuCcu_AdcClockSelection_fPLL2ERAY = 2,
  IfxScuCcu_AdcClockSelection_backup = 3
}
 Selects the ADC converter clock in SCU_CCUCON0.B.ADCCLKSEL. 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...
 

Detailed Description

SCU basic functionality.

Version
iLLD_1_0_0_11_0
                            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.

Macro Definition Documentation

#define IFXSCUCCU_OSC_STABLECHK_TIME   (640)

Oscillator stability check timeout count.

Definition at line 120 of file IfxScuCcu.h.

Typedef Documentation

typedef void(* IfxScuCcu_PllStepsFunctionHook)(void)

Function pointer type for the hooks.

Returns
None

Definition at line 129 of file IfxScuCcu.h.

Enumeration Type Documentation

Selects the ADC converter clock in SCU_CCUCON0.B.ADCCLKSEL.

Enumerator
IfxScuCcu_AdcClockSelection_noClock 

No ADC converter clock, no conversions possible!

IfxScuCcu_AdcClockSelection_fpll2 

Select fPLL2 as clock source for the ADC converter.

IfxScuCcu_AdcClockSelection_fPLL2ERAY 

Select fPLL2ERAY as clock source for the ADC converter.

IfxScuCcu_AdcClockSelection_backup 

Select Backup-Clock (100 MHz) as clock source for the ADC converter.

Definition at line 703 of file IfxScuCcu.h.

Function Documentation

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.

Returns
Gtm Frequency

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.

Parameters
gtmFreqDesired GTM frequency in Hz
Returns
Actual GTM frequency in HZ

Definition at line 1148 of file IfxScuCcu.c.

Variable Documentation

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.