summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Karlman <[email protected]>2025-04-06 00:24:22 +0000
committerKever Yang <[email protected]>2025-04-23 22:12:02 +0800
commit1fd1ec57739f54baf4d8f2266f1d73ac8d86d34d (patch)
treed80c0d0d16fdf4fadfa65e8667c7ca4e4f0b77a2
parent8a20f1f09f1cd069c8f27282cb4a96600a0a708b (diff)
rockchip: rk3588: Use hptimer reg names in rockchip_stimer_init
Define constants for hptimer reg names and use them instead of magic numbers in rockchip_stimer_init(). Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
-rw-r--r--arch/arm/mach-rockchip/rk3588/rk3588.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c
index c1dce3ee370..e2278ff792b 100644
--- a/arch/arm/mach-rockchip/rk3588/rk3588.c
+++ b/arch/arm/mach-rockchip/rk3588/rk3588.c
@@ -116,18 +116,25 @@ void board_debug_uart_init(void)
}
#ifdef CONFIG_XPL_BUILD
+
+#define HP_TIMER_BASE CONFIG_ROCKCHIP_STIMER_BASE
+#define HP_CTRL_REG 0x04
+#define TIMER_EN BIT(0)
+#define HP_LOAD_COUNT0_REG 0x14
+#define HP_LOAD_COUNT1_REG 0x18
+
void rockchip_stimer_init(void)
{
/* If Timer already enabled, don't re-init it */
- u32 reg = readl(CONFIG_ROCKCHIP_STIMER_BASE + 0x4);
+ u32 reg = readl(HP_TIMER_BASE + HP_CTRL_REG);
- if (reg & 0x1)
+ if (reg & TIMER_EN)
return;
- asm volatile("msr CNTFRQ_EL0, %0" : : "r" (CONFIG_COUNTER_FREQUENCY));
- writel(0xffffffff, CONFIG_ROCKCHIP_STIMER_BASE + 0x14);
- writel(0xffffffff, CONFIG_ROCKCHIP_STIMER_BASE + 0x18);
- writel(0x1, CONFIG_ROCKCHIP_STIMER_BASE + 0x4);
+ asm volatile("msr cntfrq_el0, %0" : : "r" (CONFIG_COUNTER_FREQUENCY));
+ writel(0xffffffff, HP_TIMER_BASE + HP_LOAD_COUNT0_REG);
+ writel(0xffffffff, HP_TIMER_BASE + HP_LOAD_COUNT1_REG);
+ writel(TIMER_EN, HP_TIMER_BASE + HP_CTRL_REG);
}
#endif