Lines Matching refs:ttc

91 	struct ttc_timer	ttc;  member
99 struct ttc_timer ttc; member
146 struct ttc_timer *timer = &ttce->ttc; in ttc_clock_event_interrupt()
163 struct ttc_timer *timer = &to_ttc_timer_clksrc(cs)->ttc; in __ttc_clocksource_read()
186 struct ttc_timer *timer = &ttce->ttc; in ttc_set_next_event()
200 struct ttc_timer *timer = &ttce->ttc; in ttc_shutdown()
212 struct ttc_timer *timer = &ttce->ttc; in ttc_set_periodic()
215 DIV_ROUND_CLOSEST(ttce->ttc.freq, PRESCALE * HZ)); in ttc_set_periodic()
222 struct ttc_timer *timer = &ttce->ttc; in ttc_resume()
235 struct ttc_timer *ttc = to_ttc_timer(nb); in ttc_rate_change_clocksource_cb() local
236 struct ttc_timer_clocksource *ttccs = container_of(ttc, in ttc_rate_change_clocksource_cb()
237 struct ttc_timer_clocksource, ttc); in ttc_rate_change_clocksource_cb()
270 readl_relaxed(ttccs->ttc.base_addr + in ttc_rate_change_clocksource_cb()
296 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
306 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
316 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
335 ttccs->ttc.clk = clk; in ttc_setup_clocksource()
337 err = clk_prepare_enable(ttccs->ttc.clk); in ttc_setup_clocksource()
343 ttccs->ttc.freq = clk_get_rate(ttccs->ttc.clk); in ttc_setup_clocksource()
345 ttccs->ttc.clk_rate_change_nb.notifier_call = in ttc_setup_clocksource()
347 ttccs->ttc.clk_rate_change_nb.next = NULL; in ttc_setup_clocksource()
348 if (clk_notifier_register(ttccs->ttc.clk, in ttc_setup_clocksource()
349 &ttccs->ttc.clk_rate_change_nb)) in ttc_setup_clocksource()
352 ttccs->ttc.base_addr = base; in ttc_setup_clocksource()
364 writel_relaxed(0x0, ttccs->ttc.base_addr + TTC_IER_OFFSET); in ttc_setup_clocksource()
366 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_setup_clocksource()
368 ttccs->ttc.base_addr + TTC_CNT_CNTRL_OFFSET); in ttc_setup_clocksource()
370 err = clocksource_register_hz(&ttccs->cs, ttccs->ttc.freq / PRESCALE); in ttc_setup_clocksource()
378 ttccs->ttc.freq / PRESCALE); in ttc_setup_clocksource()
385 struct ttc_timer *ttc = to_ttc_timer(nb); in ttc_rate_change_clockevent_cb() local
386 struct ttc_timer_clockevent *ttcce = container_of(ttc, in ttc_rate_change_clockevent_cb()
387 struct ttc_timer_clockevent, ttc); in ttc_rate_change_clockevent_cb()
392 ttc->freq = ndata->new_rate; in ttc_rate_change_clockevent_cb()
414 ttcce->ttc.clk = clk; in ttc_setup_clockevent()
416 err = clk_prepare_enable(ttcce->ttc.clk); in ttc_setup_clockevent()
422 ttcce->ttc.clk_rate_change_nb.notifier_call = in ttc_setup_clockevent()
424 ttcce->ttc.clk_rate_change_nb.next = NULL; in ttc_setup_clockevent()
425 if (clk_notifier_register(ttcce->ttc.clk, in ttc_setup_clockevent()
426 &ttcce->ttc.clk_rate_change_nb)) in ttc_setup_clockevent()
428 ttcce->ttc.freq = clk_get_rate(ttcce->ttc.clk); in ttc_setup_clockevent()
430 ttcce->ttc.base_addr = base; in ttc_setup_clockevent()
447 writel_relaxed(0x23, ttcce->ttc.base_addr + TTC_CNT_CNTRL_OFFSET); in ttc_setup_clockevent()
449 ttcce->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_setup_clockevent()
450 writel_relaxed(0x1, ttcce->ttc.base_addr + TTC_IER_OFFSET); in ttc_setup_clockevent()
460 ttcce->ttc.freq / PRESCALE, 1, 0xfffe); in ttc_setup_clockevent()
524 CLOCKSOURCE_OF_DECLARE(ttc, "cdns,ttc", ttc_timer_init);