/*!
* @file     Port_PBcfg.c
*
* @version  1.0.0
*
* @brief    This file includes the configuration parameters of the Port module.
*
*/

/*******************************************************************************
 * Project Name      : AUTOSAR MCAL
 * Platform          : Arm
 * Autosar Standard  : Classic Platform 4.4.0
 * Revision Number   :
 * Compiled Version  : G32A10xx_MCAL_1_0_0_15-Nov-25
 *
 * Copyright (C) 2026 Geehy Semiconductor
 *
 * You may not use this file except in compliance with the GEEHY COPYRIGHT NOTICE
 * (Geehy Semiconductor Software License Agreement).
 *
 * The program is only for reference, which is distributed in the hope that it
 * will be useful and instructional for customers to develop their software.
 * Unless required by applicable law or agreed to in writing, the program is
 * distributed on an "AS IS" BASIS, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY
 * KIND, either express or implied. See the Geehy Semiconductor Software License Agreement for
 * the governing permissions and limitations under the License.
*
*******************************************************************************/

#ifdef __cplusplus
extern "C"{
#endif  /* ifdef __cplusplus */

#include "Port.h"
#include "Port_Cfg.h"
/*******************************************************************************
                    VENDOR ID & AUTOSAR VERSION INFO
*******************************************************************************/
/** Vendor ID (vendorId) of the dedicated implementation of this module according to the AUTOSAR vendor list. */
#define PORT_PBCFG_VENDOR_ID                              0x00C1U
/** Major version number of AUTOSAR release on which the appropriate implementation is based on. */
#define PORT_PBCFG_AR_RELEASE_MAJOR_VERSION               0x04U
/** Minor version number of AUTOSAR release on which the appropriate implementation is based on. */
#define PORT_PBCFG_AR_RELEASE_MINOR_VERSION               0x04U
/** Revision version number of AUTOSAR release on which the appropriate implementation is based on. */
#define PORT_PBCFG_AR_RELEASE_REVISION_VERSION            0x00U
/** Major version number of the vendor specific implementation of the module. The numbering is vendor specific. */ 
#define PORT_PBCFG_SW_MAJOR_VERSION                       0x01U
/** Minor version number of the vendor specific implementation of the module. The numbering is vendor specific. */
#define PORT_PBCFG_SW_MINOR_VERSION                       0x00U
/** Patch level version number of the vendor specific implementation of the module. The numbering is vendor specific. */
#define PORT_PBCFG_SW_PATCH_VERSION                       0x00U

/*******************************************************************************
                             GLOBAL VARIABLE
*******************************************************************************/
CONST(Port_ConfigType, PORT_CONST) g_portConfig =
{
    .pinMaxValue = PORT_MAX_CONFIG_PIN_COUNT,
    .pinNum[0] = 
    {
        .pinId = PortConfigSet_PortContainer_0_UART1_TX,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_9,
        .pinDirLock = PIN_YES_LOCK,
        .pinModeLock = PIN_YES_LOCK,
        .pinMode = 
        {
            .portPinMode = PA9_USART1_TX,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PU,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[1] = 
    {
        .pinId = PortConfigSet_PortContainer_0_UART1_RX,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_10,
        .pinDirLock = PIN_YES_LOCK,
        .pinModeLock = PIN_YES_LOCK,
        .pinMode = 
        {
            .portPinMode = PA10_USART1_RX,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PU,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[2] = 
    {
        .pinId = PortConfigSet_PortContainer_0_TMR4_CH1,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_2,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = PA2_TMR4_CH1,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PU,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[3] = 
    {
        .pinId = PortConfigSet_PortContainer_0_TMR4_CH2,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_3,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = PA3_TMR4_CH2,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PU,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[4] = 
    {
        .pinId = PortConfigSet_PortContainer_0_Pin0,
        .portId =  PORT_GPIO_B,
        .portPinId = GPIO_PIN_13,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = GPIO_MODE_OUT,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PD,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[5] = 
    {
        .pinId = PortConfigSet_PortContainer_0_Pin1,
        .portId =  PORT_GPIO_B,
        .portPinId = GPIO_PIN_14,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = GPIO_MODE_OUT,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_PU,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[6] = 
    {
        .pinId = PortConfigSet_PortContainer_0_ADC_CHANNLE1,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_1,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = GPIO_MODE_AN,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_NO,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[7] = 
    {
        .pinId = PortConfigSet_PortContainer_0_ADC_CHANNLE2,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_2,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = GPIO_MODE_AN,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_NO,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
    .pinNum[8] = 
    {
        .pinId = PortConfigSet_PortContainer_0_ADC_CHANNLE3,
        .portId =  PORT_GPIO_A,
        .portPinId = GPIO_PIN_3,
        .pinDirLock = PIN_NO_LOCK,
        .pinModeLock = PIN_NO_LOCK,
        .pinMode = 
        {
            .portPinMode = GPIO_MODE_AN,
            .outputMode = GPIO_OUT_TYPE_PP,
            .pullValue = GPIO_PUPD_NO,
            .defaultLevel = PORT_PIN_LEVEL_LOW,
            .speedSelect = HIGH_SPPED_HIGH_DRIVING,
        }
    },
};

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

