From: p15692025051 <846603105@qq.com> Date: Mon, 3 Jul 2023 03:47:23 +0000 (+0800) Subject: k7摄像头patch X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=a658bd98dc08a43fd84d924106f657f7ea5f5ba7;p=mirrors%2FASR3603_Z5.git k7摄像头patch --- diff --git a/2.sdk/gui/lv_drivers/display/st7789v2_spi.c b/2.sdk/gui/lv_drivers/display/st7789v2_spi.c index 78a76302..df7b6891 100644 --- a/2.sdk/gui/lv_drivers/display/st7789v2_spi.c +++ b/2.sdk/gui/lv_drivers/display/st7789v2_spi.c @@ -138,7 +138,7 @@ const static struct spi_timing lcd_st7789v2_spi_timing = { }; const static struct spi_info lcd_st7789v2_spi_info_watch = { - 4, + 3, 1, 1, SPI_FORMAT_RGB565, diff --git a/2.sdk/gui/lv_drivers/indev/bl6xx3_fw_update.h b/2.sdk/gui/lv_drivers/indev/bl6xx3_fw_update.h index 26e3ca17..e69c29ee 100644 --- a/2.sdk/gui/lv_drivers/indev/bl6xx3_fw_update.h +++ b/2.sdk/gui/lv_drivers/indev/bl6xx3_fw_update.h @@ -4,7 +4,7 @@ //gc9307 240*284 = 1 //st7789v2 240*320 = 2 //st7789v2 240*320 JL = 3 -#define H81_TP 2 +#define H81_TP 4 #if 1 //#include "bl6xx3_fw_a90_mw_gvs_update.h" //#include "bl6xx3_fw_h90_y05_update.h" @@ -14,7 +14,7 @@ #include "bl6xx3_fw_h81_st_update.h" #elif H81_TP == 3 #include "bl6xx3_fw_h81_st_JL_update.h" -#elif H81_TP == 4 +#elif H81_TP == 4 //st7789v3 240*284 #include "bl6xx3_fw_h81_st_K7_update.h" #endif #else diff --git a/2.sdk/product/craneg_modem/dsp/CRANEG/ALIOS/LTEGSM/rf.bin b/2.sdk/product/craneg_modem/dsp/CRANEG/ALIOS/LTEGSM/rf.bin index fa1d5b27..5c539274 100644 Binary files a/2.sdk/product/craneg_modem/dsp/CRANEG/ALIOS/LTEGSM/rf.bin and b/2.sdk/product/craneg_modem/dsp/CRANEG/ALIOS/LTEGSM/rf.bin differ diff --git a/2.sdk/product/craneg_modem/framework/cus/gpio_cus.c b/2.sdk/product/craneg_modem/framework/cus/gpio_cus.c index ead06031..7cbde33e 100644 --- a/2.sdk/product/craneg_modem/framework/cus/gpio_cus.c +++ b/2.sdk/product/craneg_modem/framework/cus/gpio_cus.c @@ -1,721 +1,731 @@ -#include "plat_config_defs.h" -#include "plat_types.h" -#include "intc_api.h" -#include "gpio_api.h" -#include "pmic_api.h" -#include "ui_log_api.h" -#include "event.h" -#include "ui_os_message.h" -#include "ui_os_api.h" -#include "mfpr_api.h" -#include "base_prv.h" -#include "device_cus.h" - -enum { - VIBRATOR_LEVEL0= 0, - VIBRATOR_LEVEL1= 1, - VIBRATOR_LEVEL2, - VIBRATOR_LEVEL3, - VIBRATOR_LEVEL4, - VIBRATOR_LEVEL5, -}; - -//wifi pin config -#define WIFI_SDIO_SLOT1 1 -#define WIFI_SDIO_SLOT2 2 -#define WIFI_PWR_EN 83 -#define WIFI_INT_HOST 34 -#define WIFI_PWR_RESET -1 -#define WIFI_HOST_WAKE_WIFI -1 -#define WIFI_32K_SELECT 1 - -#define Evb1601_Pm802ChargerEn_GPIO HAL_GPIO_82 -#define Evb1601_Pm802Backlight_GPIO HAL_GPIO_84 -#define Evb1601_Pm802ChargerSta_GPIO HAL_GPIO_83 - -#define pm812_Charger_enable 70 //gpio70 need config from evb -extern void ChargerStsPinmuxCfg(void); -extern void CameraFlashPinmuxcfg(void); -extern void PM812_PwmSetLevel(UINT8 level); -extern void set_sdcard_power_gpio(UINT8 num); -extern HANDLE get_dev_mon_task(void); -extern void backlight_set_brightness(uint8_t brightness); -extern int sdio_init(int sd_slot, int wifi_pwr_en, int wifi_int_host, int wifi_pwr_reset, - int host_wakeup_wifi, int sys_clk_32k); -extern UINT8 g_mciLcdBrightnessLevel; - -#ifdef CONFIG_LCD_DUAL_PANEL_SUPPORT -volatile unsigned int hallval = 0; -static OS_HISR hall_hisr_ref; -static u8 g_gpio_timerid = INVALID_TIMER_ID; -extern BOOL sub_lcd_flag; -void Os_Create_HISR(VOID** hisr, char* name, VOID (*hisr_entry)(VOID), unsigned char priority); -INT32 Os_Activate_HISR(VOID** hisr); -INT32 Os_Delete_HISR(VOID** hisr); -#endif - -#if defined(CONFIG_BOARD_CRANEG_A0) -extern void Craneg_pm803_camera_power_Pinmuxcfg(void); -extern void Craneg_pm803Pinmuxcfg(void); -#endif - -#if defined(CONFIG_BOARD_CUSTOM_B_V01) || defined(CONFIG_BOARD_CUSTOM_B_V02) -#define GPIO_LOCK HAL_GPIO_84 -#define GPIO_EXT_PA HAL_GPIO_85 -#define GPIO_EN_FM HAL_GPIO_64 -#endif -#if defined(CONFIG_BOARD_CUSTOM_X) -#define GPIO_EXT_PA HAL_GPIO_82 -#define GPIO_EN_FM HAL_GPIO_81 -#endif -#if defined(CONFIG_BOARD_CUSTOM_S) -#define GPIO_EXT_PA HAL_GPIO_33 -#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) -#if defined(CONFIG_BOARD_SIMWARE_W61_V2) -#define GPIO_EXT_PA HAL_GPIO_34 -#elif defined(CONFIG_BOARD_SIMWARE_W71) || defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) -#define GPIO_EXT_PA HAL_GPIO_28 -#else -#define GPIO_EXT_PA HAL_GPIO_75 -#endif -#else -#define GPIO_EXT_PA HAL_GPIO_QTY -#endif - -#if defined(CONFIG_BOARD_CUSTOM_V) -#define GPIO_EN_FM HAL_GPIO_82 -#endif - -#if defined(CONFIG_BOARD_CUSTOM_S) -#define ChargerEnable_GPIO HAL_GPIO_54 -#define ChargerSta_GPIO HAL_GPIO_53 -#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) -#if defined(CONFIG_BOARD_SIMWARE_W61_V2) -#define ChargerEnable_GPIO HAL_GPIO_3 -#define ChargerSta_GPIO HAL_GPIO_4 -#elif defined(CONFIG_BOARD_SIMWARE_W71) -#define ChargerEnable_GPIO HAL_GPIO_52 -#define ChargerSta_GPIO HAL_GPIO_51 -#elif defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) -#define ChargerEnable_GPIO HAL_GPIO_3 -#define ChargerSta_GPIO HAL_GPIO_2 -#else -#define ChargerEnable_GPIO HAL_GPIO_82 -#define ChargerSta_GPIO HAL_GPIO_85 -#endif -#else -#define ChargerEnable_GPIO HAL_GPIO_14 -#define ChargerSta_GPIO HAL_GPIO_13 -#endif - -#if defined(CONFIG_BOARD_CUSTOM_S) -#define SD_PW_GPIO 70 -#elif defined(CONFIG_BOARD_CRANE_1601_EVB) -#define SD_PW_GPIO 75 -#elif defined(CONFIG_BOARD_CRANEG_A0) -#define SD_PW_GPIO 70 -#else -#define SD_PW_GPIO 255 -#endif - -#if defined(CONFIG_BOARD_CUSTOM_S) -#define Vibrator_GPIO HAL_GPIO_86 -#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) -#if defined(CONFIG_BOARD_SIMWARE_W61_V2) -#define Vibrator_GPIO HAL_GPIO_6 -#elif defined(CONFIG_BOARD_SIMWARE_W71) || defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) -#define Vibrator_GPIO HAL_GPIO_124 -#else -#define Vibrator_GPIO HAL_GPIO_32 -#endif -#else -#define Vibrator_GPIO 128 -#endif - -#if defined(CONFIG_LCD_DUAL_PANEL_SUPPORT) -void HallSwitch(uint32 on_off) -{ - UI_EVENT ev; - ev.nEventId = EV_DM_IOCTL_IND; - ev.nParam1 = on_off; - ev.nParam2 = 1; - ev.nParam3 = 0; - //UOS_SendEvent(get_dev_mon_task(), &ev, UOS_WAIT_FOREVER, UOS_EVENT_PRI_NORMAL); - - if (on_off) - sub_lcd_flag = 0; - else - sub_lcd_flag = 1; - dm_SendSwitchLcdMessage(&ev); -} - -void Hall_Detect_Timer(void) -{ - unsigned int val; - - val = gpio_get_value(HAL_GPIO_75); - - if(val == hallval){ - raw_uart_log("hall status changed, now switch lcd.\n"); - HallSwitch(val); - } - - gpio_enable_edge_detection(HAL_GPIO_75, GPIO_TWO_EDGE); -} - -static void hallHisr(void) -{ - gpio_disable_edge_detection(HAL_GPIO_75, GPIO_TWO_EDGE); - hallval = gpio_get_value(HAL_GPIO_75); - UOS_StartFunctionTimer_single(g_gpio_timerid, MS_TO_TICKS(300), Hall_Detect_Timer, NULL, "hall detect timer"); -} - -void CLAM_EINT_HISR(void) -{ - OS_Activate_HISR(&hall_hisr_ref); - return; -} - -void Hall_Create_Timer(void) -{ - if(g_gpio_timerid == INVALID_TIMER_ID) - g_gpio_timerid = UOS_get_FunctionTimer(); - - return; -} - -void HALL_EINT_Registration(void) -{ - gpio_direction_input(HAL_GPIO_75); - gpio_irq_config(HAL_GPIO_75, GPIO_TWO_EDGE, CLAM_EINT_HISR); -} - -void HallEnInit(void) -{ - Hall_Create_Timer(); - HALL_EINT_Registration(); - OS_Create_HISR(&hall_hisr_ref, "HALL_HISR", hallHisr, 2); -} - -unsigned int GetMainLcdOn(void) -{ - gpio_direction_input(HAL_GPIO_75); - return gpio_get_value(HAL_GPIO_75); -} -#endif - -#if defined(CONFIG_LOCK_KEY_SUPPORT) -void Lock_irq_hand(void) -{ - raw_uart_log("lock_isr-lock_lisr!\r\n"); - if(gpio_get_value(GPIO_LOCK)) - { - //raw_uart_log("gpio_get_value=1!\r\n"); - } - else - { - //raw_uart_log("gpio_get_value=0!\r\n"); - } -} - -void LockInit(void) -{ - raw_uart_log("LockInit_###!\r\n"); - GpioSetDirection(GPIO_LOCK,GPIO_IN_PIN);//GPIO_IN_PIN-0 HAL_GPIO_14-14 - GpioBindInterruptCallback(GPIO_LOCK,Lock_irq_hand); - GpioEnableEdgeDetection(GPIO_LOCK, (GPIOTransitionType)GPIO_RISE_EDGE); - GpioEnableEdgeDetection(GPIO_LOCK, (GPIOTransitionType)GPIO_FALL_EDGE); - raw_uart_log("LockInit_Done!\r\n"); -} -#endif - -void SpeakerExtPaEnable(uint32 on) -{ - UI_EVENT ev; - ev.nEventId = EV_DM_IOCTL_IND; - ev.nParam1 = on; - ev.nParam2 = 0; - ev.nParam3 = 0; - UOS_SendEvent(get_dev_mon_task(), &ev, UOS_WAIT_FOREVER, UOS_EVENT_PRI_NORMAL); -} - -void SpeakerExtPaInit(void) -{ - gpio_direction_output(GPIO_EXT_PA); - gpio_set_value(GPIO_EXT_PA, 0); -} - -void EnableSpeakerPA(uint32 on) -{ - int i = 0; - volatile int j = 0; - - if(0 == on) { - gpio_set_value(GPIO_EXT_PA, 0); - //raw_uart_log("test ext pa gpio on: %d\r\n",on); - } else { - //raw_uart_log("test ext pa gpio on: %d\r\n",on); - for (i = 0; i < on; ++i) { - gpio_set_value(GPIO_EXT_PA, 0); - for (j = 0; j < 80; ++j); - gpio_set_value(GPIO_EXT_PA, 1); - for (j = 0; j < 80; ++j); - } - } -} - -void CameraFlashPowerOnOff(unsigned char on_off) -{ - if (Pmic_is_pm812()){ - CameraFlashPinmuxcfg(); - gpio_direction_output(HAL_GPIO_78); - if(0==on_off) - gpio_set_value(HAL_GPIO_78, 0); - else - gpio_set_value(HAL_GPIO_78, 1); - }else if(Pmic_is_pm803()){ -#if defined(CONFIG_BOARD_CRANEG_A0) - gpio_direction_output(HAL_GPIO_86); - if(0==on_off) - gpio_set_value(HAL_GPIO_86, 0); - else - gpio_set_value(HAL_GPIO_86, 1); -#endif - }else - PmicTorchLightCtrl(on_off); -} - -void TorchlightSwitch(unsigned char on_off) -{ - if(Pmic_is_pm803()){ -#if defined(CONFIG_BOARD_CRANEG_A0) - gpio_direction_output(HAL_GPIO_86); - if(on_off) - gpio_set_value(HAL_GPIO_86, 1); - else - gpio_set_value(HAL_GPIO_86, 0); -#endif - }else { - if(on_off) - PmicTorchLightCtrl(10); - else - PmicTorchLightCtrl(0); - } -} - -void TorchlightSwitchOn(void) -{ - if(Pmic_is_pm803()) - { -#if defined(CONFIG_BOARD_CRANEG_A0) - gpio_direction_output(HAL_GPIO_86); - gpio_set_value(HAL_GPIO_86, 1); -#endif - } - else - PmicTorchLightCtrl(10); -} - -void TorchlightSwitchOff(void) -{ - if(Pmic_is_pm803()) - { -#if defined(CONFIG_BOARD_CRANEG_A0) - gpio_direction_output(HAL_GPIO_86); - gpio_set_value(HAL_GPIO_86, 0); -#endif - } - else - PmicTorchLightCtrl(0); -} - -void LcdBacklightSwitchOn(void) -{ - backlight_set_brightness(g_mciLcdBrightnessLevel); - raw_uart_log("LcdBacklightSwitchOn_###:%d!\r\n",g_mciLcdBrightnessLevel); - //PmicLcdBackLightEnable(); -} - -void LcdBacklightSwitchOff(void) -{ - backlight_set_brightness(0); - raw_uart_log("LcdBacklightSwitchOff_###!\r\n"); - //PmicLcdBackLightDisable(); -} - -void CameraPwdn0OnOff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_69); - if(1==on_off) - gpio_set_value(HAL_GPIO_69, 1); - else - gpio_set_value(HAL_GPIO_69, 0); -} - -void CameraPwdn1OnOff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_61); - if(1==on_off) - gpio_set_value(HAL_GPIO_61, 1); - else - gpio_set_value(HAL_GPIO_61, 0); -} - -void CameraPwdn2OnOff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_66); - if(1==on_off) - gpio_set_value(HAL_GPIO_66, 1); - else - gpio_set_value(HAL_GPIO_66, 0); -} - - -void CameraRstOnOff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_70); - if(1==on_off) - gpio_set_value(HAL_GPIO_70, 1); - else - gpio_set_value(HAL_GPIO_70, 0); -} - -void BtLdoEnonoff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_16); - if(1==on_off) - gpio_set_value(HAL_GPIO_16, 1); - else - gpio_set_value(HAL_GPIO_16, 0); -} - -void KeypadLedonoff(unsigned int on_off) -{ - if (Pmic_is_pm812()){ - gpio_direction_output(HAL_GPIO_1); - if(1==on_off) - gpio_set_value(HAL_GPIO_1, 1); - else - gpio_set_value(HAL_GPIO_1, 0); - } - else if(Pmic_is_pm803()){ -#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) - gpio_direction_output(HAL_GPIO_81); - if(1==on_off) - { - gpio_set_value(HAL_GPIO_81, 1); - } - else - { - gpio_set_value(HAL_GPIO_81, 0); - } -#endif - } - else{ - if(1==on_off) - PmickeypadbacklightEnable(); - else - PmickeypadbacklightDisable(); - } -} - -void KeypadBlackLightSwitchOn(void) -{ - //PmickeypadbacklightEnable(); - KeypadLedonoff(1); -} - -void KeypadBlackLightSwitchOff(void) -{ - //PmickeypadbacklightDisable(); - KeypadLedonoff(0); -} - -void ChargerEnonoff(unsigned int on_off) -{ - gpio_direction_output(HAL_GPIO_70); - if(1==on_off) - gpio_set_value(HAL_GPIO_70, 1); - else - gpio_set_value(HAL_GPIO_70, 0); -} - -void VibratorSetLevel(unsigned int level) -{ -#if defined(CONFIG_BOARD_CUSTOM_S) - if(Pmic_is_pm803()) - { - gpio_direction_output(HAL_GPIO_86); - if(level) - gpio_set_value(HAL_GPIO_86, 1); - else - gpio_set_value(HAL_GPIO_86, 0); - } - else - PmicVibrateSetLevel(level); -#else - //to be updated by cp released. - if(Pmic_is_pm812()) - PM812_PwmSetLevel(level); - else{ - PmicVibrateSetLevel(level); - } -#endif -} - -void VibratorSwitchOn(void) -{ - raw_uart_log("VibratorSwitchOn.\n"); - if(Pmic_is_pm803()) - { -#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) - gpio_direction_output(Vibrator_GPIO); - gpio_set_value(Vibrator_GPIO, 1); -#endif - } - else - PmicVibrateSetLevel(VIBRATOR_LEVEL3); -} - -void VibratorSwitchOff(void) -{ - raw_uart_log("VibratorSwitchOff.\n"); - if(Pmic_is_pm803()) - { -#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) - gpio_direction_output(Vibrator_GPIO); - gpio_set_value(Vibrator_GPIO, 0); -#endif - } - else - PmicVibrateSetLevel(VIBRATOR_LEVEL0); -} - -void Evb1601_Pm802ChargerEnonoff(unsigned int on_off) -{ - gpio_direction_output(Evb1601_Pm802ChargerEn_GPIO); - if(1==on_off) - gpio_set_value(Evb1601_Pm802ChargerEn_GPIO, 1); - else - gpio_set_value(Evb1601_Pm802ChargerEn_GPIO, 0); -} - -void Evb1601_Pm802Backlightonoff(unsigned int on_off) -{ - gpio_direction_output(Evb1601_Pm802Backlight_GPIO); - if(1==on_off) - gpio_set_value(Evb1601_Pm802Backlight_GPIO, 1); - else - gpio_set_value(Evb1601_Pm802Backlight_GPIO, 0); -} - -U32 Evb1601_Pm802GetChargerStatus(void) -{ - U32 status; - gpio_direction_input(Evb1601_Pm802ChargerSta_GPIO); - status = gpio_get_value(Evb1601_Pm802ChargerSta_GPIO); - return status; -} - -static U32 GChargerEnableGpioStatus = 0; -void ChargerEnableGpioonoff(unsigned int on_off) -{ - gpio_direction_output(ChargerEnable_GPIO); - if(0==on_off) - gpio_set_value(ChargerEnable_GPIO, 1); - else - gpio_set_value(ChargerEnable_GPIO, 0); - GChargerEnableGpioStatus = on_off; -} - -U32 GetChargerEnableGpioStatus(void) -{ - //raw_uart_log("GetChargerEnableGpioStatus %d\n",GChargerEnableGpioStatus); - return GChargerEnableGpioStatus; -} - -U32 GetGpioChargerStatus(void) -{ - U32 status; - gpio_direction_input(ChargerSta_GPIO); - status = gpio_get_value(ChargerSta_GPIO); - return status; -} - -U32 GetChargeStatus(void) -{ - U32 status; - if(Pmic_is_pm813()){ - status = Pmic_if_charge_full(); - }else if(Pmic_is_pm813s()){ - return (pmic_get_charger_fsm() == FSM_TERM); - }else if(Pmic_is_pm802()){ -//#if defined(CONFIG_BOARD_CRANEM_EVB) - if(cus_is_board_cranem_evb()) - { - status = GetGpioChargerStatus();//Pm803_Eta4256GetChargerStatus(); - } - //#else - else - { - status = Evb1601_Pm802GetChargerStatus(); - } -//#endif - }else if(Pmic_is_pm803()){ - status = GetGpioChargerStatus();//Pm803_Eta4256GetChargerStatus(); - } - else{ - ChargerStsPinmuxCfg(); - gpio_direction_input(HAL_GPIO_57); - status = gpio_get_value(HAL_GPIO_57); - } - return status; -} - -void ForceChargerFinished(BOOL stop) -{ - if(Pmic_is_pm802()){ - //need add gpio -//#if defined(CONFIG_BOARD_CRANEM_EVB) - if(cus_is_board_cranem_evb()) - { - if(stop) - ChargerEnableGpioonoff(0); - else - ChargerEnableGpioonoff(1); - } - //#else - else - { - if(stop) - Evb1601_Pm802ChargerEnonoff(0); - else - Evb1601_Pm802ChargerEnonoff(1); - } -//#endif - }else if(Pmic_is_pm803()){ - if(stop) - ChargerEnableGpioonoff(0); - else - ChargerEnableGpioonoff(1); - }else if(Pmic_is_pm812()){ - gpio_direction_output(pm812_Charger_enable); - if(stop) - gpio_set_value(pm812_Charger_enable,1); - else - gpio_set_value(pm812_Charger_enable,0); - }else { - Pmic_ChargerFinished(stop); - } -} - -BOOL get_lcdbacklight_status(void) -{ - if(Pmic_is_pm803()) - return get_BackLightStatus(); - else - return get_pmic_lcdbacklight_status(); -} - -BOOL get_keypadbacklight_status(void) -{ - if(Pmic_is_pm803()) - return gpio_get_value(HAL_GPIO_81); - else - return get_pmic_keypadbacklight_status(); -} -BOOL get_vibrator_status(void) -{ - if(Pmic_is_pm803()) - return gpio_get_value(Vibrator_GPIO); - else - return get_pmic_vibrator_status(); -} -BOOL get_torchlight_status(void) -{ - if(Pmic_is_pm803()) - return gpio_get_value(HAL_GPIO_86); - else - return get_pmic_torchlight_status(); -} - -#if defined(CONFIG_FM_WITH_EXTERNAL_ANT) -void EnFmAntenanInit(void) -{ - gpio_direction_output(GPIO_EN_FM); - gpio_set_value(GPIO_EN_FM,0); -} - -void EnFmAntenan(unsigned int value) -{ - gpio_direction_output(GPIO_EN_FM); - if(value) - { - gpio_set_value(GPIO_EN_FM,1); - } - else - { - gpio_set_value(GPIO_EN_FM,0); - } -} -#endif - -#ifdef CONFIG_WIFI_SUPPORT -void WifiInit(void) -{ - sdio_init(WIFI_SDIO_SLOT2, WIFI_PWR_EN, WIFI_INT_HOST, - WIFI_PWR_RESET, WIFI_HOST_WAKE_WIFI, WIFI_32K_SELECT); -} -#endif -void GpioCusConfig(void) -{ -#if defined(CONFIG_EXT_PA_SUPPORT) - SpeakerExtPaInit(); - AudioHAL_AifBindSpeakerPA_CB(SpeakerExtPaEnable); -#endif - -#if defined(CONFIG_FM_WITH_EXTERNAL_ANT) - EnFmAntenanInit(); -#endif - -#ifdef CONFIG_LOCK_KEY_SUPPORT - LockInit(); -#endif -#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANE_1601_EVB) || defined(CONFIG_BOARD_CRANEG_A0) - if(Pmic_is_pm802() || Pmic_is_pm803()) - { - set_sdcard_power_gpio(SD_PW_GPIO); - } -#endif -#if defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) - if(Pmic_is_pm803()) - { - Craneg_pm803Pinmuxcfg(); - SpeakerExtPaInit(); - AudioHAL_AifBindSpeakerPA_CB(SpeakerExtPaEnable); - } -#endif - return; -} - -#if defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) -void CameraIOVddOnOff(unsigned int on_off) -{ - Craneg_pm803_camera_power_Pinmuxcfg(); - gpio_direction_output(HAL_GPIO_54); - if(1==on_off) - gpio_set_value(HAL_GPIO_54, 1); - else - gpio_set_value(HAL_GPIO_54, 0); -} - -void CameraAVddOnOff(unsigned int on_off) -{ - Craneg_pm803_camera_power_Pinmuxcfg(); - gpio_direction_output(HAL_GPIO_36); - if(1==on_off) - gpio_set_value(HAL_GPIO_36, 1); - else - gpio_set_value(HAL_GPIO_36, 0); -} -#endif +#include "plat_config_defs.h" +#include "plat_types.h" +#include "intc_api.h" +#include "gpio_api.h" +#include "pmic_api.h" + +#include "ui_log_api.h" + +#include "event.h" +#include "ui_os_message.h" +#include "ui_os_api.h" +#include "mfpr_api.h" +#include "base_prv.h" +#include "device_cus.h" + +enum { + VIBRATOR_LEVEL0= 0, + VIBRATOR_LEVEL1= 1, + VIBRATOR_LEVEL2, + VIBRATOR_LEVEL3, + VIBRATOR_LEVEL4, + VIBRATOR_LEVEL5, +}; + +//wifi pin config +#define WIFI_SDIO_SLOT1 1 +#define WIFI_SDIO_SLOT2 2 +#define WIFI_PWR_EN 83 +#define WIFI_INT_HOST 34 +#define WIFI_PWR_RESET -1 +#define WIFI_HOST_WAKE_WIFI -1 +#define WIFI_32K_SELECT 1 + +#define Evb1601_Pm802ChargerEn_GPIO HAL_GPIO_82 +#define Evb1601_Pm802Backlight_GPIO HAL_GPIO_84 +#define Evb1601_Pm802ChargerSta_GPIO HAL_GPIO_83 + +#define pm812_Charger_enable 70 //gpio70 need config from evb +extern void ChargerStsPinmuxCfg(void); +extern void CameraFlashPinmuxcfg(void); +extern void PM812_PwmSetLevel(UINT8 level); +extern void set_sdcard_power_gpio(UINT8 num); +extern HANDLE get_dev_mon_task(void); +extern void backlight_set_brightness(uint8_t brightness); +extern int sdio_init(int sd_slot, int wifi_pwr_en, int wifi_int_host, int wifi_pwr_reset, + int host_wakeup_wifi, int sys_clk_32k); +extern UINT8 g_mciLcdBrightnessLevel; + +#ifdef CONFIG_LCD_DUAL_PANEL_SUPPORT +volatile unsigned int hallval = 0; +static OS_HISR hall_hisr_ref; +static u8 g_gpio_timerid = INVALID_TIMER_ID; +extern BOOL sub_lcd_flag; +void Os_Create_HISR(VOID** hisr, char* name, VOID (*hisr_entry)(VOID), unsigned char priority); +INT32 Os_Activate_HISR(VOID** hisr); +INT32 Os_Delete_HISR(VOID** hisr); +#endif + +#if defined(CONFIG_BOARD_CRANEG_A0) +extern void Craneg_pm803_camera_power_Pinmuxcfg(void); +extern void Craneg_pm803Pinmuxcfg(void); +#endif + +#if defined(CONFIG_BOARD_CUSTOM_B_V01) || defined(CONFIG_BOARD_CUSTOM_B_V02) +#define GPIO_LOCK HAL_GPIO_84 +#define GPIO_EXT_PA HAL_GPIO_85 +#define GPIO_EN_FM HAL_GPIO_64 +#endif +#if defined(CONFIG_BOARD_CUSTOM_X) +#define GPIO_EXT_PA HAL_GPIO_82 +#define GPIO_EN_FM HAL_GPIO_81 +#endif +#if defined(CONFIG_BOARD_CUSTOM_S) +#define GPIO_EXT_PA HAL_GPIO_33 +#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) +#if defined(CONFIG_BOARD_SIMWARE_W61_V2) +#define GPIO_EXT_PA HAL_GPIO_34 +#elif defined(CONFIG_BOARD_SIMWARE_W71) || defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) +#define GPIO_EXT_PA HAL_GPIO_28 +#else +#define GPIO_EXT_PA HAL_GPIO_75 +#endif +#else +#define GPIO_EXT_PA HAL_GPIO_QTY +#endif + +#if defined(CONFIG_BOARD_CUSTOM_V) +#define GPIO_EN_FM HAL_GPIO_82 +#endif + +#if defined(CONFIG_BOARD_CUSTOM_S) +#define ChargerEnable_GPIO HAL_GPIO_54 +#define ChargerSta_GPIO HAL_GPIO_53 +#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) +#if defined(CONFIG_BOARD_SIMWARE_W61_V2) +#define ChargerEnable_GPIO HAL_GPIO_3 +#define ChargerSta_GPIO HAL_GPIO_4 +#elif defined(CONFIG_BOARD_SIMWARE_W71) +#define ChargerEnable_GPIO HAL_GPIO_52 +#define ChargerSta_GPIO HAL_GPIO_51 +#elif defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) +#define ChargerEnable_GPIO HAL_GPIO_3 +#define ChargerSta_GPIO HAL_GPIO_2 +#else +#define ChargerEnable_GPIO HAL_GPIO_82 +#define ChargerSta_GPIO HAL_GPIO_85 +#endif +#else +#define ChargerEnable_GPIO HAL_GPIO_14 +#define ChargerSta_GPIO HAL_GPIO_13 +#endif + +#if defined(CONFIG_BOARD_CUSTOM_S) +#define SD_PW_GPIO 70 +#elif defined(CONFIG_BOARD_CRANE_1601_EVB) +#define SD_PW_GPIO 75 +#elif defined(CONFIG_BOARD_CRANEG_A0) +#define SD_PW_GPIO 70 +#else +#define SD_PW_GPIO 255 +#endif + +#if defined(CONFIG_BOARD_CUSTOM_S) +#define Vibrator_GPIO HAL_GPIO_86 +#elif defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) +#if defined(CONFIG_BOARD_SIMWARE_W61_V2) +#define Vibrator_GPIO HAL_GPIO_6 +#elif defined(CONFIG_BOARD_SIMWARE_W71) || defined(CONFIG_BOARD_SIMWARE_A90) || defined(CONFIG_BOARD_SIMWARE_A90SH) || defined(CONFIG_BOARD_SIMWARE_H81) +#define Vibrator_GPIO HAL_GPIO_124 +#else +#define Vibrator_GPIO HAL_GPIO_32 +#endif +#else +#define Vibrator_GPIO 128 +#endif + +#if defined(CONFIG_LCD_DUAL_PANEL_SUPPORT) +void HallSwitch(uint32 on_off) +{ + UI_EVENT ev; + ev.nEventId = EV_DM_IOCTL_IND; + ev.nParam1 = on_off; + ev.nParam2 = 1; + ev.nParam3 = 0; + //UOS_SendEvent(get_dev_mon_task(), &ev, UOS_WAIT_FOREVER, UOS_EVENT_PRI_NORMAL); + + if (on_off) + sub_lcd_flag = 0; + else + sub_lcd_flag = 1; + dm_SendSwitchLcdMessage(&ev); +} + +void Hall_Detect_Timer(void) +{ + unsigned int val; + + val = gpio_get_value(HAL_GPIO_75); + + if(val == hallval){ + raw_uart_log("hall status changed, now switch lcd.\n"); + HallSwitch(val); + } + + gpio_enable_edge_detection(HAL_GPIO_75, GPIO_TWO_EDGE); +} + +static void hallHisr(void) +{ + gpio_disable_edge_detection(HAL_GPIO_75, GPIO_TWO_EDGE); + hallval = gpio_get_value(HAL_GPIO_75); + UOS_StartFunctionTimer_single(g_gpio_timerid, MS_TO_TICKS(300), Hall_Detect_Timer, NULL, "hall detect timer"); +} + +void CLAM_EINT_HISR(void) +{ + OS_Activate_HISR(&hall_hisr_ref); + return; +} + +void Hall_Create_Timer(void) +{ + if(g_gpio_timerid == INVALID_TIMER_ID) + g_gpio_timerid = UOS_get_FunctionTimer(); + + return; +} + +void HALL_EINT_Registration(void) +{ + gpio_direction_input(HAL_GPIO_75); + gpio_irq_config(HAL_GPIO_75, GPIO_TWO_EDGE, CLAM_EINT_HISR); +} + +void HallEnInit(void) +{ + Hall_Create_Timer(); + HALL_EINT_Registration(); + OS_Create_HISR(&hall_hisr_ref, "HALL_HISR", hallHisr, 2); +} + +unsigned int GetMainLcdOn(void) +{ + gpio_direction_input(HAL_GPIO_75); + return gpio_get_value(HAL_GPIO_75); +} +#endif + +#if defined(CONFIG_LOCK_KEY_SUPPORT) +void Lock_irq_hand(void) +{ + raw_uart_log("lock_isr-lock_lisr!\r\n"); + if(gpio_get_value(GPIO_LOCK)) + { + //raw_uart_log("gpio_get_value=1!\r\n"); + } + else + { + //raw_uart_log("gpio_get_value=0!\r\n"); + } +} + +void LockInit(void) +{ + raw_uart_log("LockInit_###!\r\n"); + GpioSetDirection(GPIO_LOCK,GPIO_IN_PIN);//GPIO_IN_PIN-0 HAL_GPIO_14-14 + GpioBindInterruptCallback(GPIO_LOCK,Lock_irq_hand); + GpioEnableEdgeDetection(GPIO_LOCK, (GPIOTransitionType)GPIO_RISE_EDGE); + GpioEnableEdgeDetection(GPIO_LOCK, (GPIOTransitionType)GPIO_FALL_EDGE); + raw_uart_log("LockInit_Done!\r\n"); +} +#endif + +void SpeakerExtPaEnable(uint32 on) +{ + UI_EVENT ev; + ev.nEventId = EV_DM_IOCTL_IND; + ev.nParam1 = on; + ev.nParam2 = 0; + ev.nParam3 = 0; + UOS_SendEvent(get_dev_mon_task(), &ev, UOS_WAIT_FOREVER, UOS_EVENT_PRI_NORMAL); +} + +void SpeakerExtPaInit(void) +{ + gpio_direction_output(GPIO_EXT_PA); + gpio_set_value(GPIO_EXT_PA, 0); +} + +void EnableSpeakerPA(uint32 on) +{ + int i = 0; + volatile int j = 0; + + if(0 == on) { + gpio_set_value(GPIO_EXT_PA, 0); + //raw_uart_log("test ext pa gpio on: %d\r\n",on); + } else { + //raw_uart_log("test ext pa gpio on: %d\r\n",on); + for (i = 0; i < on; ++i) { + gpio_set_value(GPIO_EXT_PA, 0); + for (j = 0; j < 80; ++j); + gpio_set_value(GPIO_EXT_PA, 1); + for (j = 0; j < 80; ++j); + } + } +} + +void CameraFlashPowerOnOff(unsigned char on_off) +{ + if (Pmic_is_pm812()){ + CameraFlashPinmuxcfg(); + gpio_direction_output(HAL_GPIO_78); + if(0==on_off) + gpio_set_value(HAL_GPIO_78, 0); + else + gpio_set_value(HAL_GPIO_78, 1); + }else if(Pmic_is_pm803()){ +#if defined(CONFIG_BOARD_CRANEG_A0) + gpio_direction_output(HAL_GPIO_86); + if(0==on_off) + gpio_set_value(HAL_GPIO_86, 0); + else + gpio_set_value(HAL_GPIO_86, 1); +#endif + }else + PmicTorchLightCtrl(on_off); +} + +void TorchlightSwitch(unsigned char on_off) +{ + if(Pmic_is_pm803()){ +#if defined(CONFIG_BOARD_CRANEG_A0) + gpio_direction_output(HAL_GPIO_86); + if(on_off) + gpio_set_value(HAL_GPIO_86, 1); + else + gpio_set_value(HAL_GPIO_86, 0); +#endif + }else { + if(on_off) + PmicTorchLightCtrl(10); + else + PmicTorchLightCtrl(0); + } +} + +void TorchlightSwitchOn(void) +{ + if(Pmic_is_pm803()) + { +#if defined(CONFIG_BOARD_CRANEG_A0) + gpio_direction_output(HAL_GPIO_86); + gpio_set_value(HAL_GPIO_86, 1); +#endif + } + else + PmicTorchLightCtrl(10); +} + +void TorchlightSwitchOff(void) +{ + if(Pmic_is_pm803()) + { +#if defined(CONFIG_BOARD_CRANEG_A0) + gpio_direction_output(HAL_GPIO_86); + gpio_set_value(HAL_GPIO_86, 0); +#endif + } + else + PmicTorchLightCtrl(0); +} + +void LcdBacklightSwitchOn(void) +{ + backlight_set_brightness(g_mciLcdBrightnessLevel); + raw_uart_log("LcdBacklightSwitchOn_###:%d!\r\n",g_mciLcdBrightnessLevel); + //PmicLcdBackLightEnable(); +} + +void LcdBacklightSwitchOff(void) +{ + backlight_set_brightness(0); + raw_uart_log("LcdBacklightSwitchOff_###!\r\n"); + //PmicLcdBackLightDisable(); +} + +void CameraPwdn0OnOff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_69); + if(1==on_off) + gpio_set_value(HAL_GPIO_69, 1); + else + gpio_set_value(HAL_GPIO_69, 0); +} + +void CameraPwdn1OnOff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_61); + if(1==on_off) + gpio_set_value(HAL_GPIO_61, 1); + else + gpio_set_value(HAL_GPIO_61, 0); +} + +void CameraPwdn2OnOff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_66); + if(1==on_off) + gpio_set_value(HAL_GPIO_66, 1); + else + gpio_set_value(HAL_GPIO_66, 0); +} + + +void CameraRstOnOff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_70); + if(1==on_off) + gpio_set_value(HAL_GPIO_70, 1); + else + gpio_set_value(HAL_GPIO_70, 0); +} + +void BtLdoEnonoff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_16); + if(1==on_off) + gpio_set_value(HAL_GPIO_16, 1); + else + gpio_set_value(HAL_GPIO_16, 0); +} + +void KeypadLedonoff(unsigned int on_off) +{ + if (Pmic_is_pm812()){ + gpio_direction_output(HAL_GPIO_1); + if(1==on_off) + gpio_set_value(HAL_GPIO_1, 1); + else + gpio_set_value(HAL_GPIO_1, 0); + } + else if(Pmic_is_pm803()){ +#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) + gpio_direction_output(HAL_GPIO_81); + if(1==on_off) + { + gpio_set_value(HAL_GPIO_81, 1); + } + else + { + gpio_set_value(HAL_GPIO_81, 0); + } +#endif + } + else{ + if(1==on_off) + PmickeypadbacklightEnable(); + else + PmickeypadbacklightDisable(); + } +} + +void KeypadBlackLightSwitchOn(void) +{ + //PmickeypadbacklightEnable(); + KeypadLedonoff(1); +} + +void KeypadBlackLightSwitchOff(void) +{ + //PmickeypadbacklightDisable(); + KeypadLedonoff(0); +} + +void ChargerEnonoff(unsigned int on_off) +{ + gpio_direction_output(HAL_GPIO_70); + if(1==on_off) + gpio_set_value(HAL_GPIO_70, 1); + else + gpio_set_value(HAL_GPIO_70, 0); +} + +void VibratorSetLevel(unsigned int level) +{ +#if defined(CONFIG_BOARD_CUSTOM_S) + if(Pmic_is_pm803()) + { + gpio_direction_output(HAL_GPIO_86); + if(level) + gpio_set_value(HAL_GPIO_86, 1); + else + gpio_set_value(HAL_GPIO_86, 0); + } + else + PmicVibrateSetLevel(level); +#else + //to be updated by cp released. + if(Pmic_is_pm812()) + PM812_PwmSetLevel(level); + else{ + PmicVibrateSetLevel(level); + } +#endif +} + +void VibratorSwitchOn(void) +{ + raw_uart_log("VibratorSwitchOn.\n"); + if(Pmic_is_pm803()) + { +#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) + gpio_direction_output(Vibrator_GPIO); + gpio_set_value(Vibrator_GPIO, 1); +#endif + } + else + PmicVibrateSetLevel(VIBRATOR_LEVEL3); +} + +void VibratorSwitchOff(void) +{ + raw_uart_log("VibratorSwitchOff.\n"); + if(Pmic_is_pm803()) + { +#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) + gpio_direction_output(Vibrator_GPIO); + gpio_set_value(Vibrator_GPIO, 0); +#endif + } + else + PmicVibrateSetLevel(VIBRATOR_LEVEL0); +} + +void Evb1601_Pm802ChargerEnonoff(unsigned int on_off) +{ + gpio_direction_output(Evb1601_Pm802ChargerEn_GPIO); + if(1==on_off) + gpio_set_value(Evb1601_Pm802ChargerEn_GPIO, 1); + else + gpio_set_value(Evb1601_Pm802ChargerEn_GPIO, 0); +} + +void Evb1601_Pm802Backlightonoff(unsigned int on_off) +{ + gpio_direction_output(Evb1601_Pm802Backlight_GPIO); + if(1==on_off) + gpio_set_value(Evb1601_Pm802Backlight_GPIO, 1); + else + gpio_set_value(Evb1601_Pm802Backlight_GPIO, 0); +} + +U32 Evb1601_Pm802GetChargerStatus(void) +{ + U32 status; + gpio_direction_input(Evb1601_Pm802ChargerSta_GPIO); + status = gpio_get_value(Evb1601_Pm802ChargerSta_GPIO); + return status; +} + +static U32 GChargerEnableGpioStatus = 0; +void ChargerEnableGpioonoff(unsigned int on_off) +{ + gpio_direction_output(ChargerEnable_GPIO); + if(0==on_off) + gpio_set_value(ChargerEnable_GPIO, 1); + else + gpio_set_value(ChargerEnable_GPIO, 0); + GChargerEnableGpioStatus = on_off; +} + +U32 GetChargerEnableGpioStatus(void) +{ + //raw_uart_log("GetChargerEnableGpioStatus %d\n",GChargerEnableGpioStatus); + return GChargerEnableGpioStatus; +} + +U32 GetGpioChargerStatus(void) +{ + U32 status; + gpio_direction_input(ChargerSta_GPIO); + status = gpio_get_value(ChargerSta_GPIO); + return status; +} + +U32 GetChargeStatus(void) +{ + U32 status; + if(Pmic_is_pm813()){ + status = Pmic_if_charge_full(); + }else if(Pmic_is_pm813s()){ + return (pmic_get_charger_fsm() == FSM_TERM); + }else if(Pmic_is_pm802()){ +//#if defined(CONFIG_BOARD_CRANEM_EVB) + if(cus_is_board_cranem_evb()) + { + status = GetGpioChargerStatus();//Pm803_Eta4256GetChargerStatus(); + } + //#else + else + { + status = Evb1601_Pm802GetChargerStatus(); + } +//#endif + }else if(Pmic_is_pm803()){ + status = GetGpioChargerStatus();//Pm803_Eta4256GetChargerStatus(); + } + else{ + ChargerStsPinmuxCfg(); + gpio_direction_input(HAL_GPIO_57); + status = gpio_get_value(HAL_GPIO_57); + } + return status; +} + +void ForceChargerFinished(BOOL stop) +{ + if(Pmic_is_pm802()){ + //need add gpio +//#if defined(CONFIG_BOARD_CRANEM_EVB) + if(cus_is_board_cranem_evb()) + { + if(stop) + ChargerEnableGpioonoff(0); + else + ChargerEnableGpioonoff(1); + } + //#else + else + { + if(stop) + Evb1601_Pm802ChargerEnonoff(0); + else + Evb1601_Pm802ChargerEnonoff(1); + } +//#endif + }else if(Pmic_is_pm803()){ + if(stop) + ChargerEnableGpioonoff(0); + else + ChargerEnableGpioonoff(1); + }else if(Pmic_is_pm812()){ + gpio_direction_output(pm812_Charger_enable); + if(stop) + gpio_set_value(pm812_Charger_enable,1); + else + gpio_set_value(pm812_Charger_enable,0); + }else { + Pmic_ChargerFinished(stop); + } +} + +BOOL get_lcdbacklight_status(void) +{ + if(Pmic_is_pm803()) + return get_BackLightStatus(); + else + return get_pmic_lcdbacklight_status(); +} + +BOOL get_keypadbacklight_status(void) +{ + if(Pmic_is_pm803()) + return gpio_get_value(HAL_GPIO_81); + else + return get_pmic_keypadbacklight_status(); +} +BOOL get_vibrator_status(void) +{ + if(Pmic_is_pm803()) + return gpio_get_value(Vibrator_GPIO); + else + return get_pmic_vibrator_status(); +} +BOOL get_torchlight_status(void) +{ + if(Pmic_is_pm803()) + return gpio_get_value(HAL_GPIO_86); + else + return get_pmic_torchlight_status(); +} + +#if defined(CONFIG_FM_WITH_EXTERNAL_ANT) +void EnFmAntenanInit(void) +{ + gpio_direction_output(GPIO_EN_FM); + gpio_set_value(GPIO_EN_FM,0); +} + +void EnFmAntenan(unsigned int value) +{ + gpio_direction_output(GPIO_EN_FM); + if(value) + { + gpio_set_value(GPIO_EN_FM,1); + } + else + { + gpio_set_value(GPIO_EN_FM,0); + } +} +#endif + +#ifdef CONFIG_WIFI_SUPPORT +void WifiInit(void) +{ + sdio_init(WIFI_SDIO_SLOT2, WIFI_PWR_EN, WIFI_INT_HOST, + WIFI_PWR_RESET, WIFI_HOST_WAKE_WIFI, WIFI_32K_SELECT); +} +#endif +void GpioCusConfig(void) +{ +#if defined(CONFIG_EXT_PA_SUPPORT) + SpeakerExtPaInit(); + AudioHAL_AifBindSpeakerPA_CB(SpeakerExtPaEnable); +#endif + +#if defined(CONFIG_FM_WITH_EXTERNAL_ANT) + EnFmAntenanInit(); +#endif + +#ifdef CONFIG_LOCK_KEY_SUPPORT + LockInit(); +#endif +#if defined(CONFIG_BOARD_CUSTOM_S) || defined(CONFIG_BOARD_CRANE_1601_EVB) || defined(CONFIG_BOARD_CRANEG_A0) + if(Pmic_is_pm802() || Pmic_is_pm803()) + { + set_sdcard_power_gpio(SD_PW_GPIO); + } +#endif +#if defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) + if(Pmic_is_pm803()) + { + Craneg_pm803Pinmuxcfg(); + SpeakerExtPaInit(); + AudioHAL_AifBindSpeakerPA_CB(SpeakerExtPaEnable); + } +#endif + return; +} + +#if defined(CONFIG_BOARD_CRANEG_A0) || defined(CONFIG_BOARD_CRANE_EVB_Z2) +void CameraIOVddOnOff(unsigned int on_off) +{ + Craneg_pm803_camera_power_Pinmuxcfg(); + gpio_direction_output(HAL_GPIO_54); + if(1==on_off) + gpio_set_value(HAL_GPIO_54, 1); + else + gpio_set_value(HAL_GPIO_54, 0); +} + +void CameraAVddOnOff(unsigned int on_off) +{ + Craneg_pm803_camera_power_Pinmuxcfg(); +#if CONFIG_BOARD_SIMWARE_H81 + gpio_direction_output(HAL_GPIO_121); + if(1==on_off) + gpio_set_value(HAL_GPIO_121, 1); + else + gpio_set_value(HAL_GPIO_121, 0); +#else + gpio_direction_output(HAL_GPIO_36); + if(1==on_off) + gpio_set_value(HAL_GPIO_36, 1); + else + gpio_set_value(HAL_GPIO_36, 0); +#endif +} + #endif diff --git a/2.sdk/product/craneg_modem/framework/cus/pin_cfg.c b/2.sdk/product/craneg_modem/framework/cus/pin_cfg.c index 00a22932..0998303b 100644 --- a/2.sdk/product/craneg_modem/framework/cus/pin_cfg.c +++ b/2.sdk/product/craneg_modem/framework/cus/pin_cfg.c @@ -1248,8 +1248,12 @@ void Craneg_pm803Pinmuxcfg(void) uint32 mfp_camera_cfg_craneg_pm803[] = { +#if CONFIG_BOARD_SIMWARE_H81 + MFP_REG(GPIO_121) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_NONE | MFP_LPM_EDGE_NONE, /*gpio for avdd_en*/ +#else MFP_REG(GPIO_36) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_NONE | MFP_LPM_EDGE_NONE, /*gpio for avdd_en*/ MFP_REG(GPIO_54) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_NONE | MFP_LPM_EDGE_NONE, /*gpio for iovdd_en*/ +#endif MFP_EOC }; diff --git a/2.sdk/product/craneg_modem/framework/hal/chip/pmic/pmic_drv.c b/2.sdk/product/craneg_modem/framework/hal/chip/pmic/pmic_drv.c index e2d74a4a..f1fd50ae 100644 --- a/2.sdk/product/craneg_modem/framework/hal/chip/pmic/pmic_drv.c +++ b/2.sdk/product/craneg_modem/framework/hal/chip/pmic/pmic_drv.c @@ -1151,7 +1151,9 @@ void camera_ldo_cfg(unsigned int on_off,LDO_CHANNEL channel,Camera_Pwr_Val ldoVa Ningbo_LDO_Set_Enable(NINGBO_LDO13_ENABLE_REG,0); else if(Pmic_is_pm803()) { -#if defined(CONFIG_BOARD_CRANEG_A0) +#if defined(CONFIG_BOARD_SIMWARE_H81) + GuilinLite_Ldo_7_set(0); +#elif defined(CONFIG_BOARD_CRANEG_A0) CameraIOVddOnOff(0); #endif } @@ -1160,7 +1162,10 @@ void camera_ldo_cfg(unsigned int on_off,LDO_CHANNEL channel,Camera_Pwr_Val ldoVa } else { if(Pmic_is_pm803()) { -#if defined(CONFIG_BOARD_CRANEG_A0) +#if defined(CONFIG_BOARD_SIMWARE_H81) + GuilinLite_Ldo_7_set_1_8(); + GuilinLite_Ldo_7_set(1); +#elif defined(CONFIG_BOARD_CRANEG_A0) CameraIOVddOnOff(1); #endif } @@ -1265,7 +1270,8 @@ BOOL pm813_battery_current_direction(void) //{ // return pm813_force_charger_state_get(); //} - UINT32 pm813_get_batteryId_vol(void) + +UINT32 pm813_get_batteryId_vol(void) { return pm813_get_batid_meas_vol_mv(); } diff --git a/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor.h b/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor.h index 59f41f75..41b6f89f 100644 --- a/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor.h +++ b/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor.h @@ -49,6 +49,11 @@ enum cam_interface_lane { #define CAMERA_PWDN1 HAL_GPIO_61 #define CAMERA_PWDN2 HAL_GPIO_118 #define CAMERA_RST HAL_GPIO_70 +#elif defined (CONFIG_BOARD_SIMWARE_H81) +#define CAMERA_PWDN0 HAL_GPIO_70 +#define CAMERA_PWDN1 HAL_GPIO_69 +#define CAMERA_PWDN2 HAL_GPIO_66 +#define CAMERA_RST HAL_GPIO_70 #else #define CAMERA_PWDN0 HAL_GPIO_69 #define CAMERA_PWDN1 HAL_GPIO_61 diff --git a/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor_spi_gc032a.c b/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor_spi_gc032a.c index 2c6a906f..258082ae 100644 --- a/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor_spi_gc032a.c +++ b/2.sdk/product/craneg_modem/framework/hal/device/camera/cam_sensor_spi_gc032a.c @@ -1520,7 +1520,7 @@ void gc032a_set_gpio_78(int onoff) } -#if 1 /* ghh modify for auto adapt crane and craneM */ +#if 0 /* ghh modify for auto adapt crane and craneM */ struct crane_sensor_data crane_GC032a_spi; #endif @@ -1535,7 +1535,7 @@ int GC032a_s_power(int on) { CAMLOGI("GC032a_s_power: %s CONFIG_CAM_HW_VERSION=0x%x", on?"on":"off",CONFIG_CAM_HW_VERSION); if(CONFIG_CAM_HW_VERSION == CAM_HW_VERSION_4) { - #if 1 /* ghh modify for auto adapt crane and craneM */ + #if 0 /* ghh modify for auto adapt crane and craneM */ if (CHIP_IS_CRANEM || CHIP_IS_CRANEL) { crane_GC032a_spi.res = CraneM_GC032a_resolution; diff --git a/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/crane_evb_z2_bld_rel.conf b/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/crane_evb_z2_bld_rel.conf index 469cf465..2e7cd149 100644 --- a/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/crane_evb_z2_bld_rel.conf +++ b/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/crane_evb_z2_bld_rel.conf @@ -13,10 +13,10 @@ CONFIG_WATCH_UI=y CONFIG_BUILD_CAMERA_TARGET=y CONFIG_BUILD_GC030A=n CONFIG_GC030A_AS_BACK_CAMERA=n -CONFIG_BUILD_GC032A=n +CONFIG_BUILD_GC032A=y CONFIG_GC032A_AS_BACK_CAMERA=n CONFIG_BUILD_GC2145=n -CONFIG_BUILD_BF30A2=y +CONFIG_BUILD_BF30A2=n CONFIG_ENABLE_CAM_FULLSIZE_STREAM=n CONFIG_ENABLE_CAM_ONLINE_JPEG=n diff --git a/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/craneg_bld_rel.conf b/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/craneg_bld_rel.conf index aa188cb3..260f46d5 100644 --- a/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/craneg_bld_rel.conf +++ b/2.sdk/product/craneg_modem/framework/scripts/boards/crane_evb/craneg_bld_rel.conf @@ -15,10 +15,10 @@ CONFIG_WATCH_UI=y CONFIG_BUILD_CAMERA_TARGET=y CONFIG_BUILD_GC030A=n CONFIG_GC030A_AS_BACK_CAMERA=n -CONFIG_BUILD_GC032A=n +CONFIG_BUILD_GC032A=y CONFIG_GC032A_AS_BACK_CAMERA=n CONFIG_BUILD_GC2145=n -CONFIG_BUILD_BF30A2=y +CONFIG_BUILD_BF30A2=n CONFIG_ENABLE_CAM_FULLSIZE_STREAM=n CONFIG_ENABLE_CAM_ONLINE_JPEG=n diff --git a/2.sdk/product/craneg_modem/tavor/Arbel/CRANE_SDK_LIB/FP_GENERIC_ALIOS_LTEGSM/Arbel_objliblist.txt b/2.sdk/product/craneg_modem/tavor/Arbel/CRANE_SDK_LIB/FP_GENERIC_ALIOS_LTEGSM/Arbel_objliblist.txt index aed8e0d1..89356bb6 100644 --- a/2.sdk/product/craneg_modem/tavor/Arbel/CRANE_SDK_LIB/FP_GENERIC_ALIOS_LTEGSM/Arbel_objliblist.txt +++ b/2.sdk/product/craneg_modem/tavor/Arbel/CRANE_SDK_LIB/FP_GENERIC_ALIOS_LTEGSM/Arbel_objliblist.txt @@ -14,6 +14,7 @@ ..\obj_PMD2NONE\cust-cust.lib ..\obj_PMD2NONE\nota-nota.lib ..\obj_PMD2NONE\framework-framework.lib +..\obj_PMD2NONE\test-test.lib ..\obj_PMD2NONE\pcac-pca_components.lib ..\obj_PMD2NONE\aud_sw-Audio.lib \tavor\Arbel\CRANE_SDK_LIB\FP_GENERIC_ALIOS_LTEGSM\3g_ps-dps.lib @@ -63,7 +64,42 @@ \3g_ps\rls\tplgsm\bldstore\hsiupdlibdev\build\lib\usbd.lib \3g_ps\rls\tplgsm\bldstore\hsiupdlibdev\build\lib\sac.lib \softutil\softutil\mep_r.a -\hal\BT_hoststack\lib\hal-BT_hoststack.lib \aud_sw\lib\libcpaudio.a -\framework\build\crane_evb_z2\libhal.a +\framework\build\crane_evb\libhal.a +\softutil\fotadm\lib\lib_fotadm.a +\alios\common\lib\activation.a +\alios\common\lib\chip_code.a +\alios\common\lib\cjson.a +\alios\common\lib\debug.a +\alios\common\lib\kernel_init.a +\alios\common\lib\kv.a +\alios\common\lib\mbedtls.a +\alios\common\lib\mcu_asr3601.a +\alios\common\lib\osal_aos.a +\alios\common\lib\ulog.a +\alios\linkkit\lib\identify.a +\alios\linkkit\lib\libiot_certs.a +\alios\linkkit\lib\libiot_devmodel.a +\alios\linkkit\lib\libiot_dynreg.a +\alios\linkkit\lib\libiot_infra.a +\alios\linkkit\lib\libiot_mqtt.a +\alios\linkkit\lib\libiot_sign.a +\alios\linkkit\lib\libiot_wrappers.a +\alios\upay\lib\alicrypto.a +\alios\upay\lib\alipay_iot_device_name.lib +\alios\upay\lib\alipay_iot_netcore.lib +\alios\upay\lib\alipay_iot_rpc.lib +\alios\upay\lib\ALIPAY_IoTPay_network.lib +\alios\upay\lib\ALIPAY_IoTPay_network_se.lib +\alios\upay\lib\alipay_mbedtls.lib +\alios\upay\lib\alipay_qrdecoder.lib +\alios\upay\lib\AlipayInsideSESDK.lib +\alios\upay\lib\cJSON.lib +\alios\upay\lib\id2.a +\alios\upay\lib\libkm.a +\alios\upay\lib\libprov.a +\alios\upay\lib\libsst.a +\alios\upay\lib\ls_alipay.a +\alios\upay\lib\protobuf-c.lib +\alios\upay\lib\upay.a \tavor\Arbel\CRANE_SDK_LIB\FP_GENERIC_ALIOS_LTEGSM\armps.lib diff --git a/2.sdk/releasepack/config/partition/CRANE_SINGLE_FLASH_LAYOUT.json b/2.sdk/releasepack/config/partition/CRANE_SINGLE_FLASH_LAYOUT.json index 5b30aad2..85fec7c3 100644 --- a/2.sdk/releasepack/config/partition/CRANE_SINGLE_FLASH_LAYOUT.json +++ b/2.sdk/releasepack/config/partition/CRANE_SINGLE_FLASH_LAYOUT.json @@ -82,7 +82,7 @@ { "name": "fota_pkg", "format": "raw", - "size": "1088KiB" + "size": "128KiB" }, { "name": "nvm",