Lines Matching full:ttc
87 struct ttc_timer ttc; member
95 struct ttc_timer ttc; member
142 struct ttc_timer *timer = &ttce->ttc; in ttc_clock_event_interrupt()
159 struct ttc_timer *timer = &to_ttc_timer_clksrc(cs)->ttc; in __ttc_clocksource_read()
182 struct ttc_timer *timer = &ttce->ttc; in ttc_set_next_event()
196 struct ttc_timer *timer = &ttce->ttc; in ttc_shutdown()
208 struct ttc_timer *timer = &ttce->ttc; in ttc_set_periodic()
211 DIV_ROUND_CLOSEST(ttce->ttc.freq, PRESCALE * HZ)); in ttc_set_periodic()
218 struct ttc_timer *timer = &ttce->ttc; in ttc_resume()
231 struct ttc_timer *ttc = to_ttc_timer(nb); in ttc_rate_change_clocksource_cb() local
232 struct ttc_timer_clocksource *ttccs = container_of(ttc, in ttc_rate_change_clocksource_cb()
233 struct ttc_timer_clocksource, ttc); in ttc_rate_change_clocksource_cb()
266 readl_relaxed(ttccs->ttc.base_addr + in ttc_rate_change_clocksource_cb()
292 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
302 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
312 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
331 ttccs->ttc.clk = clk; in ttc_setup_clocksource()
333 err = clk_prepare_enable(ttccs->ttc.clk); in ttc_setup_clocksource()
339 ttccs->ttc.freq = clk_get_rate(ttccs->ttc.clk); in ttc_setup_clocksource()
341 ttccs->ttc.clk_rate_change_nb.notifier_call = in ttc_setup_clocksource()
343 ttccs->ttc.clk_rate_change_nb.next = NULL; in ttc_setup_clocksource()
345 err = clk_notifier_register(ttccs->ttc.clk, in ttc_setup_clocksource()
346 &ttccs->ttc.clk_rate_change_nb); in ttc_setup_clocksource()
350 ttccs->ttc.base_addr = base; in ttc_setup_clocksource()
362 writel_relaxed(0x0, ttccs->ttc.base_addr + TTC_IER_OFFSET); in ttc_setup_clocksource()
364 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_setup_clocksource()
366 ttccs->ttc.base_addr + TTC_CNT_CNTRL_OFFSET); in ttc_setup_clocksource()
368 err = clocksource_register_hz(&ttccs->cs, ttccs->ttc.freq / PRESCALE); in ttc_setup_clocksource()
376 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()
420 ttcce->ttc.clk_rate_change_nb.notifier_call = in ttc_setup_clockevent()
422 ttcce->ttc.clk_rate_change_nb.next = NULL; in ttc_setup_clockevent()
424 err = clk_notifier_register(ttcce->ttc.clk, in ttc_setup_clockevent()
425 &ttcce->ttc.clk_rate_change_nb); in ttc_setup_clockevent()
431 ttcce->ttc.freq = clk_get_rate(ttcce->ttc.clk); in ttc_setup_clockevent()
433 ttcce->ttc.base_addr = base; in ttc_setup_clockevent()
450 writel_relaxed(0x23, ttcce->ttc.base_addr + TTC_CNT_CNTRL_OFFSET); in ttc_setup_clockevent()
452 ttcce->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_setup_clockevent()
453 writel_relaxed(0x1, ttcce->ttc.base_addr + TTC_IER_OFFSET); in ttc_setup_clockevent()
461 ttcce->ttc.freq / PRESCALE, 1, 0xfffe); in ttc_setup_clockevent()
486 * Get the 1st Triple Timer Counter (TTC) block from the device tree in ttc_timer_probe()
488 * 2nd TTC hence the irq_of_parse_and_map(,1) in ttc_timer_probe()
541 {.compatible = "cdns,ttc"},