123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- #ifndef LPSPI_IP_H
- #define LPSPI_IP_H
- #ifdef __cplusplus
- extern "C"{
- #endif
- #include "Lpspi_Ip_Types.h"
- #ifdef LPSPI_IP_ENABLE_USER_MODE_SUPPORT
- #include "Mcal.h"
- #endif
- #define LPSPI_IP_VENDOR_ID 43
- #define LPSPI_IP_AR_RELEASE_MAJOR_VERSION 4
- #define LPSPI_IP_AR_RELEASE_MINOR_VERSION 4
- #define LPSPI_IP_AR_RELEASE_REVISION_VERSION 0
- #define LPSPI_IP_SW_MAJOR_VERSION 1
- #define LPSPI_IP_SW_MINOR_VERSION 0
- #define LPSPI_IP_SW_PATCH_VERSION 0
- #if (LPSPI_IP_VENDOR_ID != LPSPI_IP_TYPES_VENDOR_ID)
- #error "Lpspi_Ip.h and Lpspi_Ip_Types.h have different vendor ids"
- #endif
- #if ((LPSPI_IP_AR_RELEASE_MAJOR_VERSION != LPSPI_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \
- (LPSPI_IP_AR_RELEASE_MINOR_VERSION != LPSPI_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \
- (LPSPI_IP_AR_RELEASE_REVISION_VERSION != LPSPI_IP_TYPES_AR_RELEASE_REVISION_VERSION))
- #error "AutoSar Version Numbers of Lpspi_Ip.h and Lpspi_Ip_Types.h are different"
- #endif
- #if ((LPSPI_IP_SW_MAJOR_VERSION != LPSPI_IP_TYPES_SW_MAJOR_VERSION) || \
- (LPSPI_IP_SW_MINOR_VERSION != LPSPI_IP_TYPES_SW_MINOR_VERSION) || \
- (LPSPI_IP_SW_PATCH_VERSION != LPSPI_IP_TYPES_SW_PATCH_VERSION))
- #error "Software Version Numbers of Lpspi_Ip.h and Lpspi_Ip_Types.h are different"
- #endif
- #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
-
- #if ((LPSPI_IP_AR_RELEASE_MAJOR_VERSION != MCAL_AR_RELEASE_MAJOR_VERSION) || \
- (LPSPI_IP_AR_RELEASE_MINOR_VERSION != MCAL_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Lpspi_Ip.h and Mcal.h are different"
- #endif
- #endif
- #define SPI_START_SEC_CONFIG_DATA_UNSPECIFIED
- #include "Spi_MemMap.h"
- LPSPI_IP_CONFIG_EXT
- #define SPI_STOP_SEC_CONFIG_DATA_UNSPECIFIED
- #include "Spi_MemMap.h"
- #define SPI_START_SEC_CODE
- #include "Spi_MemMap.h"
- Lpspi_Ip_StatusType Lpspi_Ip_Init(const Lpspi_Ip_ConfigType *PhyUnitConfigPtr);
- Lpspi_Ip_StatusType Lpspi_Ip_DeInit(uint8 Instance);
- Lpspi_Ip_StatusType Lpspi_Ip_SyncTransmit(
- const Lpspi_Ip_ExternalDeviceType *ExternalDevice,
- uint8 *TxBuffer,
- uint8 *RxBuffer,
- uint16 Length,
- uint32 TimeOut
- );
- Lpspi_Ip_StatusType Lpspi_Ip_AsyncTransmit(
- const Lpspi_Ip_ExternalDeviceType *ExternalDevice,
- uint8 *TxBuffer,
- uint8 *RxBuffer,
- uint16 Length,
- Lpspi_Ip_CallbackType EndCallback
- );
- #if (STD_ON == LPSPI_IP_HALF_DUPLEX_MODE_SUPPORT)
- Lpspi_Ip_StatusType Lpspi_Ip_SyncTransmitHalfDuplex(
- const Lpspi_Ip_ExternalDeviceType *ExternalDevice,
- uint8 *Buffer,
- uint16 Length,
- Lpspi_Ip_HalfDuplexType TransferType,
- uint32 TimeOut
- );
- Lpspi_Ip_StatusType Lpspi_Ip_AsyncTransmitHalfDuplex(
- const Lpspi_Ip_ExternalDeviceType *ExternalDevice,
- uint8 *Buffer,
- uint16 Length,
- Lpspi_Ip_HalfDuplexType TransferType,
- Lpspi_Ip_CallbackType EndCallback
- );
- #endif
- #if (LPSPI_IP_DMA_USED == STD_ON)
- #if (LPSPI_IP_ENABLE_DMAFASTTRANSFER_SUPPORT == STD_ON)
- Lpspi_Ip_StatusType Lpspi_Ip_AsyncTransmitFast(
- const Lpspi_Ip_FastTransferType *FastTransferCfg,
- uint8 NumberOfTransfer,
- Lpspi_Ip_CallbackType EndCallback
- );
- #endif
- #endif
- Lpspi_Ip_HwStatusType Lpspi_Ip_GetStatus(uint8 Instance);
- void Lpspi_Ip_ManageBuffers(uint8 Instance);
- Lpspi_Ip_StatusType Lpspi_Ip_UpdateFrameSize(const Lpspi_Ip_ExternalDeviceType *ExternalDevice, uint8 FrameSize);
- Lpspi_Ip_StatusType Lpspi_Ip_UpdateLsb(const Lpspi_Ip_ExternalDeviceType *ExternalDevice, boolean Lsb);
- Lpspi_Ip_StatusType Lpspi_Ip_UpdateDefaultTransmitData(const Lpspi_Ip_ExternalDeviceType *ExternalDevice, uint32 DefaultData);
- Lpspi_Ip_StatusType Lpspi_Ip_UpdateTransferMode(uint8 Instance, Lpspi_Ip_ModeType Mode);
- void Lpspi_Ip_Cancel(uint8 Instance);
- #if (LPSPI_IP_DUAL_CLOCK_MODE == STD_ON)
- Lpspi_Ip_StatusType Lpspi_Ip_SetClockMode(uint8 Instance, Lpspi_Ip_DualClockModeType ClockMode);
- #endif
- void Lpspi_Ip_IrqHandler(uint8 Instance);
- #if (LPSPI_IP_DMA_USED == STD_ON)
- void Lpspi_Ip_IrqTxDmaHandler(uint8 Instance);
- void Lpspi_Ip_IrqRxDmaHandler(uint8 Instance);
- #endif
- #define SPI_STOP_SEC_CODE
- #include "Spi_MemMap.h"
- #ifdef __cplusplus
- }
- #endif
- #endif
|