84 #include "Std_Types.h"
97 #define ARRAYSIZE(array) ((sizeof (array) / \
108 #define MCU_SW_MAJOR_VERSION (10U)
110 #define MCU_SW_MINOR_VERSION (0U)
112 #define MCU_SW_PATCH_VERSION (0U)
122 #define MCU_AR_RELEASE_MAJOR_VERSION (4U)
124 #define MCU_AR_RELEASE_MINOR_VERSION (3U)
126 #define MCU_AR_RELEASE_REVISION_VERSION (1U)
134 #define MCU_VENDOR_ID ((uint16) 44U)
136 #define MCU_MODULE_ID ((uint16) 101U)
138 #define MCU_INSTANCE_ID ((uint8) 0U)
151 #ifndef MCU_E_PARAM_CONFIG
153 #define MCU_E_PARAM_CONFIG (0x0AU)
161 #ifndef MCU_E_PARAM_CLOCK
163 #define MCU_E_PARAM_CLOCK (0x0BU)
169 #ifndef MCU_E_PARAM_MODE
171 #define MCU_E_PARAM_MODE (0x0CU)
177 #ifndef MCU_E_PARAM_RAMSECTION
179 #define MCU_E_PARAM_RAMSECTION (0x0DU)
185 #ifndef MCU_E_PLL_NOT_LOCKED
187 #define MCU_E_PLL_NOT_LOCKED (0x0EU)
195 #define MCU_E_UNINIT (0x0FU)
201 #ifndef MCU_E_PARAM_POINTER
203 #define MCU_E_PARAM_POINTER (0x10U)
209 #ifndef MCU_E_INIT_FAILED
211 #define MCU_E_INIT_FAILED (0x11U)
224 #define MCU_STATUS_UNINIT ((uint8)(0U))
226 #define MCU_STATUS_INIT ((uint8)(1U))
237 #define MCU_SID_INIT (0x00U)
239 #define MCU_SID_INIT_RAM_SECTION (0x01U)
241 #define MCU_SID_INIT_CLOCK (0x02U)
243 #define MCU_SID_DISTRIBUTE_PLL_CLOCK (0x03U)
245 #define MCU_SID_GET_PLL_STATUS (0x04U)
247 #define MCU_SID_GET_RESET_REASON (0x05U)
249 #define MCU_SID_GET_RESET_RAW_VALUE (0x06U)
251 #define MCU_SID_PERFORM_RESET (0x07U)
253 #define MCU_SID_SETMODE (0x08U)
255 #define MCU_SID_GET_VERSION_INFO (0x09U)
257 #define MCU_SID_GET_RAM_STATE (0x0AU)
260 #if defined (SOC_J721E) || defined (SOC_J7200) || defined (SOC_J721S2) || defined (SOC_J784S4) || defined (SOC_J742S2)
268 #define MCU_PERFORM_RESET_MODE_COLD ((uint8) 0U)
271 #define MCU_PERFORM_RESET_MODE_WARM ((uint8) 1U)
273 #define MCU_E_MODE_FAILURE 0U
355 typedef struct Mcu_ConfigType_s
402 #if (STD_ON == MCU_INIT_CLOCK_API)
443 #if(STD_OFF == MCU_NO_PLL)
448 #if (STD_ON == MCU_PERFORM_RESET_API)
469 #if (STD_ON == MCU_INIT_RAM_API)
557 #if defined (SOC_J721E) || defined (SOC_J7200) || defined (SOC_J721S2) || defined (SOC_J784S4) || defined (SOC_J742S2)
578 #if (STD_ON == MCU_GET_RAM_STATE_API)
603 #if (STD_ON == MCU_GET_VERSION_INFO_API)
628 P2VAR(Std_VersionInfoType, AUTOMATIC, MCU_APPL_DATA) versioninfo);
This file contains generated pre compile configuration file for MCU MCAL driver.
void Mcu_GetVersionInfo(Std_VersionInfoType *versioninfo)
This service returns the version information of this module.
uint8 Mcu_RamSectionType
This type specifies the identification (ID) for a RAM section used in Mcu_InitRamSection()
Definition: Mcu.h:303
Mcu_CBKFunctionPtrType Mcu_CBK_Function
Definition: Mcu.h:365
uint8 Mcu_ResetMode
Definition: Mcu.h:359
Std_ReturnType Mcu_InitClock(Mcu_ClockType ClockSetting)
This service initializes the PLL and other MCU specific clock options.
Mcu_ModuleName ModuleName
Definition: Mcu.h:330
Mcu_ClkSourceIdType Mcu_ClockSourceId
Definition: Mcu.h:328
void Mcu_Init(const Mcu_ConfigType *ConfigPtr)
This service initializes the MCU driver.
Std_ReturnType Mcu_InitRamSection(Mcu_RamSectionType RamSection)
This service initializes the RAM section wise.
Mcu_ResetType Mcu_GetResetReason(void)
The service reads the reset type from the hardware, if supported.
uint32 Mcu_RawResetType
This type specifies the identification (ID) for a RAW MCU reset status returned by Mcu_GetResetRawVal...
Definition: Mcu.h:294
Mcu_RamStateType Mcu_GetRamState(void)
This service provides the actual status of the microcontroller Ram. (if supported)
Mcu_RawResetType Mcu_GetResetRawValue(void)
The service reads the reset type from the hardware register, if supported.
Mcu_ModeType Mcu_Mode
Definition: Mcu.h:357
uint8 Mcu_ClockType
This type specifies the identification (ID) for a ClockType status used by Mcu_InitClock()
Definition: Mcu.h:285
void Mcu_SetMode(Mcu_ModeType McuMode)
This service activates the MCU power modes.
Mcu_ClkModuleIdType Mcu_ClockModuleId
Definition: Mcu.h:326
void Mcu_ClearResetReason(void)
Clear the Mcu Reset reason by clearing the reset reason register.
uint8 Mcu_ModeType
This type specifies the identification (ID) for a MCU mode used in Mcu_SetMode()
Definition: Mcu.h:312
const struct Mcu_ConfigType_s McuModuleConfiguration_0
MCU Configuration struct declaration.
Std_ReturnType Mcu_DistributePllClock(void)
This service activates the PLL clock to the MCU clock distribution.
boolean Mcu_InitCfg
Definition: Mcu.h:334
Mcu_ClockConfigPtrType Mcu_ClockConfig
Definition: Mcu.h:361
uint64 Mcu_ClockFrequency
Definition: Mcu.h:336
Mcu_DomainType Domain
Definition: Mcu.h:332
void Mcu_PerformReset(void)
The service performs a microcontroller reset.
uint8 Mcu_NumberOfClockConfig
Definition: Mcu.h:363
Mcu_PllStatusType Mcu_GetPllStatus(void)
This service provides the lock status of the PLL.
Mcu_RamStateType
Enumeration of ranstate queried by Mcu_GetRamState()
Definition: Mcu_Cfg.h:471
Mcu_ModuleName
Definition: Mcu_Cfg.h:283
Mcu_PllStatusType
This is a status value returned by the function Mcu_GetPllStatus() of the MCU module.
Definition: Mcu_Cfg.h:433
Mcu_ClkSourceIdType
This is the type of the clock source in clock tree that is selectable for peripheral....
Definition: Mcu_Cfg.h:415
Mcu_DomainType
Definition: Mcu_Cfg.h:272
Std_ReturnType(* Mcu_CBKFunctionPtrType)(uint32 moduleId, uint32 clkId, uint64 ParentId)
Pointer to Callback function.
Definition: Mcu_Cfg.h:516
Mcu_ClkModuleIdType
Clock source config modules id enum.
Definition: Mcu_Cfg.h:314
Mcu_ResetType
This is the type of the reset enumerator containing the subset of reset types. It is not required t...
Definition: Mcu_Cfg.h:258
Structure for module clock setting.
Definition: Mcu.h:325
MCU CONFIG ROOT structure.
Definition: Mcu.h:356