Part Number: AM3358
CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC=yCONFIG_DM_RTC=y#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)void rtc32k_enable(void){ struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE; /* * Unlock the RTC's registers. For more details please see the * RTC_SS section of the TRM. In order to unlock we need to * write these specific values (keys) in this order. */ writel(RTC_KICK0R_WE, &rtc->kick0r); writel(RTC_KICK1R_WE, &rtc->kick1r); /* 6: EN_32KCLK */ /* 3: SEL_32KCLK_SRC 0: internal, 1: external */ writel((1 << 3) | (1 << 6), &rtc->osc);}#endifCCCCCCCC<debug_uart>
Previously, on the kernel device tree I had added the following without any changes on the bootloader side:
&rtc {
system-power-controller;
};
The .dtsi had some other RTC configurations that I left untouched.
and on the defconfig I made the following changes: CONFIG_RTC_CLASS=yCONFIG_RTC_DRV_OMAP=y
This simply caused it to uncompress the Linux (past the bootloader stage), and then reset.
What am I missing?