/* Perform basic hardware initialization at boot. 
This needs to be run from the very beginning. So the init priority has to be 0 (zero). */
static int viper_init(void)
/* Perform basic hardware initialization at boot. 
This needs to be run from the very beginning. So the init priority has to be 0 (zero). */
static int viper_init(void)
{
	uint32_t key;
	uint32_t data;
	key = irq_lock();
	data = sys_read32(LS_ICFG_PMON_LITE_CLK_CTRL);
	data |= PCIE_PMON_LITE_CLK_ENABLE;
	sys_write32(data, LS_ICFG_PMON_LITE_CLK_CTRL);
	data = sys_read32(LS_ICFG_PMON_LITE_SW_RESETN);
	data |= PCIE_PMON_LITE_SW_RESETN;
	sys_write32(data, LS_ICFG_PMON_LITE_SW_RESETN);
	irq_unlock(key);
	return 0;
}