forked from mirrors/linux
		
	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
					
				
					 2 changed files with 5 additions and 1 deletions
				
			
		|  | @ -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 a new issue
	
	 Anson Huang
						Anson Huang