/**
* @file    Port_PBcfg.c
* @implements Port_PBcfg.c_Artifact
*
* @version 1.0.0
* @brief   AUTOSAR Port - PORT driver configuration.
* @details This file contains the PORT driver postbuild configuration.
*
* @addtogroup  Port
* @{
*/
/*=================================================================================================
*   Project              : AUTOSAR 4.3 MCAL
*   Platform             : PA
*   Peripheral           : SIU,IGF
*   Dependencies         : none
*
*   Autosar Version      : 4.3.1
*   Autosar Revision     : ASR_REL_4_3_REV_0001
*   Autosar Conf.Variant :
*   SW Version           : 1.0.0
*   Build Version        : MPC5777C_MCAL_1_0_0_RTM_ASR_REL_4_3_REV_0001_20190315
*
*   (c) Copyright 2006-2016 Freescale Semiconductor, Inc. 
*       Copyright 2017-2019 NXP
*   All Rights Reserved.
=================================================================================================*/
/*=================================================================================================
==================================================================================================*/

#ifdef __cplusplus
extern "C" {
#endif

/**
* @page misra_violations MISRA-C:2012 violations
*
* @section Port_PBcfg_c_REF_1
*          Violates MISRA 2012 Required Directive 4.10, Precautions shall be taken in order to prevent the contents
*          of a header file being included more than once. This violation is not fixed since the inclusion of 
*          Port_MemMap.h is as per AUTOSAR requirement [SWS_MemMap_00003].
*
* @section Port_PBcfg_c_REF_2
*          Violates MISRA 2012 Advisory Rule 20.1, #include directives should only be preceded by preprocessor
*          directives or comments. Port_MemMap.h is included after each section define in order to set the current 
*          memory section as defined by AUTOSAR
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.1, External identifiers shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.2, Identifiers declared in the same scope and name space shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.4, Macro identifiers shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.5, Identifiers shall be distinct from macro names.
*          The used compilers use more than 31 chars for identifiers.
*/

/*=================================================================================================
*                                        INCLUDE FILES
* 1) system and project includes
* 2) needed interfaces from external units
* 3) internal and external interfaces from this unit
=================================================================================================*/
#include "Port.h"


/*=================================================================================================
*                              SOURCE FILE VERSION INFORMATION
=================================================================================================*/
/**
* @brief Parameters that shall be published within the Port driver header file and also in the
*        module's description file
* @details The integration of incompatible files shall be avoided.
*
*/
#define PORT_VENDOR_ID_PBCFG_C                       43
#define PORT_AR_RELEASE_MAJOR_VERSION_PBCFG_C        4
#define PORT_AR_RELEASE_MINOR_VERSION_PBCFG_C        3
#define PORT_AR_RELEASE_REVISION_VERSION_PBCFG_C     1
#define PORT_SW_MAJOR_VERSION_PBCFG_C                1
#define PORT_SW_MINOR_VERSION_PBCFG_C                0
#define PORT_SW_PATCH_VERSION_PBCFG_C                0

/*=================================================================================================
*                                     FILE VERSION CHECKS
=================================================================================================*/

/* Check if Port_PBcfg.c and Port.h are of the same vendor */
#if (PORT_VENDOR_ID_PBCFG_C != PORT_VENDOR_ID)
    #error "Port_PBcfg.c and Port.h have different vendor ids"
#endif
/* Check if Port_PBcfg.c and Port.h are of the same Autosar version */
#if ((PORT_AR_RELEASE_MAJOR_VERSION_PBCFG_C    != PORT_AR_RELEASE_MAJOR_VERSION) || \
     (PORT_AR_RELEASE_MINOR_VERSION_PBCFG_C    != PORT_AR_RELEASE_MINOR_VERSION) || \
     (PORT_AR_RELEASE_REVISION_VERSION_PBCFG_C != PORT_AR_RELEASE_REVISION_VERSION) \
    )
    #error "AutoSar Version Numbers of Port_PBcfg.c and Port.h are different"
#endif

/* Check if Port_PBcfg.c and Port.h are of the same software version */
#if ((PORT_SW_MAJOR_VERSION_PBCFG_C != PORT_SW_MAJOR_VERSION) || \
     (PORT_SW_MINOR_VERSION_PBCFG_C != PORT_SW_MINOR_VERSION) || \
     (PORT_SW_PATCH_VERSION_PBCFG_C != PORT_SW_PATCH_VERSION)    \
    )
    #error "Software Version Numbers of Port_PBcfg.c and Port.h are different"
#endif

/*=================================================================================================
*                          LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
=================================================================================================*/


/*=================================================================================================
*                                       LOCAL MACROS
=================================================================================================*/

/*=================================================================================================
*                                      LOCAL CONSTANTS
=================================================================================================*/


/*=================================================================================================
*                                      LOCAL VARIABLES
=================================================================================================*/


/*=================================================================================================
*                                      GLOBAL CONSTANTS
=================================================================================================*/
#define PORT_START_SEC_CONFIG_DATA_16
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
#include "Port_MemMap.h"


#if (0UL != PORT_MAX_UNUSED_PADS_U16)
/**
* @brief NoDefaultPadsArray is an array containing Unimplemented pads and User pads
*/
static CONST(uint16, PORT_CONST) Port_au16NoUnUsedPadsArrayDefault[PORT_MAX_UNUSED_PADS_U16]=
{
(uint16)75,
(uint16)76,
(uint16)77,
(uint16)78,
(uint16)79,
(uint16)80,
(uint16)81,
(uint16)82,
(uint16)83,
(uint16)84,
(uint16)85,
(uint16)86,
(uint16)87,
(uint16)88,
(uint16)89,
(uint16)90,
(uint16)91,
(uint16)92,
(uint16)93,
(uint16)94,
(uint16)95,
(uint16)96,
(uint16)97,
(uint16)98,
(uint16)99,
(uint16)100,
(uint16)101,
(uint16)102,
(uint16)103,
(uint16)104,
(uint16)105,
(uint16)106,
(uint16)107,
(uint16)108,
(uint16)109,
(uint16)110,
(uint16)113,
(uint16)114,
(uint16)115,
(uint16)116,
(uint16)117,
(uint16)118,
(uint16)119,
(uint16)120,
(uint16)121,
(uint16)122,
(uint16)123,
(uint16)124,
(uint16)125,
(uint16)126,
(uint16)127,
(uint16)128,
(uint16)129,
(uint16)130,
(uint16)131,
(uint16)132,
(uint16)133,
(uint16)134,
(uint16)135,
(uint16)136,
(uint16)137,
(uint16)138,
(uint16)139,
(uint16)140,
(uint16)141,
(uint16)142,
(uint16)143,
(uint16)144,
(uint16)145,
(uint16)146,
(uint16)147,
(uint16)148,
(uint16)149,
(uint16)150,
(uint16)151,
(uint16)152,
(uint16)153,
(uint16)154,
(uint16)155,
(uint16)156,
(uint16)157,
(uint16)158,
(uint16)159,
(uint16)160,
(uint16)161,
(uint16)162,
(uint16)163,
(uint16)164,
(uint16)165,
(uint16)166,
(uint16)167,
(uint16)168,
(uint16)169,
(uint16)170,
(uint16)171,
(uint16)172,
(uint16)173,
(uint16)174,
(uint16)175,
(uint16)176,
(uint16)177,
(uint16)178,
(uint16)183,
(uint16)184,
(uint16)186,
(uint16)187,
(uint16)188,
(uint16)189,
(uint16)190,
(uint16)191,
(uint16)192,
(uint16)193,
(uint16)194,
(uint16)195,
(uint16)196,
(uint16)197,
(uint16)198,
(uint16)199,
(uint16)200,
(uint16)201,
(uint16)202,
(uint16)203,
(uint16)204,
(uint16)208,
(uint16)209,
(uint16)210,
(uint16)211,
(uint16)212,
(uint16)213,
(uint16)214,
(uint16)219,
(uint16)220,
(uint16)221,
(uint16)222,
(uint16)223,
(uint16)224,
(uint16)225,
(uint16)226,
(uint16)227,
(uint16)228,
(uint16)229,
(uint16)230,
(uint16)231,
(uint16)232,
(uint16)233,
(uint16)234,
(uint16)235,
(uint16)236,
(uint16)237,
(uint16)238,
(uint16)239,
(uint16)240,
(uint16)241,
(uint16)242,
(uint16)243,
(uint16)244,
(uint16)245,
(uint16)246,
(uint16)247,
(uint16)248,
(uint16)249,
(uint16)250,
(uint16)251,
(uint16)252,
(uint16)253,
(uint16)256,
(uint16)257,
(uint16)258,
(uint16)259,
(uint16)260,
(uint16)261,
(uint16)262,
(uint16)263,
(uint16)264,
(uint16)265,
(uint16)266,
(uint16)267,
(uint16)268,
(uint16)269,
(uint16)270,
(uint16)271,
(uint16)272,
(uint16)273,
(uint16)274,
(uint16)275,
(uint16)276,
(uint16)277,
(uint16)278,
(uint16)279,
(uint16)280,
(uint16)281,
(uint16)282,
(uint16)283,
(uint16)284,
(uint16)285,
(uint16)286,
(uint16)287,
(uint16)288,
(uint16)289,
(uint16)290,
(uint16)291,
(uint16)292,
(uint16)293,
(uint16)294,
(uint16)295,
(uint16)296,
(uint16)297,
(uint16)298,
(uint16)299,
(uint16)300,
(uint16)301,
(uint16)302,
(uint16)303,
(uint16)304,
(uint16)305,
(uint16)306,
(uint16)307,
(uint16)432,
(uint16)433,
(uint16)434,
(uint16)435,
(uint16)436,
(uint16)437,
(uint16)440,
(uint16)441,
(uint16)442,
(uint16)443,
(uint16)444,
(uint16)445,
(uint16)446,
(uint16)447,
(uint16)448,
(uint16)449,
(uint16)450,
(uint16)451,
(uint16)452,
(uint16)453,
(uint16)454,
(uint16)455,
(uint16)456,
(uint16)457,
(uint16)458,
(uint16)459,
(uint16)460,
(uint16)461,
(uint16)462,
(uint16)463,
(uint16)464,
(uint16)465,
(uint16)466,
(uint16)467,
(uint16)468,
(uint16)469,
(uint16)470,
(uint16)471,
(uint16)472,
(uint16)474,
(uint16)475,
(uint16)476,
(uint16)477,
(uint16)478,
(uint16)479,
(uint16)480,
(uint16)481,
(uint16)482,
(uint16)483,
(uint16)484,
(uint16)485,
(uint16)486,
(uint16)487,
(uint16)488,
(uint16)489,
(uint16)490,
(uint16)491
};
#endif

#define PORT_STOP_SEC_CONFIG_DATA_16
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"

#define PORT_START_SEC_CONFIG_DATA_UNSPECIFIED
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"
/**
 * @brief Default Configuration for Pins not initialized
 */
static CONST(Port_Siu_UnUsedPinConfigType, PORT_CONST) Port_UnUsedPin =
{
    /*@note: Configuration of Default pin*/
    (uint16)0x0100, (uint8)0
};

/**
* @brief Pin default configuration data for configPB
*/
static CONST(Port_Siu_PinConfigType, PORT_CONST) Port_aPinConfigDefault[PORT_MAX_CONFIGURED_PADS_U16]=
{
    {(Port_InternalPinIdType)181, (uint16)0x0200, (uint8)0, PORT_PIN_OUT, (boolean)TRUE, (boolean)TRUE, (boolean)TRUE},
    {(Port_InternalPinIdType)179, (uint16)0x0600, (uint8)1, PORT_PIN_OUT, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE},
    {(Port_InternalPinIdType)180, (uint16)0x0600, (uint8)1, PORT_PIN_OUT, (boolean)FALSE, (boolean)FALSE, (boolean)FALSE},
    {(Port_InternalPinIdType)182, (uint16)0x0100, (uint8)0, PORT_PIN_IN, (boolean)TRUE, (boolean)TRUE, (boolean)TRUE},
    {(Port_InternalPinIdType)185, (uint16)0x0100, (uint8)0, PORT_PIN_IN, (boolean)TRUE, (boolean)TRUE, (boolean)TRUE}

};


/**
* @brief Pad selection default configuration for configPB
*/
static CONST(Port_Siu_PadSelConfigType, PORT_CONST) Port_aPadSelConfigDefault[PORT_NMBR_INMUX_REGS_U16]=
{
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    (uint8)0x00,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)0x00
};
/**
* @brief This table contains all the Configured Port Pin parameters and the
*        number of Port Pins configured by the tool for the post-build mode PortConfigSet
*/

CONST(Port_ConfigType, PORT_CONST) PortConfigSet_0 =

{
  PORT_MAX_CONFIGURED_PADS_U16,
  PORT_MAX_UNUSED_PADS_U16,
#if (PORT_MAX_UNUSED_PADS_U16 != 0U)
  Port_au16NoUnUsedPadsArrayDefault,
#else
  NULL_PTR,
#endif
  &Port_UnUsedPin,
  Port_aPinConfigDefault,
  Port_aPadSelConfigDefault,
  {
    0U,
    NULL_PTR
  }
};
#define PORT_STOP_SEC_CONFIG_DATA_UNSPECIFIED
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"

/*=================================================================================================
*                                      GLOBAL VARIABLES
=================================================================================================*/


/*=================================================================================================
*                                   LOCAL FUNCTION PROTOTYPES
=================================================================================================*/


/*=================================================================================================
*                                       LOCAL FUNCTIONS
=================================================================================================*/


/*=================================================================================================
*                                       GLOBAL FUNCTIONS
=================================================================================================*/

#ifdef __cplusplus
}
#endif
/** @} */

/* End of File */

