blob: fe410a95bfc1e82715ddb95fdf385bdba5eb107d [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2016, ZIXC Corporation.
*
* File Name: hal_led.c
* File Mark:
* Description: This file contains the hal layer routines for i2c driver.
* Others:
* Version: V1.0
* Author: yx
* Date: 2014-07-03
* History 1:
* Date:
* Version:
* Author:
* Modification:
* History 2:
******************************************************************************/
/****************************************************************************
* Include files
****************************************************************************/
//#include "drvs_general.h"
//#include "drvs_i2c.h"
#include <linux/types.h>
#include <zx234290.h>
#include <led.h>
#include <drvs_gpio.h>
#include "common.h"
#include <dma_cfg.h>
//#include <gpio.h>
/****************************************************************************
* Local Macros
****************************************************************************/
#define SD1_IO_1V8_EN 0x13c830
#define REG32(x) (*(volatile u32*)(x))
#define MMC0_USED_EN 1
#define MMC1_USED_EN 1
/****************************************************************************
* Local Types
****************************************************************************/
/****************************************************************************
* Local Constants
****************************************************************************/
/****************************************************************************
* Function: peripheral_init
* Description: init the peripheral include pmu\charger\led\lcd etc.
* Parameters:
* Input:
*
* Output:
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int peripheral_init(void)
{
int ret = 0;
ret = power_init();
/*mmc config*/
REG32(MMC_FLAG_ADDR) &=~0x3;//clear bit0~1
REG32(MMC_FLAG_ADDR) |=((MMC0_USED_EN<<0)|(MMC1_USED_EN<<1));
/*led*/
/*lcd*/
/* jtag调试 */
#if 0
jtag_init();
#endif
//#if 0//ref need ldo8 2.85V
#if defined(CONFIG_ZX297520V3E_VEHICLE_DC) || defined(CONFIG_ZX297520V3E_VEHICLE_DC_REF)
/*set mmc io and vccQ*/
zx234290_set_ldo8_voltage(VLDOD_1_800);
zx234290_set_ldo8_sleep_voltage(VLDOD_1_800);
zx234290_ldo8_enable(1);
REG32(SD1_IO_1V8_EN) |=(1<<1);
//xf.li@20230412 add for enable GNSS start
/*关闭gps电源*/
zDrvGpio_SetFunc(GPIO86, GPIO86_GPIO86);
zDrvGpio_SetDirection(GPIO86, GPIO_OUT);
zDrvGpio_SetOutputValue(GPIO86, GPIO_LOW);
zDrvGpio_SetFunc(GPIO126,GPIO126_GPIO126);
zDrvGpio_SetDirection(GPIO126,GPIO_OUT);
zDrvGpio_SetOutputValue(GPIO126,GPIO_LOW);
//xf.li@20230412 add for enable GNSS end
#endif
zx234502_charger_enable();
return ret ;
}
/****************************************************************************
* Function: Show_UpdateWait
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_UpdateWait(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_UpdateSucc
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_UpdateSucc(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_UpdateFail
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_UpdateFail(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_LowPower
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_LowPower(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_No_Battery
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_No_Battery(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_PowerOn_Normal
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_PowerOn_Normal(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_PowerOn_Normal
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_PowerOn_Fota(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: Show_Charging
* Description: show the logo when the local updataing through lcd/led etc.
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int Show_Charging(void)
{
int ret = 0;
/*led*/
/*lcd*/
;
return ret;
}
/****************************************************************************
* Function: zx_get_vbat_voltage
* Description: .
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
int zx_get_vbat_voltage(void)
{
// int ret = 0;
return zx234290_get_adc1_voltage();
}
/****************************************************************************
* Function: zx_get_battery_Status
* Description:
* Parameters:
* Input:
*
* Output:
*
*
* Returns:
* int
*
*
* Others:
***************************************************************************/
unsigned int zx_get_battery_Status(void)
{
int ret = 0;
int boost_flag = 1;
zx234502_battery_status(&boost_flag);
if(boost_flag){
return 0;/*battery uninstall*/
}
else
return 1;/*battery install*/
}