Remove build warnings from sc8830 arch bsp code.
Change-Id: I253660a28de843f9f0e61ce7d5bd0a75cf05a86b
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
void boot_cp0(void)
{
u32 m_data[3] = {0xe59f0000, 0xe12fff10, MODEM_ADR};
- memcpy(CP0_CODE_COPY_ADR, m_data, sizeof(m_data)); /* copy cp0 source code */
+ memcpy((u32 *)CP0_CODE_COPY_ADR, m_data, sizeof(m_data)); /* copy cp0 source code */
*((volatile u32*)COOPERATE_PMU_CTRL0_ADDR) &= ~BIT_25; /* open cp0 pmu controller*/
msleep(50);
void boot_cp2(void)
{
u32 wcndata[3] = {0xe59f0000, 0xe12fff10, WCNMODEM_ADR};
- memcpy(CP2_CODE_COPY_ADR, wcndata, sizeof(wcndata)); /* copy cp2 source code */
+ memcpy((u32 *)CP2_CODE_COPY_ADR, wcndata, sizeof(wcndata)); /* copy cp2 source code */
*((volatile u32*)COOPERATE_PMU_CTRL2_ADDR) &= ~BIT_25; /* open cp2 pmu controller*/
msleep(50);
if (cnt + 1 <= 0){
while(1){
- printf("[0x%s]: ADI READ timeout!!! reg = 0x%x, value = 0x%x\n", __func__, regPddr, val);
+ printf("[0x%s]: ADI READ timeout!!! reg = 0x%x, value = 0x%lx\n", __func__, regPddr, val);
udelay(1000000);
}
}
{
}
-static void adie_efuse_reset(void)
-{
-}
-
static void __adie_efuse_power_on(void)
{
sci_adi_set(ANA_REG_GLB_ARM_MODULE_EN, BIT_ANA_EFS_EN);
+#include <common.h>
#include <asm/arch/sci_types.h>
#include <asm/arch/sc_reg.h>
#include <boot_mode.h>
#define debugf(fmt, args...)
#endif
-
extern int hw_watchdog_rst_pending(void);
-extern inline int is_7s_reset(void);
+extern int is_7s_reset(void);
extern int is_7s_reset_for_systemdump(void);
-extern inline int is_hw_smpl_enable(void);
+extern int is_hw_smpl_enable(void);
__attribute__ ((gnu_inline))inline int is_smpl_bootup(void);
+extern void reset_cpu(ulong ignored);
+extern void power_down_cpu(ulong ignored);
+extern int sci_glb_set(u32 reg, u32 bit);
+extern int sprd_eic_get(unsigned offset);
+extern int sprd_eic_request(unsigned offset);
+
unsigned check_reboot_mode(void)
{
- unsigned val, rst_mode= 0;
+ unsigned rst_mode= 0;
unsigned hw_rst_mode = ANA_REG_GET(ANA_REG_GLB_POR_SRC_FLAG);
debugf("hw_rst_mode==%x\n", hw_rst_mode);
}
-int get_mode_from_gpio()
+int charger_connected(void)
+{
+ sprd_eic_request(EIC_CHG_INT);
+ udelay(3000);
+ debugf("eica status %x\n", sprd_eic_get(EIC_CHG_INT));
+#ifdef CONFIG_SHARK_PAD_HW_V102
+ sprd_eic_request(EIC_USB_DETECT);
+ udelay(3000);
+ debugf("eica status %x\n", sprd_eic_get(EIC_USB_DETECT));
+ return (!!sprd_eic_get(EIC_USB_DETECT)) ||(!!sprd_eic_get(EIC_CHG_INT));
+#else
+ return !!sprd_eic_get(EIC_CHG_INT);
+#endif
+}
+
+int get_mode_from_gpio(void)
{
int ret = 0;
unsigned hw_rst_mode;
}
-int charger_connected(void)
-{
- sprd_eic_request(EIC_CHG_INT);
- udelay(3000);
- debugf("eica status %x\n", sprd_eic_get(EIC_CHG_INT));
-#ifdef CONFIG_SHARK_PAD_HW_V102
- sprd_eic_request(EIC_USB_DETECT);
- udelay(3000);
- debugf("eica status %x\n", sprd_eic_get(EIC_USB_DETECT));
- return (!!sprd_eic_get(EIC_USB_DETECT)) ||(!!sprd_eic_get(EIC_CHG_INT));
-#else
- return !!sprd_eic_get(EIC_CHG_INT);
-#endif
-}
-
int alarm_triggered(void)
{
//printf("ANA_RTC_INT_RSTS is 0x%x\n", ANA_RTC_INT_RSTS);
/**---------------------------------------------------------------------------*
** Dependencies *
**---------------------------------------------------------------------------*/
+#include <common.h>
#include <asm/io.h>
#include "asm/arch/sc_reg.h"
#include "asm/arch/adi_hal_internal.h"
/**---------------------------------------------------------------------------*
** Function Definitions *
**---------------------------------------------------------------------------*/
+extern int calibrate_register_callback(void *callback_fun);
+
/*****************************************************************************/
// Description : This function is used to reset MCU.
// Global resource dependence :
// Author: Jeff.Li
// Note: Do nothing. There are 32KB internal ram dedicated for ARM.
/*****************************************************************************/
-PUBLIC void CHIP_PHY_BootIramEn ()
+PUBLIC void CHIP_PHY_BootIramEn (void)
{
}
// Note : | 11 10 9 8 | 7 6 5 4 | 3 2 1 0 |
// |ALL_HRST_MONITOR | POR_HRST_MONITOR| WDG_HRST_MONITOR |
/*****************************************************************************/
-PUBLIC BOOLEAN CHIP_PHY_IsResetByPowerUp()
+PUBLIC BOOLEAN CHIP_PHY_IsResetByPowerUp(void)
{
if ((CHIP_PHY_GetANAReg () & 0xF0) == 0x0)
{
// Note : | 11 10 9 8 | 7 6 5 4 | 3 2 1 0 |
// |ALL_HRST_MONITOR | POR_HRST_MONITOR| WDG_HRST_MONITOR |
/*****************************************************************************/
-PUBLIC BOOLEAN CHIP_PHY_IsResetByWatchDog()
+PUBLIC BOOLEAN CHIP_PHY_IsResetByWatchDog(void)
{
if ((CHIP_PHY_GetANAReg () & 0xF) == 0x0)
{
static void dcdc_core_ds_config(unsigned int para)
{
#if defined(CONFIG_ADIE_SC2723S) || defined(CONFIG_ADIE_SC2723)
+#if 0
uint32 dcdc_core_ctl_adi = 0;
uint32 reg_val = 0;
-#if 0
uint32 dcdc_core_ctl_ds = -1;
uint32 dcdc_core_cal_adi = 0;
uint32 reg_val_cal = 0;
0x00000007,
#endif
0x99998888,
- 0x402b006c,
+ {0x402b006c,
0x402b0140,
- 0x402b0144
+ 0x402b0144}
};
static unsigned int dmc_phy_is_auto_pd(unsigned int is_auto_pd)
{
static void setup_ap_cp_sync_sleep_code(unsigned int start_addr)
{
#ifndef CONFIG_SPX20
- unsigned int *sa = (unsigned int*)start_addr;
-
dmc_phy_is_auto_pd(lp_cfg.is_auto_pd);
#endif
/*enable cp2 can access 0x50001800*/
#define __ffs(x) (ffs(x) - 1)
-#define DEFINE_SPINLOCK(...)
-#define spin_lock_irqsave(...)
-#define spin_unlock_irqrestore(...)
-
#include <asm/io.h>
#include <asm/arch/sprd_reg.h>
#include <asm/arch/clock.h>
//#define debug0 printf
-DEFINE_SPINLOCK(clocks_lock);
+extern void clkdev_add(struct clk_lookup *cl);
+extern int sci_glb_set(u32 reg, u32 bit);
+extern int sci_glb_clr(u32 reg, u32 bit);
+extern u32 sci_glb_read(u32 reg, u32 msk);
+extern int sci_glb_write(u32 reg, u32 val, u32 msk);
int clk_enable(struct clk *clk)
{
clk_enable(clk->parent);
- spin_lock_irqsave(&clocks_lock, flags);
if ((clk->usage++) == 0 && clk->enable)
(clk->enable) (clk, 1, &flags);
- spin_unlock_irqrestore(&clocks_lock, flags);
debug0("clk %p, usage %d\n", clk, clk->usage);
return 0;
}
if (IS_ERR_OR_NULL(clk))
return;
- spin_lock_irqsave(&clocks_lock, flags);
if ((--clk->usage) == 0 && clk->enable)
(clk->enable) (clk, 0, &flags);
if (WARN(clk->usage < 0,
"warning: clock (%s) usage (%d)\n", clk->regs->name, clk->usage)) {
clk->usage = 0; /* force reset clock refcnt */
- spin_unlock_irqrestore(&clocks_lock, flags);
return;
}
- spin_unlock_irqrestore(&clocks_lock, flags);
debug0("clk %p, usage %d\n", clk, clk->usage);
clk_disable(clk->parent);
}
int clk_set_rate(struct clk *clk, unsigned long rate)
{
int ret;
- unsigned long flags;
debug0("clk %p, rate %lu\n", clk, rate);
if (IS_ERR_OR_NULL(clk) || rate == 0)
return -EINVAL;
if (clk->ops == NULL || clk->ops->set_rate == NULL)
return -EINVAL;
- spin_lock_irqsave(&clocks_lock, flags);
ret = (clk->ops->set_rate) (clk, rate);
- spin_unlock_irqrestore(&clocks_lock, flags);
return ret;
}
int clk_set_parent(struct clk *clk, struct clk *parent)
{
int ret = -EACCES;
- unsigned long flags;
#if defined(CONFIG_DEBUG_FS)
struct clk *old_parent = clk_get_parent(clk);
debug0("clk %p, parent %p <<< %p\n", clk, parent, old_parent);
if (IS_ERR_OR_NULL(clk) || IS_ERR(parent))
return -EINVAL;
- spin_lock_irqsave(&clocks_lock, flags);
if (clk->ops && clk->ops->set_parent)
ret = (clk->ops->set_parent) (clk, parent);
- spin_unlock_irqrestore(&clocks_lock, flags);
#if defined(CONFIG_DEBUG_FS)
/* FIXME: call debugfs_rename() out of spin lock,
enable = !enable;
if (!c->regs->enb.mask) { /* enable matrix clock */
- if (pflags)
- spin_unlock_irqrestore(&clocks_lock, *pflags);
if (enable)
clk_enable((struct clk *)c->regs->enb.reg);
else
clk_disable((struct clk *)c->regs->enb.reg);
- if (pflags)
- spin_lock_irqsave(&clocks_lock, *pflags);
} else {
if (enable)
sci_glb_set(c->regs->enb.reg & ~1, c->regs->enb.mask);
return 0;
}
+#ifdef CONFIG_NKERNEL
static int __init sci_clock_dump(void)
{
struct clk_lookup *cl = (struct clk_lookup *)(&__clkinit_begin + 1);
}
return 0;
}
+#endif
-static int __clk_cpufreq_notifier(struct notifier_block *nb, unsigned long val, void *data)
+#if 0
+static int __clk_cpufreq_notifier(struct notifier_block nb, unsigned long val, void *data)
{
struct cpufreq_freqs *freq = data;
static struct notifier_block __clk_cpufreq_notifier_block = {
.notifier_call = __clk_cpufreq_notifier
};
+#endif
int __init sci_clock_init(void)
{
return 0;
}
-#ifndef CONFIG_NKERNEL
+#ifdef CONFIG_NKERNEL
arch_initcall(sci_clock_init);
late_initcall_sync(sci_clock_dump);
#endif
}vol_para_t;
#if defined(CONFIG_FDL2_BUILD)
-vol_para_t **ppvol_para = 0x50000020;
+vol_para_t **ppvol_para = (vol_para_t **)0x50000020;
#elif defined(CONFIG_SPL_32K)
-vol_para_t **ppvol_para = 0x50003C20;
+vol_para_t **ppvol_para = (vol_para_t **)0x50003C20;
#else
-vol_para_t **ppvol_para = 0x50003C20;
+vol_para_t **ppvol_para = (vol_para_t **)0x50003C20;
#endif
static int get_vol_para_num(void)
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#include <common.h>
#include <asm/io.h>
#include <asm/arch/sprd_reg.h>
#include <asm/arch/sci_types.h>
#define KERN_WARNING ""
#define WARN(nmu, fmt...) printf(fmt)
#define WARN_ON(num)
-#define BUG_ON(__cond__) if(__cond__) printf("%s line: %d bug on\n", __FUNCTION__, __LINE__)
#define pr_err(fmt...) printf(fmt)
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
#define pr_debug(fmt...) printf(fmt)
//#define DEBUG
static void __get_eic_base_info (u32 eic_id, struct eic_info *info)
{
- int i = 0;
- u32 table_size = 0;
- struct gpio_section *section_table;
-
if (eic_id>=SPRD_ADIE_EIC_START && eic_id<=SPRD_ADIE_EIC_END)
{
info->base_addr= SPRD_ANA_EIC_PHYS;
static int __eic_get_pin_data (struct eic_info *info)
{
- u32 offset_addr = 0;
u32 reg_addr = 0, reg_data;
if (info->base_addr == INVALID_REG)
static int __eic_get_data_mask (struct eic_info *info)
{
- u32 offset_addr = 0;
u32 reg_addr = 0, reg_data;
if (info->base_addr == INVALID_REG)
*/
static void __eic_set_data_mask (struct eic_info *info, int b_on)
{
- u32 offset_addr = 0;
u32 reg_addr = 0, reg_data;
reg_addr = info->base_addr + EIC_MASK;
return 0;
}
+#if 0
static void sprd_eic_free(unsigned offset)
{
unsigned eic_id = offset;
__eic_set_data_mask (&gpio_info, 0);
return;
}
+#endif
void sprd_eic_init(void)
{
ANA_REG_OR(ANA_REG_GLB_RTC_CLK_EN, BIT_RTC_EIC_EN);
}
-int get_volumn_down_status2()
+int get_volumn_down_status2(void)
{
int temp_cnt = 600;
int status = 0;
int sci_glb_write(u32 reg, u32 val, u32 msk)
{
- unsigned long flags, hw_flags;
__raw_writel((__raw_readl(reg) & ~msk) | val, reg);
return 0;
}
{
int value = !!dir;
u32 reg_addr = 0;
- unsigned long flags;
reg_addr = info->base_addr;
return;
}
- //local_irq_save(flags);
value = gpio_reg_get(reg_addr, info->die);
if (dir)
else
value &= ~(1 << info->bit_num);
gpio_reg_set(reg_addr, info->die, value);
-
- //local_irq_restore(flags);
}
/*
u32 offset_addr;
u32 reg_addr;
int value;
- unsigned long flags;
reg_addr = info->base_addr;
reg_addr += offset_addr;
- //local_irq_save(flags);
-
value = gpio_reg_get(reg_addr, info->die);
if (b_on)
value |= 1 << info->bit_num;
else
value &= ~(1 << info->bit_num);
gpio_reg_set(reg_addr, info->die, value);
- //local_irq_restore(flags);
}
/*
int value;
u32 reg_addr;
u32 offset_addr;
- unsigned long flags;
reg_addr = info->base_addr;
offset_addr = __gpio_get_data_mask_reg_offs(info);
if (offset_addr != INVALID_REG) {
reg_addr += offset_addr;
- //local_irq_save(flags);
value = gpio_reg_get(reg_addr, info->die);
if (b_on)
value |= 1 << info->bit_num;
else
value &= ~(1 << info->bit_num);
gpio_reg_set(reg_addr, info->die, value);
- //local_irq_restore(flags);
GPIO_DBG("After setting gpio_addr %x data mask :%x\r\n", reg_addr,
gpio_reg_get(reg_addr, info->die));
#include <asm/arch/sprd_reg.h>
#include <asm/arch/sci_types.h>
#include <asm/arch/adi_hal_internal.h>
+
+extern void __raw_bits_or(unsigned int v, unsigned int a);
+
/*
REG_AON_APB_BOND_OPT0 ==> romcode set
REG_AON_APB_BOND_OPT1 ==> set it later
* 1 : enable jtag success *
* 0 : enable jtag fail *
*************************************************/
-int sprd_jtag_enable()
+int sprd_jtag_enable(void)
{
if (*((volatile unsigned int *)(REG_AON_APB_BOND_OPT0)) & 1)
{
* 1 : disable jtag success *
* 0 : disable jtag fail *
*************************************************/
-int sprd_jtag_disable()
+int sprd_jtag_disable(void)
{
if (!(*((volatile unsigned int *)(REG_AON_APB_BOND_OPT0)) & 1))
{
}
}
-static void ap_slp_cp_dbg_cfg()
+static void ap_slp_cp_dbg_cfg(void)
{
*((volatile unsigned int *)(REG_AP_AHB_MCU_PAUSE)) |= BIT_MCU_SLEEP_FOLLOW_CA7_EN; //when ap sleep, cp can continue debug
}
-static void ap_cpll_rel_cfg()
+static void ap_cpll_rel_cfg(void)
{
*((volatile unsigned int *)(REG_PMU_APB_CPLL_REL_CFG)) |= BIT_CPLL_AP_SEL;
}
-static void bb_bg_auto_en()
-{
- *((volatile unsigned int *)(REG_AON_APB_RES_REG0)) |= 1<<8;
-}
-
-
-static void ap_close_wpll_en()
+#if 0
+static void ap_close_wpll_en(void)
{
*((volatile unsigned int *)(REG_PMU_APB_CGM_AP_EN)) &= ~BIT_CGM_WPLL_AP_EN;
}
-static void ap_close_cpll_en()
+static void ap_close_cpll_en(void)
{
*((volatile unsigned int *)(REG_PMU_APB_CGM_AP_EN)) &= ~BIT_CGM_CPLL_AP_EN;
}
-static void ap_close_wifipll_en()
+static void ap_close_wifipll_en(void)
{
*((volatile unsigned int *)(REG_PMU_APB_CGM_AP_EN)) &= ~BIT_CGM_WIFIPLL1_AP_EN;
}
+#endif
+#ifndef CONFIG_SPX30G
+static void bb_bg_auto_en(void)
+{
+ *((volatile unsigned int *)(REG_AON_APB_RES_REG0)) |= 1<<8;
+}
-static void bb_ldo_auto_en()
+static void bb_ldo_auto_en(void)
{
*((volatile unsigned int *)(REG_AON_APB_RES_REG0)) |= 1<<9;
-}
+}
+#endif
#ifdef CONFIG_PBINT_7S_RESET_V1
void pmic_init(void)
{
+#ifndef CONFIG_TIZEN
u32 val;
+#endif
pbint_7s_rst_cfg(CONFIG_7S_RST_MODULE_EN,
CONFIG_7S_RST_SW_MODE,
CONFIG_7S_RST_SHORT_MODE);
#endif
#define REG32(x) (*((volatile uint32 *)(x)))
-void gpu_clk_auto_gate_disable()
+void gpu_clk_auto_gate_disable(void)
{
REG32(REG_PMU_APB_CGM_GPU_MM_AUTO_GATE_EN) &= ~(0x7F);
}
-void misc_init()
+void misc_init(void)
{
scx35_pmu_reconfig();
ap_slp_cp_dbg_cfg();
}mem_cs_info_t;
PUBLIC int get_dram_cs_number(void)
{
- mem_cs_info_t *cs_info_ptr = 0x1C00;
+ mem_cs_info_t *cs_info_ptr = (mem_cs_info_t *)0x1C00;
return cs_info_ptr->cs_number;
}
PUBLIC int get_dram_cs0_size(void)
{
- mem_cs_info_t *cs_info_ptr = 0x1C00;
+ mem_cs_info_t *cs_info_ptr = (mem_cs_info_t *)0x1C00;
return cs_info_ptr->cs0_size;
}
#define VOL_P1 4200
#define ADC_DATA_OFFSET 128
+extern int __ddie_efuse_prog(int blk_index, u32 val);
+extern u32 __adie_efuse_read(int blk_index);
+
u32 efuse_read(int id,int blk_index)
{
return __ddie_efuse_read(blk_index);
#include <asm/io.h>
#include <asm/arch/chip_drv_config_extern.h>
#include <asm/arch/bits.h>
+#include <asm/arch/sci_types.h>
#include <linux/types.h>
+extern void WDG_ClockOn(void);
+extern void WDG_ResetMCU(void);
+extern void WDG_TimerInit(void);
+extern void WDG_TimerStop(void);
+extern void WDG_TimerLoad(uint32 time_ms);
+extern uint32 WDG_PHY_RST_INT_ON(void);
+
void start_watchdog(uint32_t init_time_ms)
{
WDG_ClockOn();
/**---------------------------------------------------------------------------*
** Dependencies *
**---------------------------------------------------------------------------*/
+#include <common.h>
#include <asm/arch/sci_types.h>
#include <asm/arch/sc_reg.h>
#include <asm/arch/os_api.h>
)
{
WDG_CONFIG_T config;
- int32 ret;
WDG_TRACE ("Watch Dog Trace: WDG_TimerStop");
WDG_PHY_INT_CLR();
config.mode = WDG_TIMEOUT_MODE_RESET;
config.val = WDG_MAX_COUNT;
- ret = WDG_PHY_CONFIG (&config);
+ WDG_PHY_CONFIG (&config);
return;
}
)
{
WDG_CONFIG_T config;
- int32 ret;
WDG_TRACE ("Watch Dog Trace: WDG_TimerStart");
config.mode = WDG_TIMEOUT_MODE_RESET;
config.val = init_val;
- ret = WDG_PHY_CONFIG (&config);
+ WDG_PHY_CONFIG (&config);
}
PUBLIC void WDG_TimerInit (void)
{
WDG_CONFIG_T config;
- uint32 status;
- int32 ret;
WDG_TRACE ("Watch Dog Trace: WDG_TimerInit");
config.mode = WDG_TIMEOUT_MODE_RESET;
config.val = WDG_INIT_COUNT;
- ret = WDG_PHY_CONFIG (&config);
+ WDG_PHY_CONFIG (&config);
}
/*****************************************************************************/
PUBLIC void WDG_ResetMCU (void)
{
WDG_CONFIG_T config;
- int32 ret;
WDG_TRACE ("Watch Dog Trace: WDG_ResetMCU");
config.state = WDG_TIMER_STATE_START ;
config.mode = WDG_TIMEOUT_MODE_RESET;
config.val = 0x50;
- ret = WDG_PHY_CONFIG (&config);
+ WDG_PHY_CONFIG (&config);
}
/*****************************************************************************/
PUBLIC void WDG_TimerLoad (uint32 time_ms)
{
WDG_CONFIG_T config;
- int32 ret;
- WDG_TRACE ("Watch Dog Trace: WDG_TimerLoad %d", time_ms);
+ WDG_TRACE ("Watch Dog Trace: WDG_TimerLoad %lu", time_ms);
config.state = WDG_TIMER_STATE_KEEP ;
config.mode = WDG_TIMEOUT_MODE_KEEP ;
config.val = (time_ms * 1000) / 30;
- ret = WDG_PHY_CONFIG (&config);
+ WDG_PHY_CONFIG (&config);
}
PUBLIC uint32 WDG_PHY_RST_INT_ON(void)
uint32 ret = 0;
uint32 val = 0;
val = WDG_PHY_RST_RAW_INT();
- printf("hw watchdog int raw status 0x%x\n", val);
+ printf("hw watchdog int raw status 0x%lx\n", val);
ret = val & WDG_INT_RST_BIT;
WDG_PHY_INT_CLR();
return ret;
/**---------------------------------------------------------------------------*
** Dependencies *
**---------------------------------------------------------------------------*/
+#include <common.h>
#include <asm/arch/os_api.h>
#include <asm/arch/sc_reg.h>
#include <asm/arch/adi_hal_internal.h>
uint32 cnt = 0;\
while((ANA_REG_GET(WDG_INT_RAW) & WDG_LD_BUSY_BIT) && ( cnt < ANA_WDG_LOAD_TIMEOUT_NUM )) cnt++;\
ANA_REG_SET( WDG_LOAD_HIGH, (uint16)(((value) >> 16 ) & 0xffff));\
- ANA_REG_SET( WDG_LOAD_LOW , (uint16)((value) & 0xffff) );\
+ ANA_REG_SET( WDG_LOAD_LOW , (uint16)((value) & 0xffff) );\
}while(0)
#define CLEAR_WDG_INT(msk) \
/*****************************************************************************/
PUBLIC int32 WDG_PHY_CONFIG (WDG_CONFIG_T *cfg)
{
- uint32 ctrl = 0;
- uint32 val = 0;
-
///WDG_TRACE("Watch Dog Trace: Watch Dog Value 0x%8.8x", CHIP_REG_GET(WDG_VALUE));
ANA_REG_SET (WDG_LOCK, WDG_UNLOCK_KEY);
// Author: Jeff.Li
// Note:
/*****************************************************************************/
-PUBLIC void BOOT_ResetHWFlag ();
+PUBLIC void BOOT_ResetHWFlag (void);
/*****************************************************************************/
// Description: Get HW Flag
#include <asm/arch/sprd_module_config.h>
#define GPIO_DBG(fmt...) printf(fmt)
+#ifndef WARN
+#define WARN(nmu, fmt...) printf(fmt)
+#endif
+
+void __raw_bits_and(unsigned int v, unsigned int a);
+void __raw_bits_or(unsigned int v, unsigned int a);
+
enum gpio_section_type {
GPIO_SECTION_GPI = 0x0,
GPIO_SECTION_GPO,