[PATCH 01/11] rockchip: rk3588: Use hptimer reg names in rockchip_stimer_init

Kever Yang kever.yang at rock-chips.com
Tue Apr 8 05:17:55 CEST 2025


On 2025/4/6 08:24, Jonas Karlman wrote:
> Define constants for hptimer reg names and use them instead of magic
> numbers in rockchip_stimer_init().
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/mach-rockchip/rk3588/rk3588.c | 19 +++++++++++++------
>   1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c
> index 6395483f14f1..ac35866e2f87 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
>   


More information about the U-Boot mailing list