Lines Matching full:gclk

54  * @gclk: PIT64B's generic clock
60 struct clk *gclk; member
139 clk_disable_unprepare(timer->gclk); in mchp_pit64b_suspend()
147 clk_prepare_enable(timer->gclk); in mchp_pit64b_resume()
261 * PIT64B timer may be fed by gclk or pclk. When gclk is used its rate has to
262 * be at least 3 times lower that pclk's rate. pclk rate is fixed, gclk rate
263 * could be changed via clock APIs. The chosen clock (pclk or gclk) could be
266 * This function, first tries to use GCLK by requesting the desired rate from
268 * requested rate. If PCLK/GCLK < 3 (condition requested by PIT64B hardware)
278 * | |-->gclk -->|-->| | +---------+ +-----+ |
287 * - gclk rate <= pclk rate/3
288 * - gclk rate could be requested from PMC
304 /* Try using GCLK. */ in mchp_pit64b_init_mode()
305 gclk_round = clk_round_rate(timer->gclk, max_rate); in mchp_pit64b_init_mode()
318 clk_set_rate(timer->gclk, gclk_round); in mchp_pit64b_init_mode()
331 /* Use GCLK. */ in mchp_pit64b_init_mode()
333 clk_set_rate(timer->gclk, gclk_round); in mchp_pit64b_init_mode()
340 timer->mode & MCHP_PIT64B_MR_SGCLK ? "gclk" : "pclk", best_pres, in mchp_pit64b_init_mode()
364 cs->timer.gclk = timer->gclk; in mchp_pit64b_init_clksrc()
408 ce->timer.gclk = timer->gclk; in mchp_pit64b_init_clkevt()
446 timer.gclk = of_clk_get_by_name(node, "gclk"); in mchp_pit64b_dt_init_timer()
447 if (IS_ERR(timer.gclk)) in mchp_pit64b_dt_init_timer()
448 return PTR_ERR(timer.gclk); in mchp_pit64b_dt_init_timer()
468 clk_rate = clk_get_rate(timer.gclk); in mchp_pit64b_dt_init_timer()