Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab5fdfd5 authored by Magnus Damm's avatar Magnus Damm Committed by Simon Horman
Browse files

ARM: shmobile: force enable of r8a7790 arch timer



Implement a SoC-specific timer init function for
r8a7790 that makes sure the architected timer
is started regardless of boot loader setting.

Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Tested-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent c9dff050
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,5 +4,6 @@
void r8a7790_add_standard_devices(void);
void r8a7790_clock_init(void);
void r8a7790_pinmux_init(void);
void r8a7790_timer_init(void);

#endif /* __ASM_R8A7790_H__ */
+13 −1
Original line number Diff line number Diff line
@@ -118,6 +118,18 @@ void __init r8a7790_add_standard_devices(void)
	r8a7790_register_irqc(0);
}

void __init r8a7790_timer_init(void)
{
	void __iomem *cntcr;

	/* make sure arch timer is started by setting bit 0 of CNTCT */
	cntcr = ioremap(0xe6080000, PAGE_SIZE);
	iowrite32(1, cntcr);
	iounmap(cntcr);

	shmobile_timer_init();
}

#ifdef CONFIG_USE_OF
void __init r8a7790_add_standard_devices_dt(void)
{
@@ -132,7 +144,7 @@ static const char *r8a7790_boards_compat_dt[] __initdata = {
DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)")
	.init_irq	= irqchip_init,
	.init_machine	= r8a7790_add_standard_devices_dt,
	.init_time	= shmobile_timer_init,
	.init_time	= r8a7790_timer_init,
	.dt_compat	= r8a7790_boards_compat_dt,
MACHINE_END
#endif /* CONFIG_USE_OF */