clocksource/drivers/imx-gpt: Add support for ARM64
This patch allows building and compile-testing the i.MX GPT driver also for ARM64. The delay_timer is only supported on ARMv7. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
parent
fa83c6f45a
commit
df181e3828
|
@ -567,7 +567,7 @@ config H8300_TPU
|
||||||
|
|
||||||
config CLKSRC_IMX_GPT
|
config CLKSRC_IMX_GPT
|
||||||
bool "Clocksource using i.MX GPT" if COMPILE_TEST
|
bool "Clocksource using i.MX GPT" if COMPILE_TEST
|
||||||
depends on ARM && CLKDEV_LOOKUP
|
depends on (ARM || ARM64) && CLKDEV_LOOKUP
|
||||||
select CLKSRC_MMIO
|
select CLKSRC_MMIO
|
||||||
|
|
||||||
config CLKSRC_IMX_TPM
|
config CLKSRC_IMX_TPM
|
||||||
|
|
|
@ -141,21 +141,25 @@ static u64 notrace mxc_read_sched_clock(void)
|
||||||
return sched_clock_reg ? readl_relaxed(sched_clock_reg) : 0;
|
return sched_clock_reg ? readl_relaxed(sched_clock_reg) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARM)
|
||||||
static struct delay_timer imx_delay_timer;
|
static struct delay_timer imx_delay_timer;
|
||||||
|
|
||||||
static unsigned long imx_read_current_timer(void)
|
static unsigned long imx_read_current_timer(void)
|
||||||
{
|
{
|
||||||
return readl_relaxed(sched_clock_reg);
|
return readl_relaxed(sched_clock_reg);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int __init mxc_clocksource_init(struct imx_timer *imxtm)
|
static int __init mxc_clocksource_init(struct imx_timer *imxtm)
|
||||||
{
|
{
|
||||||
unsigned int c = clk_get_rate(imxtm->clk_per);
|
unsigned int c = clk_get_rate(imxtm->clk_per);
|
||||||
void __iomem *reg = imxtm->base + imxtm->gpt->reg_tcn;
|
void __iomem *reg = imxtm->base + imxtm->gpt->reg_tcn;
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARM)
|
||||||
imx_delay_timer.read_current_timer = &imx_read_current_timer;
|
imx_delay_timer.read_current_timer = &imx_read_current_timer;
|
||||||
imx_delay_timer.freq = c;
|
imx_delay_timer.freq = c;
|
||||||
register_current_timer_delay(&imx_delay_timer);
|
register_current_timer_delay(&imx_delay_timer);
|
||||||
|
#endif
|
||||||
|
|
||||||
sched_clock_reg = reg;
|
sched_clock_reg = reg;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue