diff options
| author | Heiko Schocher <hs@denx.de> | 2013-11-04 14:05:00 +0100 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-11-11 12:16:30 -0500 | 
| commit | 16678eb40f287067dd8ad5a4e5208fbfe94e0e76 (patch) | |
| tree | ab8b73eade6f2b5afaa29b9db3a2e205d7968049 | |
| parent | eda0ba38a8dfd2572089bd229a027d497c340158 (diff) | |
| download | olio-uboot-2014.01-16678eb40f287067dd8ad5a4e5208fbfe94e0e76.tar.xz olio-uboot-2014.01-16678eb40f287067dd8ad5a4e5208fbfe94e0e76.zip | |
arm, am33x: make RTC32K OSC enable configurable
As
http://www.denx.de/wiki/view/U-Boot/DesignPrinciples#2_Keep_it_Fast
states:
"Initialize devices only when they are needed within U-Boot"
enable the RTC32K OSC only, if CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC is
enabled. Enable this in ti_am335x_common.h, so all boards in mainline
should work as before.
Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
| -rw-r--r-- | README | 3 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/am33xx/board.c | 4 | ||||
| -rw-r--r-- | include/configs/ti_am335x_common.h | 1 | 
3 files changed, 8 insertions, 0 deletions
| @@ -4319,6 +4319,9 @@ Low Level (hardware related) configuration options:  		NOTE : currently only supported on AM335x platforms. +- CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC: +		Enables the RTC32K OSC on AM33xx based plattforms +  Freescale QE/FMAN Firmware Support:  ----------------------------------- diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c index 453effa54..803aa9c54 100644 --- a/arch/arm/cpu/armv7/am33xx/board.c +++ b/arch/arm/cpu/armv7/am33xx/board.c @@ -149,6 +149,7 @@ __weak void am33xx_spl_board_init(void)  	do_setup_dpll(&dpll_mpu_regs, &dpll_mpu_opp100);  } +#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)  static void rtc32k_enable(void)  {  	struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE; @@ -164,6 +165,7 @@ static void rtc32k_enable(void)  	/* Enable the RTC 32K OSC by setting bits 3 and 6. */  	writel((1 << 3) | (1 << 6), &rtc->osc);  } +#endif  static void uart_soft_reset(void)  { @@ -232,8 +234,10 @@ void s_init(void)  #if defined(CONFIG_SPL_BUILD) || defined(CONFIG_NOR_BOOT)  	prcm_init();  	set_mux_conf_regs(); +#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)  	/* Enable RTC32K clock */  	rtc32k_enable(); +#endif  	sdram_init();  #endif  } diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h index 10fe47f4d..0f6fa6254 100644 --- a/include/configs/ti_am335x_common.h +++ b/include/configs/ti_am335x_common.h @@ -18,6 +18,7 @@  #define CONFIG_SYS_CACHELINE_SIZE       64  #define CONFIG_MAX_RAM_BANK_SIZE	(1024 << 20)	/* 1GB */  #define CONFIG_SYS_TIMERBASE		0x48040000	/* Use Timer2 */ +#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC  #include <asm/arch/omap.h> |