/*================================================================================================== * Project : RTD AUTOSAR 4.4 * Platform : CORTEXM * Peripheral : IPV_FTFC * Dependencies : * * Autosar Version : 4.4.0 * Autosar Revision : ASR_REL_4_4_REV_0000 * Autosar Conf.Variant : * SW Version : 1.0.0 * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907 * * (c) Copyright 2020-2021 NXP Semiconductors * All Rights Reserved. * * NXP Confidential. This software is owned or controlled by NXP and may only be * used strictly in accordance with the applicable license terms. By expressly * accepting such terms or by downloading, installing, activating and/or otherwise * using the software, you are agreeing that you have read, and that you agree to * comply with and are bound by, such license terms. If you do not agree to be * bound by the applicable license terms, then you may not retain, install, * activate or otherwise use the software. ==================================================================================================*/ #ifndef EEP_INTERNALTYPES_H #define EEP_INTERNALTYPES_H /** * @file * * @addtogroup EEP_DRIVER Eeprom Driver * @{ */ #ifdef __cplusplus extern "C"{ #endif #include "Eep_Cfg.h" /*================================================================================================== * SOURCE FILE VERSION INFORMATION ==================================================================================================*/ #define EEP_INTERNALTYPES_VENDOR_ID 43 #define EEP_INTERNALTYPES_AR_RELEASE_MAJOR_VERSION 4 #define EEP_INTERNALTYPES_AR_RELEASE_MINOR_VERSION 4 #define EEP_INTERNALTYPES_AR_RELEASE_REVISION_VERSION 0 #define EEP_INTERNALTYPES_SW_MAJOR_VERSION 1 #define EEP_INTERNALTYPES_SW_MINOR_VERSION 0 #define EEP_INTERNALTYPES_SW_PATCH_VERSION 0 /*================================================================================================== * FILE VERSION CHECKS ==================================================================================================*/ /* Check if current file and Eep configuration header file are of the same vendor */ #if (EEP_INTERNALTYPES_VENDOR_ID != EEP_VENDOR_ID_CFG) #error "Eep_InternalTypes.h and Eep_Cfg.h have different vendor ids" #endif /* Check if current file and Eep configuration header file are of the same Autosar version */ #if ((EEP_INTERNALTYPES_AR_RELEASE_MAJOR_VERSION != EEP_AR_RELEASE_MAJOR_VERSION_CFG) || \ (EEP_INTERNALTYPES_AR_RELEASE_MINOR_VERSION != EEP_AR_RELEASE_MINOR_VERSION_CFG) || \ (EEP_INTERNALTYPES_AR_RELEASE_REVISION_VERSION != EEP_AR_RELEASE_REVISION_VERSION_CFG) \ ) #error "AutoSar Version Numbers of Eep_InternalTypes.h and Eep_Cfg.h are different" #endif /* Check if current file and Eep configuration header file are of the same software version */ #if ((EEP_INTERNALTYPES_SW_MAJOR_VERSION != EEP_SW_MAJOR_VERSION_CFG) || \ (EEP_INTERNALTYPES_SW_MINOR_VERSION != EEP_SW_MINOR_VERSION_CFG) || \ (EEP_INTERNALTYPES_SW_PATCH_VERSION != EEP_SW_PATCH_VERSION_CFG) \ ) #error "Software Version Numbers of Eep_InternalTypes.h and Eep_Cfg.h are different" #endif /*================================================================================================== * ENUMS ==================================================================================================*/ /** * @brief Type of job currently executed by Eep_MainFunction. */ typedef enum { /** * @brief erase one or more complete eeprom sectors */ EEP_JOB_ERASE = 0, /** * @brief write one or more complete eeprom pages */ EEP_JOB_WRITE, /** * @brief read one or more bytes from eeprom memory */ EEP_JOB_READ, /** * @brief compare data buffer with content of eeprom memory */ EEP_JOB_COMPARE #if (EEP_QUICK_WRITES_API == STD_ON) /** * @brief write a certain number of bytes in quick write mode */ , EEP_JOB_QUICK_WRITE #endif /* EEP_QUICK_WRITES_API */ } Eep_JobType; /** * @brief Result of low-level eeprom operation. */ typedef enum { EEP_E_OK = 0, /**< @brief operation succeeded */ EEP_E_FAILED, /**< @brief operation failed due to hardware error */ EEP_E_BLOCK_INCONSISTENT, /**< @brief data buffer doesn't match with content of eeprom memory */ EEP_E_PENDING /**< @brief operation is pending */ } Eep_ReturnType; /** * @brief Size of data to be processeed by CRC. * * */ typedef enum { EEP_CRC_8_BITS = 0, EEP_CRC_16_BITS } Eep_CrcDataSizeType; #if (EEP_MCORE_ENABLED == STD_ON) /* Muticore feature */ /** * @brief Eep Multi Core Request Return Type. * @details The return value for the function requesting multi core access. * */ typedef enum { EEP_MCORE_ERROR = 0, EEP_MCORE_TIMEOUT, EEP_MCORE_PENDING, EEP_MCORE_GRANTED, EEP_MCORE_CANCELLED } Eep_MCoreReqReturnType; /** * @brief Eep Multi Core hardware job status * @details The status of a multicore core flash job, in hardware. Used to determine * if a flash job subject to multicore arbitration was started/suspended/aborted * in hardware, in the flash controller. This can be used for example, to * clear a semaphore granted for erase directly, if the job was not actually started * in hardware, instead of attempting to suspend it. * */ typedef enum { EEP_MCORE_HW_JOB_IDLE = 0, EEP_MCORE_HW_JOB_MAINF_STARTED, EEP_MCORE_HW_JOB_STARTED, EEP_MCORE_HW_JOB_CANCELLED } Eep_MCoreHwJobStatusType; #endif /* #if (EEP_MCORE_ENABLED == STD_ON) */ /*================================================================================================== * STRUCTURES AND OTHER TYPEDEFS ==================================================================================================*/ #ifdef __cplusplus } #endif #endif /* EEP_INTERNALTYPES_H */ /** @}*/