Lines Matching +full:arm11mp +full:- +full:twd +full:- +full:timer
1 // SPDX-License-Identifier: GPL-2.0-only
45 /* period set, and timer enabled in 'next_event' hook */ in twd_set_oneshot()
77 * local_timer_ack: checks for a local timer interrupt.
79 * If a local timer interrupt has occurred, acknowledge and return 1.
96 disable_percpu_irq(clk->irq); in twd_timer_stop()
116 * The twd clock events must be reprogrammed to account for the new in twd_rate_change()
117 * frequency. The timer is local to a cpu, so cross-call to the in twd_rate_change()
122 (void *)&cnd->new_rate, 1); in twd_rate_change()
147 * the timer ticks in twd_calibrate_rate()
150 pr_info("Calibrating local timer... "); in twd_calibrate_rate()
158 /* OK, now the tick has started, let's get the timer going */ in twd_calibrate_rate()
172 twd_timer_rate = (0xFFFFFFFFU - count) * (HZ / 5); in twd_calibrate_rate()
184 evt->event_handler(evt); in twd_handler()
230 enable_percpu_irq(clk->irq, 0); in twd_timer_setup()
243 clk->name = "local_timer"; in twd_timer_setup()
244 clk->features = twd_features; in twd_timer_setup()
245 clk->rating = 350; in twd_timer_setup()
246 clk->set_state_shutdown = twd_shutdown; in twd_timer_setup()
247 clk->set_state_periodic = twd_set_periodic; in twd_timer_setup()
248 clk->set_state_oneshot = twd_set_oneshot; in twd_timer_setup()
249 clk->tick_resume = twd_shutdown; in twd_timer_setup()
250 clk->set_next_event = twd_set_next_event; in twd_timer_setup()
251 clk->irq = twd_ppi; in twd_timer_setup()
252 clk->cpumask = cpumask_of(cpu); in twd_timer_setup()
256 enable_percpu_irq(clk->irq, 0); in twd_timer_setup()
277 err = -ENOMEM; in twd_local_timer_common_register()
281 err = request_percpu_irq(twd_ppi, twd_handler, "twd", twd_evt); in twd_local_timer_common_register()
283 pr_err("twd: can't register interrupt %d (%d)\n", twd_ppi, err); in twd_local_timer_common_register()
288 "arm/timer/twd:starting", in twd_local_timer_common_register()
292 if (!of_property_read_bool(np, "always-on")) in twd_local_timer_common_register()
296 * Immediately configure the timer on the boot CPU, unless we need in twd_local_timer_common_register()
298 * setup the timer in late_time_init. in twd_local_timer_common_register()
321 err = -EINVAL; in twd_local_timer_of_register()
327 err = -ENOMEM; in twd_local_timer_of_register()
337 TIMER_OF_DECLARE(arm_twd_a9, "arm,cortex-a9-twd-timer", twd_local_timer_of_register);
338 TIMER_OF_DECLARE(arm_twd_a5, "arm,cortex-a5-twd-timer", twd_local_timer_of_register);
339 TIMER_OF_DECLARE(arm_twd_11mp, "arm,arm11mp-twd-timer", twd_local_timer_of_register);