• Home
  • Raw
  • Download

Lines Matching refs:ttccs

229 	struct ttc_timer_clocksource *ttccs = container_of(ttc,  in ttc_rate_change_clocksource_cb()  local
262 ttccs->scale_clk_ctrl_reg_old = in ttc_rate_change_clocksource_cb()
263 readl_relaxed(ttccs->ttc.base_addr + in ttc_rate_change_clocksource_cb()
266 psv = (ttccs->scale_clk_ctrl_reg_old & in ttc_rate_change_clocksource_cb()
278 ttccs->scale_clk_ctrl_reg_new = ttccs->scale_clk_ctrl_reg_old & in ttc_rate_change_clocksource_cb()
280 ttccs->scale_clk_ctrl_reg_new |= psv << TTC_CLK_CNTRL_PSV_SHIFT; in ttc_rate_change_clocksource_cb()
288 writel_relaxed(ttccs->scale_clk_ctrl_reg_new, in ttc_rate_change_clocksource_cb()
289 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
298 writel_relaxed(ttccs->scale_clk_ctrl_reg_new, in ttc_rate_change_clocksource_cb()
299 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
308 writel_relaxed(ttccs->scale_clk_ctrl_reg_old, in ttc_rate_change_clocksource_cb()
309 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_rate_change_clocksource_cb()
321 struct ttc_timer_clocksource *ttccs; in ttc_setup_clocksource() local
324 ttccs = kzalloc(sizeof(*ttccs), GFP_KERNEL); in ttc_setup_clocksource()
325 if (!ttccs) in ttc_setup_clocksource()
328 ttccs->ttc.clk = clk; in ttc_setup_clocksource()
330 err = clk_prepare_enable(ttccs->ttc.clk); in ttc_setup_clocksource()
332 kfree(ttccs); in ttc_setup_clocksource()
336 ttccs->ttc.freq = clk_get_rate(ttccs->ttc.clk); in ttc_setup_clocksource()
338 ttccs->ttc.clk_rate_change_nb.notifier_call = in ttc_setup_clocksource()
340 ttccs->ttc.clk_rate_change_nb.next = NULL; in ttc_setup_clocksource()
342 err = clk_notifier_register(ttccs->ttc.clk, in ttc_setup_clocksource()
343 &ttccs->ttc.clk_rate_change_nb); in ttc_setup_clocksource()
347 ttccs->ttc.base_addr = base; in ttc_setup_clocksource()
348 ttccs->cs.name = "ttc_clocksource"; in ttc_setup_clocksource()
349 ttccs->cs.rating = 200; in ttc_setup_clocksource()
350 ttccs->cs.read = __ttc_clocksource_read; in ttc_setup_clocksource()
351 ttccs->cs.mask = CLOCKSOURCE_MASK(timer_width); in ttc_setup_clocksource()
352 ttccs->cs.flags = CLOCK_SOURCE_IS_CONTINUOUS; in ttc_setup_clocksource()
359 writel_relaxed(0x0, ttccs->ttc.base_addr + TTC_IER_OFFSET); in ttc_setup_clocksource()
361 ttccs->ttc.base_addr + TTC_CLK_CNTRL_OFFSET); in ttc_setup_clocksource()
363 ttccs->ttc.base_addr + TTC_CNT_CNTRL_OFFSET); in ttc_setup_clocksource()
365 err = clocksource_register_hz(&ttccs->cs, ttccs->ttc.freq / PRESCALE); in ttc_setup_clocksource()
367 kfree(ttccs); in ttc_setup_clocksource()
373 ttccs->ttc.freq / PRESCALE); in ttc_setup_clocksource()