/*********************************************************************************
 * Copyright(C),Ningbo Joyson Preh Car Connect Co.,Ltd.
 * FileName:    Gpio_abs.c
 * Author:      Zheng shijie
 * Version :    Ver0.1
 * Date:        2020-10-09
 * Description:
 *
 *********************************************************************************/
#include "Abstraction/Driver/GPIO/Gpio_abs.h"
#include "Driver/GPIO/Gpio_drv.h"
#include "Abstraction/Include/OS_Interface.h"
#include "Driver/Interrupt/Interrupt.h"
#include "pins_driver.h"
void GPIO_Abs_PortA_config(void)
{
	GPIO_Port_Clk_Enable(PCC_PORTA_INDEX,CLK_ENABLE);
	//PTA.00(VERSION_VAR0,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_0,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_0,DIR_INPUT);
	//PTA.01(VERSION_VAR1,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_1,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_1,DIR_INPUT);
	//PTA.02(AMP_I2C_SDA,I/O,SDA)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_2,PIN_FUNCTION_ALT3);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_2,DIR_INPUT);
	//PTA.03(AMP_I2C_SCL,OUTPUT,SCL)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_3,PIN_FUNCTION_ALT3);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_3,DIR_OUTPUT);
	//PTA.04(MCU_JTAG_TMS,NC)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_4,PIN_FUNCTION_ALT7);
	//PTA.05(MCU_RST,NC)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_5,PIN_FUNCTION_ALT7);
	//PTA.06(MIC_DIAG_N,INPUT,ADC)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_6,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_6,DIR_INPUT);
	//PTA.07(RTC_CLKIN,INPUT,CLK)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_7,PIN_FUNCTION_ALT4);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_7,DIR_INPUT);
	//PTA.08(PWR_3V3_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_8,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_8,DIR_OUTPUT);
	//PTA.09(PWR_5V0_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_9,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_9,DIR_OUTPUT);
	//PTA.10(MCU_JTAG_TDO,NC)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_10,PIN_FUNCTION_ALT7);
	//PTA.11(MCU_1PPS,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_11,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_11,DIR_INPUT);
	//PTA.12(BBAT_BUBTRIG,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_12,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_12,DIR_INPUT);
	//PTA.13(BBAT_DET_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_13,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_13,DIR_OUTPUT);
	//PTA.14(BBAT_STATUS,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_14,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_14,DIR_INPUT);
	//PTA.15(PWR_8V2_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_15,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_15,DIR_OUTPUT);
	//PTA.16(PWR_6V8_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_16,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_16,DIR_OUTPUT);
	//PTA.17(AMP2_SHUTDOWN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_17,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_17,DIR_OUTPUT);
	//PTA.18(NC)
	//PTA.19(NC)
	//PTA.20(NC)
	//PTA.21(NC)
	//PTA.22(NC)
	//PTA.23(NC)
	//PTA.24(NC)
	//PTA.25(SOC_MCU_INT,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_25,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_25,DIR_INPUT);
	//PTA.26(MCU_LPSPI1_PCS0,OUTPUT,GPIO)
	//GPIO_Port_Function_Set(PORTA,PIN_INDEX_26,PIN_FUNCTION_ALT3);
	//GPIO_Port_Dir_Set(PTA,PIN_INDEX_26,DIR_OUTPUT);
	//PTA.27(MCU_LPSPI1_SOUT,OUTPUT,GPIO)
	//GPIO_Port_Function_Set(PORTA,PIN_INDEX_27,PIN_FUNCTION_ALT3);
	//GPIO_Port_Dir_Set(PTA,PIN_INDEX_27,DIR_OUTPUT);
	//PTA.28(MCU_LPSPI1_SCK,OUTPUT,GPIO)
	//GPIO_Port_Function_Set(PORTA,PIN_INDEX_28,PIN_FUNCTION_ALT3);
	//GPIO_Port_Dir_Set(PTA,PIN_INDEX_28,DIR_OUTPUT);
	//PTA.29(MCU_LPSPI1_SIN,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_29,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_29,DIR_INPUT);
	//PTA.30(MCU_LPSPI0_SOUT,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_30,PIN_FUNCTION_ALT4);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_30,DIR_OUTPUT);
	//PTA.31(MCU_LPSPI0_PCS1,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTA,PIN_INDEX_31,PIN_FUNCTION_ALT4);
	GPIO_Port_Dir_Set(PTA,PIN_INDEX_31,DIR_INPUT);
}

void GPIO_Abs_PortB_config(void)
{
	GPIO_Port_Clk_Enable(PCC_PORTB_INDEX,CLK_ENABLE);
	//PTB.00(1145_CAN_RX,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_0,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_0,DIR_INPUT);
	//PTB.01(1145_CAN_TX,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_1,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_1,DIR_OUTPUT);
	//PTB.02(NC)
	//PTB.03(NC)
	//PTB.04(7702_5V0_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_4,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_4,DIR_OUTPUT);
	//PTB.05(AG550_MCU_STATUS,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_5,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_5,DIR_INPUT);
	//PTB.06(XTAL)
	//PTB.07(EXTAL)
	//PTB.08(MCU_SOC_IO1,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_8,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_8,DIR_OUTPUT);
	//PTB.09(AudioD_1V8_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_9,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_9,DIR_OUTPUT);
	//PTB.10(AudioANA_3V3_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_10,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_10,DIR_OUTPUT);
	//PTB.11(AudioIO_1V8_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_11,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_11,DIR_OUTPUT);
	//PTB.12(1043_CAN_RX,INPUT,GPIO) NO USE
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_12,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_12,DIR_INPUT);
	//PTB.13(1043_CAN_TX,OUTPUT,GPIO) NO USE
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_13,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_13,DIR_OUTPUT);
	//PTB.14(1043_CAN_STB,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_14,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_14,DIR_OUTPUT);
	//PTB.15(1043_CAN_ERR,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_15,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_15,DIR_INPUT);
	//PTB.16(1043_CAN_INH,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_16,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_16,DIR_INPUT);
	//PTB.17(1043_CAN_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_17,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_17,DIR_OUTPUT);
	//PTB.18(PWR_3V8_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_18,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_18,DIR_OUTPUT);
	//PTB.19(NC)
	//PTB.20(MCU_AG550_ONOFF,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_20,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_20,DIR_OUTPUT);
	//PTB.21(PWR_V2X_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_21,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_21,DIR_OUTPUT);
	//PTB.22(V2X_TRX0_DET,INPUT,ADC)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_22,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_22,DIR_INPUT);
	//PTB.23(MAIN1_ANT_DET,INPUT,ADC)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_23,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_23,DIR_INPUT);
	//PTB.24(NC)
	//PTB.25(NC)
	//PTB.26(NC)
	//PTB.27(MCU_LPSPI2_SOUT,OUTPUT,SPI)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_27,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_27,DIR_OUTPUT);
	//PTB.28(MCU_LPSPI2_SIN,INPUT,SPI)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_28,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_28,DIR_INPUT);
	//PTB.29(MCU_LPSPI2_SCK,OUTPUT,SPI)
	GPIO_Port_Function_Set(PORTB,PIN_INDEX_29,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTB,PIN_INDEX_29,DIR_OUTPUT);
}

void GPIO_Abs_PortC_config(void)
{
	GPIO_Port_Clk_Enable(PCC_PORTC_INDEX,CLK_ENABLE);
	//PTC.00(NC)
	//PTC.01(NC)
	//PTC.02(DEBUG_UART_RX,INPUT,UART)
	//GPIO_Port_Function_Set(PORTC,PIN_INDEX_2,PIN_FUNCTION_ALT4);
	//GPIO_Port_Dir_Set(PTC,PIN_INDEX_2,DIR_INPUT);
	//PTC.03(DEBUG_UART_TX,OUTPUT,UART)
	//GPIO_Port_Function_Set(PORTC,PIN_INDEX_3,PIN_FUNCTION_ALT4);
	//GPIO_Port_Dir_Set(PTC,PIN_INDEX_3,DIR_OUTPUT);
	//PTC.04(NC)
	//PTC.05(NC)
	//PTC.06(7702_MIC_ERR,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_6,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_6,DIR_INPUT);
	//PTC.07(6V8_8V2_SENSE,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_7,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_7,DIR_INPUT);
	//PTC.08(CRASH_DET_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_8,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_8,DIR_OUTPUT);
	//PTC.09(SOS_TRIG,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_9,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_9,DIR_INPUT);
	//PTC.10(NC)
	//PTC.11(1145_CAN_INH,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_11,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_11,DIR_INPUT);
	//PTC.12(NC)
	//PTC.13(NC)
	//PTC.14(NC)
	//PTC.15(GPS_ANT_SENSE,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_15,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_15,DIR_INPUT);
	//PTC.16(ECALL_HS_VOL,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_16,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_16,DIR_INPUT);
	//PTC.17(NC)
	//PTC.18(NC)
	//PTC.19(MCU_LPSPI2_PCS1,OUTPUT,SPI)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_19,PIN_FUNCTION_ALT5);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_19,DIR_OUTPUT);
	//PTC.20(NC)
	//PTC.21(NC)
	//PTC.22(NC)
	//PTC.23(NC)
	//PTC.24(NC)
	//PTC.25(NC)
	//PTC.26(NC)
	//PTC.27(SOS_LSide_VOL,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_27,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_27,DIR_INPUT);
	//PTC.28(SOS_GND_VOL,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_28,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_28,DIR_INPUT);
	//PTC.29(BT_MCU_WAKE,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_29,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_29,DIR_INPUT);
	//PTC.30(MIC_DIAG_P,INPUT,ADC)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_30,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_30,DIR_INPUT);
	//PTC.31(ECALL_HSIDE_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTC,PIN_INDEX_31,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTC,PIN_INDEX_31,DIR_OUTPUT);
}


void GPIO_Abs_PortD_config(void)
{
	GPIO_Port_Clk_Enable(PCC_PORTD_INDEX,CLK_ENABLE);
	//PTD.00(MCU_PMIC_RST,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_0,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_0,DIR_OUTPUT);
	//PTD.01(PMIC_PGOOD,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_1,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_1,DIR_INPUT);
	//PTD.02(AMP_nSTANDBY,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_2,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_2,DIR_OUTPUT);
	//PTD.03(MCU_SOC_IO3,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_3,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_3,DIR_OUTPUT);
	//PTD.04(MBAT_DET_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_4,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_4,DIR_OUTPUT);
	//PTD.05(AG550_MCU_INT,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_5,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_5,DIR_INPUT);
	//PTD.06(MCU_AG550_INT,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_6,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_6,DIR_OUTPUT);
	//PTD.07(7702_GPS_ERR,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_7,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_7,DIR_INPUT);
	//PTD.08(DEBUG_UART_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_8,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_8,DIR_OUTPUT);
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_8,PORT_HIGH);
	//PTD.09(NC)
	//PTD.10(NC)
	//PTD.11(NC)
	//PTD.12(PWR_Vboost_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_12,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_12,DIR_OUTPUT);
	//PTD.13(IMU_MCU_INT,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_13,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_13,DIR_INPUT);
	//PTD.14(AG550_MCU_WAKE,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_14,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_14,DIR_INPUT);
	//PTD.15(MCU_LPSPI0_SCK,INPUT,SPI)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_15,PIN_FUNCTION_ALT4);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_15,DIR_INPUT);
	//PTD.16(MCU_LPSPI0_SIN,INPUT,SPI)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_16,PIN_FUNCTION_ALT4);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_16,DIR_INPUT);
	//PTD.17(AG550_NET_STATUS,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_17,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_17,DIR_INPUT);
	//PTD.18(MCU_CRASH_IN,INPUT,FTM)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_18,PIN_FUNCTION_ALT2);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_18,DIR_INPUT);
	//PTD.19(LED_GREEN_OUT,OUTPUT,PWM)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_19,PIN_FUNCTION_ALT2);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_19,DIR_OUTPUT);
	//PTD.20(NC)
	//PTD.21(NC)
	//PTD.22(NC)
	//PTD.23(AMP_MUTE,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_23,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_23,DIR_OUTPUT);
	//PTD.24(AMP_nFault,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_24,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_24,DIR_INPUT);
	//PTD.25(NC)
	//PTD.26(NC)
	//PTD.27(MCU_SOC_IO2,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_27,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_27,DIR_OUTPUT);
	//PTD.28(VERSION_CFG0,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_28,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_28,DIR_INPUT);
	//PTD.29(VERSION_CFG1,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_29,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_29,DIR_INPUT);
	//PTD.30(VERSION_CFG2,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTD,PIN_INDEX_30,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTD,PIN_INDEX_30,DIR_INPUT);
	//PTD.31(NC)
}

void GPIO_Abs_PortE_config(void)
{
	GPIO_Port_Clk_Enable(PCC_PORTE_INDEX,CLK_ENABLE);
	//PTE.00(BBAT_I2C_SDA,I/O,IIC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_0,PIN_FUNCTION_ALT4);
	//PTE.01(BBAT_I2C_SCL,OUTPUT,IIC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_1,PIN_FUNCTION_ALT4);
	//PTE.02(MCU_SOC_WAKE,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_2,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_2,DIR_OUTPUT);
	//PTE.03(AG550_MCU_RI,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_3,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_3,DIR_INPUT);
	//PTE.04(MCU_SOC_INT,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_4,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_4,DIR_OUTPUT);
	//PTE.05(NC)
	//PTE.06(PWR_5V0_PGOOD,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_6,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_6,DIR_INPUT);
	//PTE.07(LED_RED_OUT,OUTPUT,PWM)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_7,PIN_FUNCTION_ALT2);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_7,DIR_OUTPUT);
	//PTE.08(AG550_NET_MODE,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_8,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_8,DIR_INPUT);
	//PTE.09(MCU_AG550_RESET,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_9,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_9,DIR_OUTPUT);
	//PTE.10(MCU_DEBUG_LED2,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_10,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_10,DIR_OUTPUT);
	//PTE.11(MCU_DEBUG_LED1,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_11,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_11,DIR_OUTPUT);
	//PTE.12(MCU_AG550_WAKE,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_12,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_12,DIR_OUTPUT);
	//PTE.13(PMIC_STB,INPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_13,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_13,DIR_INPUT);
	//PTE.14(MCU_AG550_W_DISABLE,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_14,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_14,DIR_OUTPUT);
	//PTE.15(PWR_SYS_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_15,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_15,DIR_OUTPUT);
	//PTE.16(PWR_1V8_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_16,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_16,DIR_OUTPUT);
	//PTE.17(NC)
	//PTE.18(NC)
	//PTE.19(BBAT_AVI,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_19,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_19,DIR_INPUT);
	//PTE.20(MBAT_VOL,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_20,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_20,DIR_INPUT);
	//PTE.21(BBAT_IMON,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_21,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_21,DIR_INPUT);
	//PTE.22(BBAT_AVB,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_22,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_22,DIR_INPUT);
	//PTE.23(BBAT_TEMP,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_23,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_23,DIR_INPUT);
	//PTE.24(BBAT_VOL,INPUT,ADC)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_24,PIN_FUNCTION_ALT0);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_24,DIR_INPUT);
	//PTE.25(BBAT_EN,OUTPUT,GPIO)
	GPIO_Port_Function_Set(PORTE,PIN_INDEX_25,PIN_FUNCTION_ALT1);
	GPIO_Port_Dir_Set(PTE,PIN_INDEX_25,DIR_OUTPUT);
	//PTE.26(NC)
	//PTE.27(NC)
}

void GPIO_Abs_Port_Init(void)
{
	GPIO_Abs_PortA_config();
	GPIO_Abs_PortB_config();
	GPIO_Abs_PortC_config();
	GPIO_Abs_PortD_config();
	GPIO_Abs_PortE_config();
	/*For A0 SOS KEY Wakeup*/
	INT_WakeUp_Set(PORTC,PIN_INDEX_9,PORT_INT_FALLING_EDGE);
	INT_SYS_InstallHandler(PORTC_IRQn, &PORTC_IRQHandler, NULL);
	INT_SYS_EnableIRQ(PORTC_IRQn);
	INT_SYS_SetPriority(PORTC_IRQn,1);
	/*For Backup Battery IRQ*/
	INT_WakeUp_Set(PORTA,PIN_INDEX_14,PORT_INT_EITHER_EDGE);
	INT_SYS_InstallHandler(PORTA_IRQn, &PORTA_IRQHandler, NULL);
	INT_SYS_EnableIRQ(PORTA_IRQn);
	INT_SYS_SetPriority(PORTA_IRQn,1);
}

void Power_ColdSequenceOn_WithSoc(void)
{
	//PMIC RST LOW
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_0,PORT_LOW);
	//PIN143 	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN120 	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_HIGH);
	//PIN119 	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_HIGH);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_HIGH);
	//PIN30		PTE9:MCU_AG550_RESET
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_9,PORT_LOW);
	//PIN37		PTB20:MCU_AG550_ON
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_LOW);

	OS_sleep(10);

	//PIN2 		PTE15:PWR_SYS_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_15,PORT_HIGH);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_HIGH);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN23		PTE12:AG550 WAKE
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_12,PORT_HIGH);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_HIGH);

	OS_sleep(5);

	//PIN144	PTA8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_8,PORT_HIGH);

	OS_sleep(5);

	//PIN107	PTB11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_11,PORT_HIGH);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_HIGH);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_HIGH);\

	OS_sleep(20);

	//PIN37		PTB20:MCU_AG550_OFF
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_HIGH);

	OS_sleep(510);

	//PIN37		PTB20:MCU_AG550_ON
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_LOW);

	//PIN86   	PTC31:ECALL ENABLE
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_31,PORT_HIGH);
	//PIN100	PTD4:MBAT_DET_EN
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_4,PORT_HIGH);
	//PIN47		PTD12:PWR_VBOOST_EN
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_12,PORT_HIGH);
	//PIN81 	PTC8:CRASH_DET_EN
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_8,PORT_HIGH);
}
void Power_ColdSequenceOn_NoSoc(void)
{
	//PIN143 	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN2 		NULL
	//PIN120 	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_HIGH);
	//PIN119 	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_HIGH);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_HIGH);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_HIGH);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN144	PTB8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_8,PORT_HIGH);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_HIGH);
	//PIN30		PTE9:MCU_AG550_RESET
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_9,PORT_LOW);
	//PIN37		PTB20:MCU_AG550_ON
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_LOW);
	OS_sleep(30);
	//PIN37		PTB20:MCU_AG550_OFF
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_HIGH);
	OS_sleep(500);
	//PIN37		PTB20:MCU_AG550_ON
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_LOW);
	//PIN107	PTE11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_11,PORT_HIGH);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_HIGH);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_HIGH);
}
void Power_WarmSequenceOn_WithSoc(void)
{
	/*Need Check if in Backup Battery or not,if in Battery Mode,SOC keep off*/

	//PIN143 	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN120 	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_HIGH);
	//PIN119 	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_HIGH);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_HIGH);

	OS_sleep(10);

	//PIN2 		PTE15:PWR_SYS_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_15,PORT_HIGH);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_HIGH);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_HIGH);

	OS_sleep(5);

	//PIN23		PTE12:MCU_AG550_WAKE
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_12,PORT_HIGH);
	//PIN144	PTB8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_8,PORT_HIGH);

	OS_sleep(5);

	//PIN107	PTB11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_11,PORT_HIGH);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_HIGH);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_HIGH);
	//PIN86   	PTC31:ECALL ENABLE
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_31,PORT_HIGH);
	//PIN100	PTD4:MBAT_DET_EN
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_4,PORT_HIGH);
	//PIN47		PTD12:PWR_VBOOST_EN
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_12,PORT_HIGH);
	//PIN81 	PTC8:CRASH_DET_EN
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_8,PORT_HIGH);
}
void Power_WarmSequenceOn_NoSoc(void)
{
	//PIN143 	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN2 		NULL
	//PIN120 	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_HIGH);
	//PIN119 	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_HIGH);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_HIGH);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_HIGH);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN144	PTB8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_8,PORT_HIGH);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_HIGH);
	//PIN23		PTE12:MCU_AG550_WAKE
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_12,PORT_HIGH);
	//PIN107	PTE11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_11,PORT_HIGH);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_HIGH);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_HIGH);
}

void Power_SequenceOff_WithSoc(void)
{
	//PIN143	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN2		PTE15:PWR_SYS_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_15,PORT_LOW);
	//PIN120	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_LOW);
	//PIN119	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_LOW);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_14,PORT_LOW);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_LOW);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN144	PTA8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_8,PORT_LOW);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_LOW);
	//PIN37		MCU_AG550_ONOFF,KEEP
	//PIN30		MCU_AG550_RESET,KEEP
	//PIN107	PTB11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_11,PORT_LOW);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_LOW);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_LOW);
}
void Power_SequenceOff_NoSoc(void)
{
	//PIN143	PTA9:PWR_5V0_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_HIGH);
	//PIN120	PTA15:PWR_8V2_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_LOW);
	//PIN119	PTA16:PWR_6V8_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_LOW);
	//PIN41		PTB4:7702_5V0_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_14,PORT_LOW);
	//PIN38		PTB21:PWR_V2X_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_LOW);
	//PIN36		PTB18:PWR_3V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_HIGH);
	//PIN144	PTA8:PWR_3V3_EN
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_8,PORT_LOW);
	//PIN1		PTE16:PWR_1V8_EN
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_LOW);
	//PIN37		MCU_AG550_ONOFF,KEEP
	//PIN30		MCU_AG550_RESET,KEEP
	//PIN107	PTB11:AudioIO_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_11,PORT_LOW);
	//PIN108	PTB10:AudioANA_3V3_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_LOW);
	//PIN109	PTB9:AudioD_1V8_EN
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_LOW);
}

void Power_AllPortDeinit(void)
{
	//pin130 pta13 bbat_det_en
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_13,PORT_LOW);
	//pin120 pta15 pwr_8v2_en
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_15,PORT_LOW);
	//pin119 pta16 pwr_6v8_en backup charger en
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_16,PORT_LOW);
	//pin92  pta17 amp2_shutdown
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_17,PORT_LOW);
	//pin105 pta2   amp_i2c_sda
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_2,PORT_LOW);
	//pin19  pta26 soc spi cs
	//GPIO_Port_Lev_Set(PTA,PIN_INDEX_26,PORT_LOW);
	//pin22  pta27 soc spi sout
	//GPIO_Port_Lev_Set(PTA,PIN_INDEX_27,PORT_LOW);
	//pin24  pta28 soc spi sck
	//GPIO_Port_Lev_Set(PTA,PIN_INDEX_28,PORT_LOW);
	//pin104 pta3  amp i2c scl
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_3,PORT_LOW);
	//pin27  pta30 ag550 spi sout
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_30,PORT_LOW);
	//pin144 pta8  pwr_3v3_en
	GPIO_Port_Lev_Set(PTA,PIN_INDEX_8,PORT_LOW);
	//pin143 pta9  pwr_5v0_en
	//GPIO_Port_Lev_Set(PTA,PIN_INDEX_9,PORT_LOW);
	//pin77  ptb1  1145_can_tx
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_1,PORT_LOW);
	//pin108 ptb10 audio_3v3_en
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_10,PORT_LOW);
	//pin107 ptb11 audio_1v8_en
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_11,PORT_LOW);
	//pin97  ptb13 1043_can_tx
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_13,PORT_LOW);
	//pin96  ptb4  1043_can_standby
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_LOW);
	//pin93  ptb17 1043_can_en
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_17,PORT_LOW);
	//pin36  ptb18 pwr_3v8_en
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_18,PORT_LOW);
	//pin37  ptb20 550_onoff
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_20,PORT_LOW);
	//pin38  ptb21 pwr_v2x_en
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_21,PORT_LOW);
	//pin64  ptb27 can1 spi sout
	//GPIO_Port_Lev_Set(PTB,PIN_INDEX_27,PORT_LOW);
	//pin69  ptb29 can1 spi sck
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_29,PORT_LOW);
	//pin41  ptb4  7702_5v0_en
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_4,PORT_LOW);
	//pin109 ptb9  audio_1v8_en
	GPIO_Port_Lev_Set(PTB,PIN_INDEX_9,PORT_LOW);
	//pin72  ptc19 can1 spi cs1
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_19,PORT_LOW);
	//pin42  ptc3  debug uart tx
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_3,PORT_LOW);
	//pin86  ptc31 ecall_hside_en
	//GPIO_Port_Lev_Set(PTC,PIN_INDEX_31,PORT_LOW);
	//pin81  ptc8  crash_det_en
	GPIO_Port_Lev_Set(PTC,PIN_INDEX_8,PORT_LOW);
	//pin4   ptd0  mcu_pmic_rst
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_0,PORT_LOW);
	//pin47  ptd12 pwr_vboost_en
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_12,PORT_LOW);
	//pin89  ptd19 led_green_out
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_19,PORT_LOW);
	//pin102 ptd2  amp standby
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_2,PORT_LOW);
	//pin103 ptd23 amp mute
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_23,PORT_LOW);
	//pin100 ptd4  main battery en
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_4,PORT_LOW);
	//pin55  ptd8  debug_uart_en
	GPIO_Port_Lev_Set(PTD,PIN_INDEX_8,PORT_LOW);
	//pin138 pte0  backbattery i2c sda
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_0,PORT_LOW);
	//pin137 pte1  backbattery i2c scl
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_1,PORT_LOW);
	//pin6   pte10 mcu debug led2
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_10,PORT_LOW);
	//pin5   pte11 mcu debug led1
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_11,PORT_LOW);
	//pin23  pte12 mcu ag550 wake
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_12,PORT_LOW);
	//pin20  pte14 sos 550 port
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_14,PORT_LOW);
	//pin2   pte15 pwr_sys_en
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_15,PORT_LOW);
	//pin1   pte16 pwr_1v8_en
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_16,PORT_LOW);
	//pin122 pte2  mcu soc wake
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_2,PORT_LOW);
	//pin133 pte25 battery charge en
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_25,PORT_LOW);
	//pin9   pte4  mcu soc int
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_4,PORT_LOW);
	//pin87  pte7  led red out
	GPIO_Port_Lev_Set(PTE,PIN_INDEX_7,PORT_LOW);
	//pin30  pte9  mcu 550 reset
	//GPIO_Port_Lev_Set(PTE,PIN_INDEX_9,PORT_LOW);
}
