From: Raymond Mao <[email protected]>

Enable CONFIG_TIMER_EARLY to allow udelay() calls during
early initialization phases. This is required for proper
timing operations before the full timer driver is available.

Signed-off-by: Raymond Mao <[email protected]>
Signed-off-by: Guodong Xu <[email protected]>

---
v4:
- SPL_RISCV_MMODE (not SMODE); disable SPL SMP.
- Add RISCV_MMODE_TIMERBASE/_TIMEROFF.
- Enable SPL_REGMAP/SPL_SYSCON.
---
 configs/spacemit_k1_defconfig | 6 +++++-
 include/configs/k1.h          | 5 +++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/configs/spacemit_k1_defconfig b/configs/spacemit_k1_defconfig
index 29050ece278..fd0d228992a 100644
--- a/configs/spacemit_k1_defconfig
+++ b/configs/spacemit_k1_defconfig
@@ -17,9 +17,10 @@ CONFIG_DEBUG_UART_CLOCK=14700000
 CONFIG_TARGET_SPACEMIT_K1=y
 CONFIG_ARCH_RV64I=y
 CONFIG_RISCV_SMODE=y
+CONFIG_SPL_RISCV_MMODE=y
+# CONFIG_SPL_SMP is not set
 CONFIG_STACK_SIZE=0x100000
 CONFIG_FIT=y
-CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CBSIZE=256
@@ -31,6 +32,8 @@ CONFIG_SPL_HAVE_INIT_STACK=y
 CONFIG_HUSH_PARSER=y
 CONFIG_OF_UPSTREAM=y
 CONFIG_ENV_OVERWRITE=y
+CONFIG_SPL_REGMAP=y
+CONFIG_SPL_SYSCON=y
 CONFIG_CLK_SPACEMIT=y
 CONFIG_CLK_SPACEMIT_K1=y
 CONFIG_PINCTRL=y
@@ -40,3 +43,4 @@ CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_SYS_NS16550=y
 CONFIG_SYS_NS16550_MEM32=y
+CONFIG_TIMER_EARLY=y
diff --git a/include/configs/k1.h b/include/configs/k1.h
index 15a40f2128f..e09c3594905 100644
--- a/include/configs/k1.h
+++ b/include/configs/k1.h
@@ -12,4 +12,9 @@
 #define CFG_SYS_NS16550_IER        0x40 /* UART Unit Enable */
 #define CFG_SYS_SDRAM_BASE         0x0
 
+#define RISCV_MMODE_TIMERBASE      0xe4000000
+#define RISCV_MMODE_TIMEROFF       0xbff8
+#define RISCV_MMODE_TIMER_FREQ     24000000
+#define RISCV_SMODE_TIMER_FREQ     24000000
+
 #endif /* __CONFIG_H */

-- 
2.43.0

Reply via email to