/**************************************************************************************************/ /** * @file : Spi_PBcfg.c * @brief : Spi AUTOSAR level - Post-Build(PB) configuration file code template * - Platform: Z20K14xM * - Autosar Version: 4.6.0 * @version : 1.2.0 * @author : Zhixin Semiconductor * @note : None * * @copyright : Copyright (c) 2021-2023 Zhixin Semiconductor Ltd. All rights reserved. **************************************************************************************************/ /** @addtogroup Spi_Module * @{ */ /** @addtogroup Spi_Configuration * @brief Spi AUTOSAR level configuration * @{ */ #ifdef __cplusplus extern "C"{ #endif #include "Spi.h" #include "Spi_Drvw.h" /** @defgroup Private_MacroDefinition * @{ */ #define SPI_PBCFG_C_VENDOR_ID 0x00B3U #define SPI_PBCFG_C_AR_RELEASE_MAJOR_VERSION 4U #define SPI_PBCFG_C_AR_RELEASE_MINOR_VERSION 6U #define SPI_PBCFG_C_AR_RELEASE_REVISION_VERSION 0U #define SPI_PBCFG_C_SW_MAJOR_VERSION 1U #define SPI_PBCFG_C_SW_MINOR_VERSION 2U #define SPI_PBCFG_C_SW_PATCH_VERSION 0U /* Check if current file and Spi.h are the same vendor */ #if (SPI_PBCFG_C_VENDOR_ID != SPI_VENDOR_ID) #error "Vendor ID of Spi_PBCfg.c and Spi.h are different" #endif /* Check if current file and Spi.h are the same Autosar version */ #if ((SPI_PBCFG_C_AR_RELEASE_MAJOR_VERSION != SPI_AR_RELEASE_MAJOR_VERSION) || \ (SPI_PBCFG_C_AR_RELEASE_MINOR_VERSION != SPI_AR_RELEASE_MINOR_VERSION) || \ (SPI_PBCFG_C_AR_RELEASE_REVISION_VERSION != SPI_AR_RELEASE_REVISION_VERSION)) #error "AutoSar Version of Spi_PBCfg.c and Spi.h are different" #endif /* Check if current file and Spi.h are the same Software version */ #if ((SPI_PBCFG_C_SW_MAJOR_VERSION != SPI_SW_MAJOR_VERSION) || \ (SPI_PBCFG_C_SW_MINOR_VERSION != SPI_SW_MINOR_VERSION) || \ (SPI_PBCFG_C_SW_PATCH_VERSION != SPI_SW_PATCH_VERSION)) #error "Software Version of Spi_PBCfg.c and Spi.h are different" #endif /* Check if current file and Spi_Drvw.h are the same vendor */ #if (SPI_PBCFG_C_VENDOR_ID != SPI_DRVW_H_VENDOR_ID) #error "Vendor ID of Spi_PBCfg.c and Spi_Drvw.h are different" #endif /* Check if current file and Spi_Drvw.h are the same Autosar version */ #if ((SPI_PBCFG_C_AR_RELEASE_MAJOR_VERSION != SPI_DRVW_H_AR_RELEASE_MAJOR_VERSION) || \ (SPI_PBCFG_C_AR_RELEASE_MINOR_VERSION != SPI_DRVW_H_AR_RELEASE_MINOR_VERSION) || \ (SPI_PBCFG_C_AR_RELEASE_REVISION_VERSION != SPI_DRVW_H_AR_RELEASE_REVISION_VERSION)) #error "AutoSar Version of Spi_PBCfg.c and Spi_Drvw.h are different" #endif /* Check if current file and Spi_Drvw.h are the same Software version */ #if ((SPI_PBCFG_C_SW_MAJOR_VERSION != SPI_DRVW_H_SW_MAJOR_VERSION) || \ (SPI_PBCFG_C_SW_MINOR_VERSION != SPI_DRVW_H_SW_MINOR_VERSION) || \ (SPI_PBCFG_C_SW_PATCH_VERSION != SPI_DRVW_H_SW_PATCH_VERSION)) #error "Software Version of Spi_PBCfg.c and Spi_Drvw.h are different" #endif /** @} end of Private_MacroDefinition */ /** @defgroup Private_TypeDefinition * @{ */ /** @} end of group Private_TypeDefinition */ /** @defgroup Private_VariableDefinition * @{ */ #define SPI_START_SEC_VAR_CLEARED_UNSPECIFIED #include "Spi_MemMap.h" #if (CPU_TYPE == CPU_TYPE_64) VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Stp, (8)) #else VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Stp, (4)) #endif #if (CPU_TYPE == CPU_TYPE_64) VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Sbc, (8)) #else VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Sbc, (4)) #endif #if (CPU_TYPE == CPU_TYPE_64) VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Buck, (8)) #else VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Buck, (4)) #endif #if (CPU_TYPE == CPU_TYPE_64) VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Boost, (8)) #else VAR_ALIGN(static Spi_Drvw_BufferDescriptorType Spi_BufferSpiChl_Boost, (4)) #endif #define SPI_STOP_SEC_VAR_CLEARED_UNSPECIFIED #include "Spi_MemMap.h" #define SPI_START_SEC_VAR_INIT_UNSPECIFIED #include "Spi_MemMap.h" #define SPI_STOP_SEC_VAR_INIT_UNSPECIFIED #include "Spi_MemMap.h" #define SPI_START_SEC_CONFIG_DATA_UNSPECIFIED #include "Spi_MemMap.h" /** * @brief Channel Configuration for Channel 'SpiChl_Stp' */ static const Spi_Drvw_ChannelConfigType Spi_ChannelConfig_SpiChl_Stp = { EB, /*!< BufferType IB or EB */ 16U, /*!< FrameSize */ (boolean)FALSE, /*!< Lsb */ (uint32)1U, /*!< DefaultTransmitValue */ 1024U, /*!< Length for SpiEbMaxLength */ &Spi_BufferSpiChl_Stp, /*!< BufferDescriptor */ 0U, /*!< SpiCoreUse */ &Spi_ChannelStateArray[0U] /*!< ChannelState */ }; /** * @brief Channel Configuration for Channel 'SpiChl_Sbc' */ static const Spi_Drvw_ChannelConfigType Spi_ChannelConfig_SpiChl_Sbc = { EB, /*!< BufferType IB or EB */ 16U, /*!< FrameSize */ (boolean)FALSE, /*!< Lsb */ (uint32)1U, /*!< DefaultTransmitValue */ 1024U, /*!< Length for SpiEbMaxLength */ &Spi_BufferSpiChl_Sbc, /*!< BufferDescriptor */ 0U, /*!< SpiCoreUse */ &Spi_ChannelStateArray[1U] /*!< ChannelState */ }; /** * @brief Channel Configuration for Channel 'SpiChl_Buck' */ static const Spi_Drvw_ChannelConfigType Spi_ChannelConfig_SpiChl_Buck = { EB, /*!< BufferType IB or EB */ 24U, /*!< FrameSize */ (boolean)FALSE, /*!< Lsb */ (uint32)1U, /*!< DefaultTransmitValue */ 1024U, /*!< Length for SpiEbMaxLength */ &Spi_BufferSpiChl_Buck, /*!< BufferDescriptor */ 0U, /*!< SpiCoreUse */ &Spi_ChannelStateArray[2U] /*!< ChannelState */ }; /** * @brief Channel Configuration for Channel 'SpiChl_Boost' */ static const Spi_Drvw_ChannelConfigType Spi_ChannelConfig_SpiChl_Boost = { EB, /*!< BufferType IB or EB */ 16U, /*!< FrameSize */ (boolean)FALSE, /*!< Lsb */ (uint32)1U, /*!< DefaultTransmitValue */ 1024U, /*!< Length for SpiEbMaxLength */ &Spi_BufferSpiChl_Boost, /*!< BufferDescriptor */ 0U, /*!< SpiCoreUse */ &Spi_ChannelStateArray[3U] /*!< ChannelState */ }; /** * @brief Channel Configuration list: Spi_ChannelConfigList[4] */ static const Spi_ChannelConfigListType Spi_ChannelConfigList[4] = { {&Spi_ChannelConfig_SpiChl_Stp}, {&Spi_ChannelConfig_SpiChl_Sbc}, {&Spi_ChannelConfig_SpiChl_Buck}, {&Spi_ChannelConfig_SpiChl_Boost} }; /** * @brief Channel Assignment of Jobs */ static const Spi_ChannelType Spi_ChannelAssignment_SpiJob_Stp[1] = { SpiChl_Stp }; /** * @brief Channel Assignment of Jobs */ static const Spi_ChannelType Spi_ChannelAssignment_SpiJob_Sbc[1] = { SpiChl_Sbc }; /** * @brief Channel Assignment of Jobs */ static const Spi_ChannelType Spi_ChannelAssignment_SpiJob_Buck[1] = { SpiChl_Buck }; /** * @brief Channel Assignment of Jobs */ static const Spi_ChannelType Spi_ChannelAssignment_SpiJob_Boost[1] = { SpiChl_Boost }; /** * @brief Job Configuration for Job 'SpiJob_Stp' */ static const Spi_JobConfigType Spi_JobConfig_SpiJob_Stp = { (Spi_ChannelType)1U, /*!< ChannelNum field */ Spi_ChannelAssignment_SpiJob_Stp, /*!< List of Channels */ &Ex_Spi_StpJobEndNotification, /*!< End Notification */ &Ex_Spi_StpJobStartNotification, /*!< Start Notification */ (sint8)0, /*!< Priority */ 0U, /*!< Core ID */ &Spi_JobStateArray[0], /* Pointer to Job State */ CSIB0, /*!< HWUnit index */ SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_STP, /*!< External Device */ &Spi_ExternalDeviceConfigList[SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_STP] /*!< ExternalDeviceConfig */ }; /** * @brief Job Configuration for Job 'SpiJob_Sbc' */ static const Spi_JobConfigType Spi_JobConfig_SpiJob_Sbc = { (Spi_ChannelType)1U, /*!< ChannelNum field */ Spi_ChannelAssignment_SpiJob_Sbc, /*!< List of Channels */ &Ex_Spi_SbcJobEndNotification, /*!< End Notification */ &Ex_Spi_SbcJobStartNotification, /*!< Start Notification */ (sint8)0, /*!< Priority */ 0U, /*!< Core ID */ &Spi_JobStateArray[1], /* Pointer to Job State */ CSIB0, /*!< HWUnit index */ SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_SBC, /*!< External Device */ &Spi_ExternalDeviceConfigList[SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_SBC] /*!< ExternalDeviceConfig */ }; /** * @brief Job Configuration for Job 'SpiJob_Buck' */ static const Spi_JobConfigType Spi_JobConfig_SpiJob_Buck = { (Spi_ChannelType)1U, /*!< ChannelNum field */ Spi_ChannelAssignment_SpiJob_Buck, /*!< List of Channels */ &Ex_Spi_BuckJobEndNotification, /*!< End Notification */ &Ex_Spi_BuckJobStartNotification, /*!< Start Notification */ (sint8)0, /*!< Priority */ 0U, /*!< Core ID */ &Spi_JobStateArray[2], /* Pointer to Job State */ CSIB1, /*!< HWUnit index */ SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_BUCK, /*!< External Device */ &Spi_ExternalDeviceConfigList[SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_BUCK] /*!< ExternalDeviceConfig */ }; /** * @brief Job Configuration for Job 'SpiJob_Boost' */ static const Spi_JobConfigType Spi_JobConfig_SpiJob_Boost = { (Spi_ChannelType)1U, /*!< ChannelNum field */ Spi_ChannelAssignment_SpiJob_Boost, /*!< List of Channels */ &Ex_Spi_BoostJobEndNotification, /*!< End Notification */ &Ex_Spi_BoostJobStartNotification, /*!< Start Notification */ (sint8)0, /*!< Priority */ 0U, /*!< Core ID */ &Spi_JobStateArray[3], /* Pointer to Job State */ CSIB1, /*!< HWUnit index */ SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_BOOST, /*!< External Device */ &Spi_ExternalDeviceConfigList[SPI_EXTERNAL_DEVICE_CONF_SPIEXDEV_BOOST] /*!< ExternalDeviceConfig */ }; /** * @brief Job Configuration list: Spi_JobConfigList[4] */ static const Spi_JobConfigListType Spi_JobConfigList[4] = { {&Spi_JobConfig_SpiJob_Stp}, {&Spi_JobConfig_SpiJob_Sbc}, {&Spi_JobConfig_SpiJob_Buck}, {&Spi_JobConfig_SpiJob_Boost} }; /** * @brief Job Assignment of Sequences */ static const Spi_JobType Spi_JobAssignment_SEQ_Stp[1] = { SpiJob_Stp }; /** * @brief Job Assignment of Sequences */ static const Spi_JobType Spi_JobAssignment_SEQ_Sbc[1] = { SpiJob_Sbc }; /** * @brief Job Assignment of Sequences */ static const Spi_JobType Spi_JobAssignment_SEQ_Buck[1] = { SpiJob_Buck }; /** * @brief Job Assignment of Sequences */ static const Spi_JobType Spi_JobAssignment_SEQ_Boost[1] = { SpiJob_Boost }; /** * @brief Sequence Configuration for Sequence 'SEQ_Stp' */ static const Spi_SequenceConfigType Spi_SequenceConfig_SEQ_Stp = { (Spi_JobType)1U, /* JobNum */ 0U, /* SpiCoreUse */ Spi_JobAssignment_SEQ_Stp, /* List of Jobs */ &Ex_Spi_StpSequenceEndNotification, /* End Notification */ (uint8)FALSE /* Interruptible */ }; /** * @brief Sequence Configuration for Sequence 'SEQ_Sbc' */ static const Spi_SequenceConfigType Spi_SequenceConfig_SEQ_Sbc = { (Spi_JobType)1U, /* JobNum */ 0U, /* SpiCoreUse */ Spi_JobAssignment_SEQ_Sbc, /* List of Jobs */ &Ex_Spi_SbcSequenceEndNotification, /* End Notification */ (uint8)FALSE /* Interruptible */ }; /** * @brief Sequence Configuration for Sequence 'SEQ_Buck' */ static const Spi_SequenceConfigType Spi_SequenceConfig_SEQ_Buck = { (Spi_JobType)1U, /* JobNum */ 0U, /* SpiCoreUse */ Spi_JobAssignment_SEQ_Buck, /* List of Jobs */ &Ex_Spi_BuckSequenceEndNotification, /* End Notification */ (uint8)FALSE /* Interruptible */ }; /** * @brief Sequence Configuration for Sequence 'SEQ_Boost' */ static const Spi_SequenceConfigType Spi_SequenceConfig_SEQ_Boost = { (Spi_JobType)1U, /* JobNum */ 0U, /* SpiCoreUse */ Spi_JobAssignment_SEQ_Boost, /* List of Jobs */ &Ex_Spi_BoostSequenceEndNotification, /* End Notification */ (uint8)FALSE /* Interruptible */ }; /** * @brief Sequence Configuration list: Spi_SequenceConfigList[4] */ static const Spi_SequenceConfigListType Spi_SequenceConfigList[4] = { {&Spi_SequenceConfig_SEQ_Stp}, {&Spi_SequenceConfig_SEQ_Sbc}, {&Spi_SequenceConfig_SEQ_Buck}, {&Spi_SequenceConfig_SEQ_Boost}, }; #define SPI_STOP_SEC_CONFIG_DATA_UNSPECIFIED #include "Spi_MemMap.h" /** @} end of group Private_VariableDefinition */ /** @defgroup Global_VariableDefinition * @{ */ #define SPI_START_SEC_CONFIG_DATA_UNSPECIFIED #include "Spi_MemMap.h" /** * @brief SPI Configuration */ const Spi_ConfigType Spi_Config= { 4U, /*!< Configured External Devices */ 3U, /*!< Configured Channels */ 3U, /*!< Configured Jobs */ 3U, /*!< Configured Sequences */ 0U, /*!< SpiCoreUse */ Spi_ChannelConfigList, /*!< ChannelConfigList */ Spi_JobConfigList, /*!< JobConfigList */ Spi_SequenceConfigList, /*!< SequenceConfigList */ Spi_ExternalDeviceConfigList, /*!< ExternalDeviceConfigList */ Spi_HwUnitConfigList /*!< HWUnitConfigList */ }; #define SPI_STOP_SEC_CONFIG_DATA_UNSPECIFIED #include "Spi_MemMap.h" /** @} end of group Global_VariableDefinition */ /** @defgroup Private_FunctionDeclaration * @{ */ /** @} end of group Private_FunctionDeclaration */ /** @defgroup Public_FunctionDeclaration * @{ */ /** @} end of group Public_FunctionDeclaration */ /** @defgroup Private_FunctionDefinition * @{ */ /** @} end of group Private_FunctionDefinition */ /** @defgroup Public_FunctionDefinition * @{ */ /** @} end of group Public_FunctionDefinition */ #ifdef __cplusplus } #endif /** @} end of group Spi_Configuration */ /** @} end of group Spi_Module */