This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: Unable to enable RTC on U-Boot

Part Number: AM3358

On the u-boot side, for the defconfig, I added the following:
 
Defconfig:
CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC=y
CONFIG_DM_RTC=y
 
Then, in the board.c, I added the following block:
board.c
#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);
}
#endif
I have an external oscillator of 32.7 kHz, hence I chose to set bit 3. 
 
Finally, in the dts I added:
Device Tree
&rtc {
    system-power-controller;
};
It compiles fine and generates the MLO and the u-boot.img, however, u-boot is stuck here:

CCCCCCCC
<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=y
CONFIG_RTC_DRV_OMAP=y

This simply caused it to uncompress the Linux (past the bootloader stage), and then reset. 

What am I missing?