[PATCH 1/6] board: ti: am62x: Add basic initialization for 32k crystal
Vishal Mahaveer
vishalm at ti.com
Wed Dec 10 16:48:39 CET 2025
Do the basic configuration required for enabling the 32k crystal. If
external 32k source is not used, 32k rc-osc comes into play, which is
accurate to +-20%.
Signed-off-by: Vishal Mahaveer <vishalm at ti.com>
---
board/ti/am62x/evm.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c
index e9eba57eba7..7a820cc8c07 100644
--- a/board/ti/am62x/evm.c
+++ b/board/ti/am62x/evm.c
@@ -137,13 +137,26 @@ int board_late_init(void)
#endif
#if defined(CONFIG_XPL_BUILD)
+#if IS_ENABLED(CONFIG_SPL_BOARD_INIT)
void spl_board_init(void)
{
+ u32 val;
+
+ /* We have 32k crystal, so lets enable it */
+ val = readl(MCU_CTRL_LFXOSC_CTRL);
+ val &= ~(MCU_CTRL_LFXOSC_32K_DISABLE_VAL);
+ writel(val, MCU_CTRL_LFXOSC_CTRL);
+ /* Add any TRIM needed for the crystal here.. */
+ /* Make sure to mux up to take the SoC 32k from the crystal */
+ writel(MCU_CTRL_DEVICE_CLKOUT_LFOSC_SELECT_VAL,
+ MCU_CTRL_DEVICE_CLKOUT_32K_CTRL);
+
enable_caches();
if (IS_ENABLED(CONFIG_SPL_SPLASH_SCREEN) && IS_ENABLED(CONFIG_SPL_BMP))
splash_display();
}
+#endif
void spl_perform_board_fixups(struct spl_image_info *spl_image)
{
--
2.34.1
More information about the U-Boot
mailing list