예제 #1
0
int soc_init(void)
{
	DECLARE_GLOBAL_DATA_PTR;
	bd_t *bd = gd->bd;

	stx7105_clocks();

#ifdef CONFIG_DRIVER_NET_STM_GMAC
#ifdef CONFIG_SYS_STM_GMAC_NOT_EXT_CLK
	stmac_eth_hw_setup (0, 0, 0, 0, 0, 0);
#else
	stmac_eth_hw_setup (0, 0, 0, 0, 1, 0);
#endif
#endif	/* CONFIG_DRIVER_NET_STM_GMAC */

	bd->bi_devid = *STX7105_SYSCONF_DEVICEID_0;

	/*
	 * Make sure the reset period is shorter than WDT time-out,
	 * and that the reset loop-back chain is *not* bypassed.
	 *	SYS_CFG09[29]    = long_reset_mode
	 *	SYS_CFG09[28:27] = cpu_rst_out_bypass(1:0)
	 *	SYS_CFG09[25:0]  = ResetOut_period
	 */
//QQQ	*STX7105_SYSCONF_SYS_CFG09 = (*STX7105_SYSCONF_SYS_CFG09 & 0xF7000000) | 0x000A8C;
	*STX7105_SYSCONF_SYS_CFG09 = (*STX7105_SYSCONF_SYS_CFG09 & 0xF4000000ul) | 0x000A8Cul;

	return 0;
}
int soc_init(void)
{
	DECLARE_GLOBAL_DATA_PTR;
	bd_t *bd = gd->bd;
	unsigned long reg;

	stx7141_clocks();

#ifdef CONFIG_DRIVER_NET_STM_GMAC
	stmac_eth_hw_setup();
#endif	/* CONFIG_DRIVER_NET_STM_GMAC */

	bd->bi_devid = *STX7141_SYSCONF_DEVICEID_0;

	/*
	 * Reset Generation Configuration
	 * Make sure reset period is shorter than WDT time-out,
	 * and that the reset is not bypassed.
	 *
	 *	[28:27] = CPU_RST_OUT_BYPASS[1:0]
	 *	[25:0]  = RESETOUT_PERIOD
	 */
	reg = *STX7141_SYSCONF_SYS_CFG09;
	/* Propagate the reset signal */
	reg = (reg & (~(3ul<<27))) | ((0ul)<<27);
	/* use the default "short" reset time of 100us */
	reg = (reg & (~0x03FFFFFFul)) | 0x00000A8Cul;
	*STX7141_SYSCONF_SYS_CFG09 = reg;

	/*
	 * SH4 Boot Configuration
	 * Unmask the reset signal from the SH4 core.
	 *
	 *	[4:3] = SH4_MASK_RST_OUT[1:0]
	 *
	 * SH4_MASK_RST_OUT[1]: mask rst_out signal from SH4-eCM core
	 * SH4_MASK_RST_OUT[0]: mask rst_out signal from SH4-eSTB core
	 */
	reg = *STX7141_SYSCONF_SYS_CFG08;
#if 1
	/* Unmask the reset signal from the SH4-eSTB core */
	reg = (reg & (~(1ul<<3))) | ((0ul)<<3);
#else
	/* Unmask the reset signal from the SH4-eCM core */
	reg = (reg & (~(1ul<<4))) | ((0ul)<<4);
#endif
	*STX7141_SYSCONF_SYS_CFG08 = reg;

	return 0;
}
extern int soc_init(void)
{
	DECLARE_GLOBAL_DATA_PTR;
	bd_t *bd = gd->bd;

	stx5197_clocks();

	/* obtain the chip cut + device id */
	bd->bi_devid = *STX5197_HD_CONF_MON_CONFIG_MONITOR_H;

#ifdef CONFIG_DRIVER_NETSTMAC
	stmac_eth_hw_setup(0, 1, 0);
#endif	/* CONFIG_DRIVER_NETSTMAC */

	return 0;
}
예제 #4
0
int soc_init(void)
{
	DECLARE_GLOBAL_DATA_PTR;
	bd_t *bd = gd->bd;

	stx7111_clocks();

#ifdef CONFIG_DRIVER_NET_STM_GMAC
	stmac_eth_hw_setup();
#endif	/* CONFIG_DRIVER_NET_STM_GMAC */

	bd->bi_devid = *STX7111_SYSCONF_DEVICEID_0;

	// YWDRIVER_MODI cc 2009/12/17 changed for reboot command begin 
	// *STX7111_SYSCONF_SYS_CFG09 = (*STX7111_SYSCONF_SYS_CFG09 & 0xFF000000) | 0x000A8C; 
	*STX7111_SYSCONF_SYS_CFG09 = 0x10000A8C; 
	// YWDRIVER_MODI cc 2009/12/17 changed for reboot command end 

	return 0;
}