diff options
Diffstat (limited to 'board/mbx8xx/mbx8xx.c')
| -rw-r--r-- | board/mbx8xx/mbx8xx.c | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/board/mbx8xx/mbx8xx.c b/board/mbx8xx/mbx8xx.c index 255796bd1..0f014e1ad 100644 --- a/board/mbx8xx/mbx8xx.c +++ b/board/mbx8xx/mbx8xx.c @@ -117,14 +117,16 @@ static const uint sdram_table_50[] = {  /* ------------------------------------------------------------------------- */ +#ifdef CONFIG_SYS_USE_OSCCLK  static unsigned int get_reffreq(void); +#endif  static unsigned int board_get_cpufreq(void);  void mbx_init (void)  {  	volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;  	volatile memctl8xx_t *memctl = &immr->im_memctl; -	ulong speed, refclock, plprcr, sccr; +	ulong speed, plprcr, sccr;  	ulong br0_32 = memctl->memc_br0 & 0x400;  	/* real-time clock status and control register */ @@ -152,7 +154,6 @@ void mbx_init (void)  	immr->im_clkrst.car_sccr = sccr;  	speed = board_get_cpufreq (); -	refclock = get_reffreq ();  #if ((CONFIG_SYS_PLPRCR & PLPRCR_MF_MSK) != 0)  	plprcr = CONFIG_SYS_PLPRCR; @@ -163,7 +164,7 @@ void mbx_init (void)  #endif  #ifdef CONFIG_SYS_USE_OSCCLK			/* See doc/README.MBX ! */ -	plprcr |= ((speed + refclock / 2) / refclock - 1) << 20; +	plprcr |= ((speed + get_reffreq() / 2) / refclock - 1) << 20;  #endif  	immr->im_clkrstk.cark_plprcrk = KAPWR_KEY; @@ -226,21 +227,27 @@ static unsigned int board_get_cpufreq (void)  {  #ifndef CONFIG_8xx_GCLK_FREQ  	vpd_packet_t *packet; +	ulong *p;  	packet = vpd_find_packet (VPD_PID_ICS); -	return *((ulong *) packet->data); +	p = (ulong *)packet->data; +	return *p;  #else  	return((unsigned int)CONFIG_8xx_GCLK_FREQ );  #endif /* CONFIG_8xx_GCLK_FREQ */  } +#ifdef CONFIG_SYS_USE_OSCCLK  static unsigned int get_reffreq (void)  {  	vpd_packet_t *packet; +	ulong *p;  	packet = vpd_find_packet (VPD_PID_RCS); -	return *((ulong *) packet->data); +	p = (ulong *)packet->data; +	return *p;  } +#endif  static void board_get_enetaddr(uchar *addr)  { |