diff options
Diffstat (limited to 'arch/arm/cpu/arm926ejs')
| -rw-r--r-- | arch/arm/cpu/arm926ejs/at91/clock.c | 30 | ||||
| -rw-r--r-- | arch/arm/cpu/arm926ejs/at91/timer.c | 2 | 
2 files changed, 17 insertions, 15 deletions
| diff --git a/arch/arm/cpu/arm926ejs/at91/clock.c b/arch/arm/cpu/arm926ejs/at91/clock.c index dc5c6c4b0..f825388ae 100644 --- a/arch/arm/cpu/arm926ejs/at91/clock.c +++ b/arch/arm/cpu/arm926ejs/at91/clock.c @@ -29,11 +29,11 @@ static unsigned long at91_css_to_rate(unsigned long css)  	case AT91_PMC_MCKR_CSS_SLOW:  		return CONFIG_SYS_AT91_SLOW_CLOCK;  	case AT91_PMC_MCKR_CSS_MAIN: -		return gd->main_clk_rate_hz; +		return gd->arch.main_clk_rate_hz;  	case AT91_PMC_MCKR_CSS_PLLA: -		return gd->plla_rate_hz; +		return gd->arch.plla_rate_hz;  	case AT91_PMC_MCKR_CSS_PLLB: -		return gd->pllb_rate_hz; +		return gd->arch.pllb_rate_hz;  	}  	return 0; @@ -132,10 +132,10 @@ int at91_clock_init(unsigned long main_clock)  		main_clock = tmp * (CONFIG_SYS_AT91_SLOW_CLOCK / 16);  	}  #endif -	gd->main_clk_rate_hz = main_clock; +	gd->arch.main_clk_rate_hz = main_clock;  	/* report if PLLA is more than mildly overclocked */ -	gd->plla_rate_hz = at91_pll_rate(main_clock, readl(&pmc->pllar)); +	gd->arch.plla_rate_hz = at91_pll_rate(main_clock, readl(&pmc->pllar));  #ifdef CONFIG_USB_ATMEL  	/* @@ -144,9 +144,10 @@ int at91_clock_init(unsigned long main_clock)  	 *  	 * REVISIT:  assumes MCK doesn't derive from PLLB!  	 */ -	gd->at91_pllb_usb_init = at91_pll_calc(main_clock, 48000000 * 2) | +	gd->arch.at91_pllb_usb_init = at91_pll_calc(main_clock, 48000000 * 2) |  			     AT91_PMC_PLLBR_USBDIV_2; -	gd->pllb_rate_hz = at91_pll_rate(main_clock, gd->at91_pllb_usb_init); +	gd->arch.pllb_rate_hz = at91_pll_rate(main_clock, +					      gd->arch.at91_pllb_usb_init);  #endif  	/* @@ -157,15 +158,15 @@ int at91_clock_init(unsigned long main_clock)  #if defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) \  		|| defined(CONFIG_AT91SAM9X5)  	/* plla divisor by 2 */ -	gd->plla_rate_hz /= (1 << ((mckr & 1 << 12) >> 12)); +	gd->arch.plla_rate_hz /= (1 << ((mckr & 1 << 12) >> 12));  #endif -	gd->mck_rate_hz = at91_css_to_rate(mckr & AT91_PMC_MCKR_CSS_MASK); -	freq = gd->mck_rate_hz; +	gd->arch.mck_rate_hz = at91_css_to_rate(mckr & AT91_PMC_MCKR_CSS_MASK); +	freq = gd->arch.mck_rate_hz;  	freq /= (1 << ((mckr & AT91_PMC_MCKR_PRES_MASK) >> 2));	/* prescale */  #if defined(CONFIG_AT91SAM9G20)  	/* mdiv ; (x >> 7) = ((x >> 8) * 2) */ -	gd->mck_rate_hz = (mckr & AT91_PMC_MCKR_MDIV_MASK) ? +	gd->arch.mck_rate_hz = (mckr & AT91_PMC_MCKR_MDIV_MASK) ?  		freq / ((mckr & AT91_PMC_MCKR_MDIV_MASK) >> 7) : freq;  	if (mckr & AT91_PMC_MCKR_MDIV_MASK)  		freq /= 2;			/* processor clock division */ @@ -177,14 +178,15 @@ int at91_clock_init(unsigned long main_clock)  	 *  2   <==>   4  	 *  3   <==>   3  	 */ -	gd->mck_rate_hz = (mckr & AT91_PMC_MCKR_MDIV_MASK) == +	gd->arch.mck_rate_hz = (mckr & AT91_PMC_MCKR_MDIV_MASK) ==  		(AT91_PMC_MCKR_MDIV_2 | AT91_PMC_MCKR_MDIV_4)  		? freq / 3  		: freq / (1 << ((mckr & AT91_PMC_MCKR_MDIV_MASK) >> 8));  #else -	gd->mck_rate_hz = freq / (1 << ((mckr & AT91_PMC_MCKR_MDIV_MASK) >> 8)); +	gd->arch.mck_rate_hz = freq / +			(1 << ((mckr & AT91_PMC_MCKR_MDIV_MASK) >> 8));  #endif -	gd->cpu_clk_rate_hz = freq; +	gd->arch.cpu_clk_rate_hz = freq;  	return 0;  } diff --git a/arch/arm/cpu/arm926ejs/at91/timer.c b/arch/arm/cpu/arm926ejs/at91/timer.c index f70ce83f0..641ae3ef9 100644 --- a/arch/arm/cpu/arm926ejs/at91/timer.c +++ b/arch/arm/cpu/arm926ejs/at91/timer.c @@ -79,7 +79,7 @@ int timer_init(void)  	/* Enable PITC */  	writel(TIMER_LOAD_VAL | AT91_PIT_MR_EN , &pit->mr); -	gd->timer_rate_hz = gd->mck_rate_hz / 16; +	gd->timer_rate_hz = gd->arch.mck_rate_hz / 16;  	gd->tbu = gd->tbl = 0;  	return 0; |