[Bugfix][S300AI][bug-view-1824] fix poweron below 3.5v & not light on power led in uboot, old files
Change-Id: I06fafd336acbf8ec0a1c84887dc8871ca297ca82
diff --git a/lynq/S300AI/boot/common/src/uboot/drivers/led/led.c b/lynq/S300AI/boot/common/src/uboot/drivers/led/led.c
new file mode 100755
index 0000000..a8e574b
--- /dev/null
+++ b/lynq/S300AI/boot/common/src/uboot/drivers/led/led.c
@@ -0,0 +1,238 @@
+/*******************************************************************************
+ * 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_gpio.h>
+#include <led.h>
+
+/****************************************************************************
+* Local Types
+****************************************************************************/
+
+/****************************************************************************
+* Local Constants
+****************************************************************************/
+
+
+SINT32 led_SetStatus(led_channel channel, led_status status)
+{
+ SINT32 ret = 0;
+ if (status == LED_STATUS_ON)
+ {
+ switch (channel)
+ {
+ case LED_WIFI_BLUE:
+ zDrvGpio_SetOutputValue(LED_WIFI_BLUE_GPIO,GPIO_HIGH);
+ break;
+ case LED_SMS_BLUE:
+ zDrvGpio_SetOutputValue(LED_SMS_BLUE_GPIO,GPIO_HIGH);
+ break;
+ case LED_BAT_RED:
+ zDrvGpio_SetOutputValue(LED_BAT_RED_GPIO,GPIO_HIGH);
+ break;
+ case LED_BAT_GREEN:
+ zDrvGpio_SetOutputValue(LED_BAT_GREEN_GPIO,GPIO_HIGH);
+ break;
+ case LED_MODEM_BLUE:
+ zDrvGpio_SetOutputValue(LED_MODEM_BLUE_GPIO,GPIO_HIGH);
+ break;
+ case LED_MODEM_RED:
+ zDrvGpio_SetOutputValue(LED_MODEM_RED_GPIO,GPIO_HIGH);
+ break;
+ default:
+ break;
+
+
+ }
+ }
+ else if (status == LED_STATUS_OFF)
+ {
+ switch (channel)
+ {
+ case LED_WIFI_BLUE:
+ zDrvGpio_SetOutputValue(LED_WIFI_BLUE_GPIO,GPIO_LOW);
+ break;
+ case LED_SMS_BLUE:
+ zDrvGpio_SetOutputValue(LED_SMS_BLUE_GPIO,GPIO_LOW);
+ break;
+ case LED_BAT_RED:
+ zDrvGpio_SetOutputValue(LED_BAT_RED_GPIO,GPIO_LOW);
+ break;
+ case LED_BAT_GREEN:
+ zDrvGpio_SetOutputValue(LED_BAT_GREEN_GPIO,GPIO_LOW);
+ break;
+ case LED_MODEM_BLUE:
+ zDrvGpio_SetOutputValue(LED_MODEM_BLUE_GPIO,GPIO_LOW);
+ break;
+ case LED_MODEM_RED:
+ zDrvGpio_SetOutputValue(LED_MODEM_RED_GPIO,GPIO_LOW);
+ break;
+ default:
+ break;
+
+
+ }
+ }
+ else
+ {
+ return -1;
+ }
+
+ return ret;
+
+}
+
+#if 0
+
+/*******************************************************************************
+ * Function: led_SetLEDcurrent
+ * Description:
+ * Parameters:
+ * Input: led_color: LED_RED / LED_GREEN / LED_BLUE
+ * brightness: LED_BRIGHTNESS_1 ~ LED_BRIGHTNESS_16
+ * Output:
+ * Returns: success or fail
+ * Others: blue led can't set brightness, only can set on/off
+ ********************************************************************************/
+SINT32 led_SetLEDcurrent(UINT8 sink, led_current current)
+{
+ SINT32 ret = 0;
+ UINT8 slv_addr=0, reg_addr=0, reg_val=0, mask=0;
+
+ slv_addr = ZX234290_I2C_SLAVE_ADDR0;
+
+ reg_addr = ZX234290_REG_ADDR_SYS_CTRL;
+ if (current)
+ {
+ switch (sink)
+ {
+ case 1:
+ reg_val = LED_BITFVAL(1, 0); /* 0x07 寄存器 [1:0] */
+ break;
+ case 2:
+ reg_val = LED_BITFVAL(1, 1); /* 0x07 寄存器 [1:0] */
+ break;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ switch (sink)
+ {
+ case 1:
+ reg_val = LED_BITFVAL(0, 0);
+ break;
+ case 2:
+ reg_val = LED_BITFVAL(0, 1); /* 0x07 寄存器 [1:0] */
+ break;
+ default:
+ break;
+ }
+ }
+
+ switch (sink)
+ {
+ case 1:
+ mask = LED_BITFMASK(1, 0);
+ break;
+ case 2:
+ mask = LED_BITFMASK(1, 1);; /* 0x07 寄存器 [1:0] */
+ break;
+ default:
+ break;
+ }
+
+
+ ret = zx297520_led_SetRegister(reg_addr, reg_val, mask);
+ //zOss_Sleep(500);
+
+ switch (sink)
+ {
+ case 1:
+ reg_addr = ZX234290_REG_ADDR_SINK1_CUR_SEL;
+ break;
+ case 2:
+ reg_addr = ZX234290_REG_ADDR_SINK2_CUR_SEL;
+ break;
+ default:
+ break;
+ }
+
+ reg_val = LED_BITFVAL(current, 0); /* 0x07 寄存器 [1:0] */
+ mask = LED_BITFMASK(4, 0);
+ ret = zx297520_led_SetRegister(reg_addr, reg_val, mask);
+
+ if (ret != 0)
+ {
+ return -1;
+ }
+
+ return 0;
+}
+#endif
+void zx29_led_init(void)
+{
+ zDrvGpio_SetFunc(LED_WIFI_BLUE_GPIO,LED_WIFI_BLUE_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_WIFI_BLUE_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_WIFI_BLUE_GPIO,GPIO_LOW);
+
+ zDrvGpio_SetFunc(LED_SMS_BLUE_GPIO,LED_SMS_BLUE_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_SMS_BLUE_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_SMS_BLUE_GPIO,GPIO_LOW);
+
+ zDrvGpio_SetFunc(LED_BAT_RED_GPIO,LED_BAT_RED_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_BAT_RED_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_BAT_RED_GPIO,GPIO_LOW);
+
+ zDrvGpio_SetFunc(LED_BAT_GREEN_GPIO,LED_BAT_GREEN_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_BAT_GREEN_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_BAT_GREEN_GPIO,GPIO_LOW);
+
+ zDrvGpio_SetFunc(LED_MODEM_RED_GPIO,LED_MODEM_RED_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_MODEM_RED_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_MODEM_RED_GPIO,GPIO_LOW);
+
+ zDrvGpio_SetFunc(LED_MODEM_BLUE_GPIO,LED_MODEM_BLUE_GPIO_FUN);
+ zDrvGpio_SetDirection(LED_MODEM_BLUE_GPIO,GPIO_OUT);
+ zDrvGpio_SetOutputValue(LED_MODEM_BLUE_GPIO,GPIO_LOW);
+}
+
+void zx29_led_PowerOnLedOn(void)
+{
+ #if 1
+ led_SetStatus(LED_MODEM_RED,LED_STATUS_OFF);
+ led_SetStatus(LED_BAT_GREEN,LED_STATUS_OFF);
+
+ led_SetStatus(LED_WIFI_BLUE,LED_STATUS_ON);
+ led_SetStatus(LED_SMS_BLUE,LED_STATUS_ON);
+ led_SetStatus(LED_BAT_RED,LED_STATUS_ON);
+ led_SetStatus(LED_MODEM_BLUE,LED_STATUS_ON);
+ #endif
+
+}
+void zx29_led_PowerOnLedOff(void)
+{
+ udelay(19500); /*300ms*/
+ led_SetStatus(LED_WIFI_BLUE,LED_STATUS_OFF);
+ led_SetStatus(LED_SMS_BLUE,LED_STATUS_OFF);
+ led_SetStatus(LED_MODEM_BLUE,LED_STATUS_OFF);
+}
+
diff --git a/lynq/S300AI/boot/common/src/uboot/drivers/peripheral/peripheral.c b/lynq/S300AI/boot/common/src/uboot/drivers/peripheral/peripheral.c
new file mode 100644
index 0000000..564c2ca
--- /dev/null
+++ b/lynq/S300AI/boot/common/src/uboot/drivers/peripheral/peripheral.c
@@ -0,0 +1,341 @@
+/*******************************************************************************
+ * 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 "common.h"
+//#include <gpio.h>
+
+/****************************************************************************
+* Local Macros
+****************************************************************************/
+#define SD1_IO_1V8_EN 0x13c830
+#define REG32(x) (*(volatile u32*)(x))
+
+/****************************************************************************
+* 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();
+
+/*led*/
+
+/*lcd*/
+
+ /* jtagµ÷ÊÔ */
+#if 0
+ jtag_init();
+#endif
+
+#if 0//ref need ldo8 2.85V
+/*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);
+#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*/
+}
+
+
+
+
diff --git a/lynq/S300AI/boot/common/src/uboot/include/led.h b/lynq/S300AI/boot/common/src/uboot/include/led.h
new file mode 100755
index 0000000..816b899
--- /dev/null
+++ b/lynq/S300AI/boot/common/src/uboot/include/led.h
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (C) 2016, ZIXC Corporation.
+ *
+ * File Name: drvs_led.h
+ * File Mark:
+ * Description:
+ * Others:
+ * Version: V1.0
+ * Author: yuxiang
+ * Date: 2014-07-07
+ * History 1:
+ * Date:
+ * Version:
+ * Author:
+ * Modification:
+ * History 2:
+ ********************************************************************************/
+
+#ifndef _DRVS_LED_H
+#define _DRVS_LED_H
+#include "board.h"
+
+/****************************************************************************
+* Include files
+****************************************************************************/
+
+/****************************************************************************
+* Macros
+****************************************************************************/
+
+#include <linux/types.h>
+
+
+/*00h*/
+
+/*03h*/
+
+/****************************************************************************
+* Types
+****************************************************************************/
+
+typedef enum
+{
+ /* 0 ~ -29: commom */
+ DRV_SUCCESS = 0, /* successed */
+ DRV_ERROR = -1, /* failed */
+ DRV_ERR_INVALID_IOCTL_CMD = -2, /* no this control command branch */
+ DRV_ERR_NOT_SUPPORTED = -3, /* this function hasn't been supported */
+ DRV_ERR_INVALID_PARAM = -4, /* the input parameter is invalid */
+ DRV_ERR_MEM_ALLOC = -5, /* failed to malloc memory */
+ DRV_ERR_HISR_CREATE_FAIL = -6, /* failed to create hisr */
+ DRV_ERR_TIMEOUT = -7, /* timeout for a block waitting operation */
+ DRV_ERR_BUSY = -8, /* busy now to do the request operation */
+ DRV_ERR_NOT_OPENED = -9, /* the device to operate hasn't been opened yet */
+ DRV_ERR_OPEN_TIMES = -10, /* try to open a device which has been opened already */
+ DRV_ERR_NOT_STARTED = -11, /* the device to operate hasn't been started yet */
+ DRV_ERR_START_TIMES = -12, /* try to open a device which has been opened already */
+ /* reserved */
+
+}T_DRVS_RETURN_TYPE;
+
+/****************************************************************************
+* Constants
+****************************************************************************/
+
+/****************************************************************************
+* Global Variables
+****************************************************************************/
+
+/****************************************************************************
+* Function Prototypes
+****************************************************************************/
+
+typedef signed char SINT8;
+typedef unsigned char UINT8;
+
+typedef signed short SINT16;
+typedef unsigned short UINT16;
+
+typedef signed int SINT32;
+typedef unsigned int UINT32;
+
+#if defined(CONFIG_ZX297520V3E_MIFI_MINI_XR819)||defined(CONFIG_ZX297520V3E_MIFI_MINI)
+#define LED_WIFI_BLUE_GPIO GPIO39 //real wifi green led
+#define LED_SMS_BLUE_GPIO GPIO40 //real sms green led
+#define LED_BAT_RED_GPIO GPIO41
+#define LED_BAT_GREEN_GPIO GPIO42
+#define LED_MODEM_RED_GPIO GPIO124
+#define LED_MODEM_BLUE_GPIO GPIO125 //real modem green
+#define LED_WIFI_BLUE_GPIO_FUN GPIO39_GPIO39
+#define LED_SMS_BLUE_GPIO_FUN GPIO40_GPIO40
+#define LED_BAT_RED_GPIO_FUN GPIO41_GPIO41
+#define LED_BAT_GREEN_GPIO_FUN GPIO42_GPIO42
+#define LED_MODEM_RED_GPIO_FUN GPIO124_GPIO124
+#define LED_MODEM_BLUE_GPIO_FUN GPIO125_GPIO125
+
+#elif defined(CONFIG_ZX297520V3E_CPE_SWITCH)
+#define LED_LTE_RED GPIO45
+#define LED_LTE_BLUE GPIO46
+#define LED_WIFI GPIO86
+#define LED_WPS GPIO72
+#define LED_RJ11 GPIO22
+#define LED_4G_1 GPIO29
+#define LED_4G_2 GPIO30
+#define LED_4G_3 GPIO73
+#define LED_4G_4 GPIO74
+#define LED_4G_5 GPIO75
+
+#define LED_POWER_FUNC_SEL GPIO21_GPIO21
+#define LED_LTE_RED_FUNC_SEL GPIO45_GPIO45
+#define LED_LTE_BLUE_FUNC_SEL GPIO46_GPIO46
+#define LED_WIFI_FUNC_SEL GPIO86_GPIO86
+#define LED_WPS_FUNC_SEL GPIO72_GPIO72
+#define LED_RJ11_FUNC_SEL GPIO22_GPIO22
+#define LED_4G_1_FUNC_SEL GPIO29_GPIO29
+#define LED_4G_2_FUNC_SEL GPIO30_GPIO30
+#define LED_4G_3_FUNC_SEL GPIO73_GPIO73
+#define LED_4G_4_FUNC_SEL GPIO74_GPIO74
+#define LED_4G_5_FUNC_SEL GPIO75_GPIO75
+
+#else
+#define LED_WIFI_BLUE_GPIO GPIO39 //wifi blue led
+#define LED_SMS_BLUE_GPIO GPIO40 //sms blue led
+#define LED_BAT_RED_GPIO GPIO42 //bat red led
+#define LED_BAT_GREEN_GPIO GPIO41 //bat_green led
+#define LED_MODEM_RED_GPIO GPIO124
+#define LED_MODEM_BLUE_GPIO GPIO123
+#define LED_WIFI_BLUE_GPIO_FUN GPIO39_GPIO39//wifi blue led
+#define LED_SMS_BLUE_GPIO_FUN GPIO40_GPIO40//sms blue led
+#define LED_BAT_RED_GPIO_FUN GPIO42_GPIO42//bat red led change to green
+#define LED_BAT_GREEN_GPIO_FUN GPIO41_GPIO41//bat_green led
+#define LED_MODEM_RED_GPIO_FUN GPIO124_GPIO124
+#define LED_MODEM_BLUE_GPIO_FUN GPIO123_GPIO123
+#endif
+
+#define LED_BITFVAL(var, lsh) ( (var) << (lsh) )
+#define LED_BITFMASK(wid, lsh) ( ((1U << (wid)) - 1) << (lsh) )
+#define LED_BITFEXT(var, wid, lsh) ((var & LED_BITFMASK(wid, lsh)) >> (lsh))
+
+/* adc & sink and sink current select */
+#if 0/* adc & sink and sink current select */
+#define ZX234290_REG_ADDR_SYS_CTRL 0x07
+#define ZX234290_REG_ADDR_SINK2_CUR_SEL 0x08
+#define ZX234290_REG_ADDR_SINK1_CUR_SEL 0x09
+#endif
+typedef enum led_channel {
+ LED_WIFI_BLUE =0x0, //wifi green led
+ LED_SMS_BLUE, //sms green led
+ LED_BAT_RED, //bat red led
+ LED_BAT_GREEN, //bat_green led
+ LED_MODEM_BLUE, //modem green led
+ LED_MODEM_GREEN, //no
+ LED_MODEM_RED, //modem red
+ LED_CHANNEL_MAX,
+}led_channel;
+
+typedef enum led_current {
+ LED_CURRENT_0 =0x0,
+ LED_CURRENT_5,
+ LED_CURRENT_10,
+ LED_CURRENT_15,
+ LED_CURRENT_20,
+ LED_CURRENT_25,
+ LED_CURRENT_30,
+ LED_CURRENT_35,
+ LED_CURRENT_40,
+
+ SM5201_CURRENT_MAX,
+}led_current;
+
+typedef enum led_status {
+ LED_STATUS_OFF = 0x0,
+ LED_STATUS_ON = 0x1,
+
+ LED_STATUS_MAX,
+}led_status;
+
+
+/****************************************************************************
+* Constants
+****************************************************************************/
+
+/****************************************************************************
+* Global Variables
+****************************************************************************/
+
+/****************************************************************************
+* Function Prototypes
+****************************************************************************/
+
+SINT32 led_SetStatus(led_channel channel, led_status status);
+SINT32 led_SetBlink(led_channel channel, UINT32 delay_on, UINT32 delay_off);
+SINT32 led_SetLEDcurrent(UINT8 sink, led_current current);
+
+void zx29_led_init(void);
+void zx29_led_PowerOnLedOn(void);
+
+void zx29_led_PowerOnLedOff(void);
+
+#endif/*_DRVS_LED_H*/