123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- #ifndef FLEXIO_IP_HW_ACCESS_H
- #define FLEXIO_IP_HW_ACCESS_H
- #ifdef __cplusplus
- extern "C"{
- #endif
- #include "Flexio_Mcl_Ip_Cfg_DeviceRegisters.h"
- #include "Flexio_Mcl_Ip_Cfg_Defines.h"
- #define FLEXIO_IP_HW_ACCESS_VENDOR_ID_H 43
- #define FLEXIO_IP_HW_ACCESS_MODULE_ID_H 255
- #define FLEXIO_IP_HW_ACCESS_AR_RELEASE_MAJOR_VERSION_H 4
- #define FLEXIO_IP_HW_ACCESS_AR_RELEASE_MINOR_VERSION_H 4
- #define FLEXIO_IP_HW_ACCESS_AR_RELEASE_REVISION_VERSION_H 0
- #define FLEXIO_IP_HW_ACCESS_SW_MAJOR_VERSION_H 1
- #define FLEXIO_IP_HW_ACCESS_SW_MINOR_VERSION_H 0
- #define FLEXIO_IP_HW_ACCESS_SW_PATCH_VERSION_H 0
- #if (FLEXIO_IP_HW_ACCESS_VENDOR_ID_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_VENDOR_ID_H)
- #error "Flexio_Mcl_Ip_HwAccess.h and Flexio_Mcl_Ip_Cfg_DeviceRegisters.h have different vendor ids"
- #endif
- #if ((FLEXIO_IP_HW_ACCESS_AR_RELEASE_MAJOR_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_AR_RELEASE_MAJOR_VERSION_H) || \
- (FLEXIO_IP_HW_ACCESS_AR_RELEASE_MINOR_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_AR_RELEASE_MINOR_VERSION_H) || \
- (FLEXIO_IP_HW_ACCESS_AR_RELEASE_REVISION_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_AR_RELEASE_REVISION_VERSION_H) \
- )
- #error "AutoSar Version Numbers of Flexio_Mcl_Ip_HwAccess.h and Flexio_Mcl_Ip_Cfg_DeviceRegisters.h are different"
- #endif
- #if ((FLEXIO_IP_HW_ACCESS_SW_MAJOR_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_SW_MAJOR_VERSION_H) || \
- (FLEXIO_IP_HW_ACCESS_SW_MINOR_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_SW_MINOR_VERSION_H) || \
- (FLEXIO_IP_HW_ACCESS_SW_PATCH_VERSION_H != FLEXIO_MCL_IP_CFG_DEVICEREGISTERS_SW_PATCH_VERSION_H) \
- )
- #error "Software Version Numbers of Flexio_Mcl_Ip_HwAccess.h and Flexio_Mcl_Ip_Cfg_DeviceRegisters.h are different"
- #endif
- typedef enum
- {
- FLEXIO_TIMER_POLARITY_POSEDGE = 0x00U,
- FLEXIO_TIMER_POLARITY_NEGEDGE = 0x01U,
- } Flexio_Mcl_Ip_TimerPolarityType;
- typedef enum
- {
- FLEXIO_PIN_POLARITY_HIGH = 0x00U,
- FLEXIO_PIN_POLARITY_LOW = 0x01U,
- } Flexio_Mcl_Ip_PinPolarityType;
- typedef enum
- {
- FLEXIO_PIN_CONFIG_DISABLED = 0x00U,
- FLEXIO_PIN_CONFIG_OPEN_DRAIN = 0x01U,
- FLEXIO_PIN_CONFIG_BIDIR_OUTPUT = 0x02U,
- FLEXIO_PIN_CONFIG_OUTPUT = 0x03U,
- } Flexio_Mcl_Ip_PinConfigType;
- typedef enum
- {
- FLEXIO_SHIFTER_MODE_DISABLED = 0x00U,
- FLEXIO_SHIFTER_MODE_RECEIVE = 0x01U,
- FLEXIO_SHIFTER_MODE_TRANSMIT = 0x02U,
- FLEXIO_SHIFTER_MODE_MATCH_STORE = 0x04U,
- FLEXIO_SHIFTER_MODE_MATCH_CONTINUOUS = 0x05U,
- } Flexio_Mcl_Ip_ShifterModeType;
- typedef enum
- {
- FLEXIO_SHIFTER_SOURCE_PIN = 0x00U,
- FLEXIO_SHIFTER_SOURCE_SHIFTER = 0x01U,
- } Flexio_Mcl_Ip_ShifterSourceType;
- typedef enum
- {
- FLEXIO_SHIFTER_RW_MODE_NORMAL = 0x00U,
- FLEXIO_SHIFTER_RW_MODE_BIT_SWAP = 0x01U,
- } Flexio_Mcl_Ip_ShifterBufferModeType;
- typedef enum
- {
- FLEXIO_TRIGGER_POLARITY_HIGH = 0x00U,
- FLEXIO_TRIGGER_POLARITY_LOW = 0x01U,
- } Flexio_Mcl_Ip_TriggerPolarityType;
- typedef enum
- {
- FLEXIO_TRIGGER_SOURCE_EXTERNAL = 0x00U,
- FLEXIO_TRIGGER_SOURCE_INTERNAL = 0x01U,
- } Flexio_Mcl_Ip_TriggerSourceType;
- typedef enum
- {
- FLEXIO_TIMER_MODE_DISABLED = 0x00U,
- FLEXIO_TIMER_MODE_8BIT_BAUD = 0x01U,
- FLEXIO_TIMER_MODE_8BIT_PWM = 0x02U,
- FLEXIO_TIMER_MODE_16BIT = 0x03U,
- FLEXIO_TIMER_MODE_16BIT_DIS = 0x04U,
- FLEXIO_TIMER_MODE_8BIT_DUAL = 0x05U,
- FLEXIO_TIMER_MODE_8BIT_DUAL_PWM = 0x06U,
- FLEXIO_TIMER_16BIT_INPUT_CAPTURE_MODE = 0x07U,
- } Flexio_Mcl_Ip_TimerModeType;
- typedef enum
- {
- FLEXIO_TIMER_INITOUT_ONE = 0x00U,
- FLEXIO_TIMER_INITOUT_ZERO = 0x01U,
- FLEXIO_TIMER_INITOUT_ONE_RESET = 0x02U,
- FLEXIO_TIMER_INITOUT_ZERO_RESET = 0x03U,
- } Flexio_Mcl_Ip_TimerOutputType;
- typedef enum
- {
- FLEXIO_TIMER_DECREMENT_CLK_SHIFT_TMR = 0x00U,
- FLEXIO_TIMER_DECREMENT_TRG_SHIFT_TMR = 0x01U,
- FLEXIO_TIMER_DECREMENT_PIN_SHIFT_PIN = 0x02U,
- FLEXIO_TIMER_DECREMENT_TRG_SHIFT_TRG = 0x03U,
- } Flexio_Mcl_Ip_TimerDecrementType;
- typedef enum
- {
- FLEXIO_TIMER_RESET_NEVER = 0x00U,
- FLEXIO_TIMER_RESET_PIN_OUT = 0x02U,
- FLEXIO_TIMER_RESET_TRG_OUT = 0x03U,
- FLEXIO_TIMER_RESET_PIN_RISING = 0x04U,
- FLEXIO_TIMER_RESET_TRG_RISING = 0x06U,
- FLEXIO_TIMER_RESET_TRG_BOTH = 0x07U,
- } Flexio_Mcl_Ip_TimerResetType;
- typedef enum
- {
- FLEXIO_TIMER_DISABLE_NEVER = 0x00U,
- FLEXIO_TIMER_DISABLE_TIM_DISABLE = 0x01U,
- FLEXIO_TIMER_DISABLE_TIM_CMP = 0x02U,
- FLEXIO_TIMER_DISABLE_TIM_CMP_TRG_LOW = 0x03U,
- FLEXIO_TIMER_DISABLE_PIN = 0x04U,
- FLEXIO_TIMER_DISABLE_PIN_TRG_HIGH = 0x05U,
- FLEXIO_TIMER_DISABLE_TRG = 0x06U,
- } Flexio_Mcl_Ip_TimerDisableType;
- typedef enum
- {
- FLEXIO_TIMER_ENABLE_ALWAYS = 0x00U,
- FLEXIO_TIMER_ENABLE_TIM_ENABLE = 0x01U,
- FLEXIO_TIMER_ENABLE_TRG_HIGH = 0x02U,
- FLEXIO_TIMER_ENABLE_TRG_PIN_HIGH = 0x03U,
- FLEXIO_TIMER_ENABLE_PIN_POSEDGE = 0x04U,
- FLEXIO_TIMER_ENABLE_PIN_POSEDGE_TRG_HIGH = 0x05U,
- FLEXIO_TIMER_ENABLE_TRG_POSEDGE = 0x06U,
- FLEXIO_TIMER_ENABLE_TRG_EDGE = 0x07U,
- } Flexio_Mcl_Ip_TimerEnableType;
- typedef enum
- {
- FLEXIO_TIMER_STOP_BIT_DISABLED = 0x00U,
- FLEXIO_TIMER_STOP_BIT_TIM_CMP = 0x01U,
- FLEXIO_TIMER_STOP_BIT_TIM_DIS = 0x02U,
- FLEXIO_TIMER_STOP_BIT_TIM_CMP_DIS = 0x03U,
- } Flexio_Mcl_Ip_TimerStopType;
- typedef enum
- {
- FLEXIO_SHIFTER_STOP_BIT_DISABLED = 0x00U,
- FLEXIO_SHIFTER_STOP_BIT_0 = 0x02U,
- FLEXIO_SHIFTER_STOP_BIT_1 = 0x03U,
- } Flexio_Mcl_Ip_ShifterStopType;
- typedef enum
- {
- FLEXIO_SHIFTER_START_BIT_DISABLED = 0x00U,
- FLEXIO_SHIFTER_START_BIT_DISABLED_SH = 0x01U,
- FLEXIO_SHIFTER_START_BIT_0 = 0x02U,
- FLEXIO_SHIFTER_START_BIT_1 = 0x03U,
- } Flexio_Mcl_Ip_ShifterStartType;
- typedef enum
- {
- FLEXIO_TIMER_START_BIT_DISABLED = 0x00U,
- FLEXIO_TIMER_START_BIT_ENABLED = 0x01U,
- } Flexio_Mcl_Ip_TimerStartType;
- #define MCL_START_SEC_CODE
- #include "Mcl_MemMap.h"
- void Flexio_Mcl_Ip_SetSoftwareReset(FLEXIO_Type *baseAddr, boolean enable);
- void Flexio_Mcl_Ip_SetDebugEnable(FLEXIO_Type *baseAddr, boolean enable);
- void Flexio_Mcl_Ip_SetEnable(FLEXIO_Type *baseAddr, boolean enable);
- boolean Flexio_Mcl_Ip_GetShifterStatus(const FLEXIO_Type *baseAddr, uint8 shifter);
- uint32 Flexio_Mcl_Ip_GetAllShifterStatus(const FLEXIO_Type *baseAddr);
- void Flexio_Mcl_Ip_ClearShifterStatus(FLEXIO_Type *baseAddr, uint8 shifter);
- #if (FLEXIO_MCL_IP_PIN_STS_IS_AVAILABLE == STD_ON)
- uint32 Flexio_Mcl_Ip_GetAllPinsStatus(const FLEXIO_Type *baseAddr);
- #endif
- boolean Flexio_Mcl_Ip_GetShifterErrorStatus(const FLEXIO_Type *baseAddr, uint8 shifter);
- uint32 Flexio_Mcl_Ip_GetAllShifterErrorStatus(const FLEXIO_Type *baseAddr);
- void Flexio_Mcl_Ip_ClearShifterErrorStatus(FLEXIO_Type *baseAddr, uint8 shifter);
- boolean Flexio_Mcl_Ip_GetTimerStatus(const FLEXIO_Type *baseAddr, uint8 timer);
- boolean Flexio_Mcl_Ip_GetTimerInterruptEnable(const FLEXIO_Type *baseAddr, uint8 timer);
- uint32 Flexio_Mcl_Ip_GetAllTimerStatus(const FLEXIO_Type *baseAddr);
- void Flexio_Mcl_Ip_ClearTimerStatus(FLEXIO_Type *baseAddr, uint8 timer);
- uint32 Flexio_Mcl_Ip_GetAllShifterInterrupt(const FLEXIO_Type *baseAddr);
- uint32 Flexio_Mcl_Ip_GetAllShifterErrorInterrupt(const FLEXIO_Type *baseAddr);
- void Flexio_Mcl_Ip_SetShifterErrorInterrupt(FLEXIO_Type *baseAddr, uint8 interruptMask, boolean enable);
- void Flexio_Mcl_Ip_SetShifterInterrupt(FLEXIO_Type *baseAddr, uint8 interruptMask, boolean enable);
- void Flexio_Mcl_Ip_SetShifterDMARequest(FLEXIO_Type *baseAddr, uint8 requestMask, boolean enable);
- uint32 Flexio_Mcl_Ip_GetAllTimerInterrupt(const FLEXIO_Type *baseAddr);
- void Flexio_Mcl_Ip_SetTimerInterrupt(FLEXIO_Type *baseAddr, uint8 interruptMask, boolean enable);
- #if (FLEXIO_MCL_IP_TIMERSDEN_IS_AVAILABLE == STD_ON)
- void Flexio_Mcl_Ip_SetTimerDMARequest(FLEXIO_Type *baseAddr, uint8 requestMask, boolean enable);
- #endif
- void Flexio_Mcl_Ip_Init(FLEXIO_Type *baseAddr);
- #if (FLEXIO_MCL_IP_PIN_STS_IS_AVAILABLE == STD_ON)
- void Flexio_Mcl_Ip_ClearPinStatus(FLEXIO_Type *baseAddr, uint8 pin);
- uint32 Flexio_Mcl_Ip_GetAllPinsInterrupt(const FLEXIO_Type *baseAddr);
- #endif
- #define MCL_STOP_SEC_CODE
- #include "Mcl_MemMap.h"
- #ifdef __cplusplus
- }
- #endif
- #endif
|