Lines Matching full:pclk

53  * @pclk: PIT64B's peripheral clock
59 struct clk *pclk; member
166 clk_disable_unprepare(timer->pclk); in mchp_pit64b_clkevt_suspend()
173 clk_prepare_enable(timer->pclk); in mchp_pit64b_clkevt_resume()
210 * PIT64B timer may be fed by gclk or pclk. When gclk is used its rate has to
211 * be at least 3 times lower that pclk's rate. pclk rate is fixed, gclk rate
212 * could be changed via clock APIs. The chosen clock (pclk or gclk) could be
217 * requested rate. If PCLK/GCLK < 3 (condition requested by PIT64B hardware)
218 * then the function falls back on using PCLK as clock source for PIT64B timer
229 * | |-->pclk -->|-->| | +---------+ +-----+ |
236 * - gclk rate <= pclk rate/3
238 * - pclk rate is fixed (cannot be requested from PMC)
247 pclk_rate = clk_get_rate(timer->pclk); in mchp_pit64b_init_mode()
256 goto pclk; in mchp_pit64b_init_mode()
259 goto pclk; in mchp_pit64b_init_mode()
271 pclk: in mchp_pit64b_init_mode()
272 /* Check if requested rate could be obtained using PCLK. */ in mchp_pit64b_init_mode()
277 /* Use PCLK. */ in mchp_pit64b_init_mode()
289 timer->mode & MCHP_PIT64B_MR_SGCLK ? "gclk" : "pclk", best_pres, in mchp_pit64b_init_mode()
335 ce->timer.pclk = timer->pclk; in mchp_pit64b_init_clkevt()
372 timer.pclk = of_clk_get_by_name(node, "pclk"); in mchp_pit64b_dt_init_timer()
373 if (IS_ERR(timer.pclk)) in mchp_pit64b_dt_init_timer()
374 return PTR_ERR(timer.pclk); in mchp_pit64b_dt_init_timer()
397 ret = clk_prepare_enable(timer.pclk); in mchp_pit64b_dt_init_timer()
408 clk_rate = clk_get_rate(timer.pclk); in mchp_pit64b_dt_init_timer()
426 clk_disable_unprepare(timer.pclk); in mchp_pit64b_dt_init_timer()