Lines Matching refs:pc

207 	int (*set_rate)(struct __prci_clock *pc,
210 unsigned long (*round_rate)(struct __prci_clock *pc,
213 unsigned long (*recalc_rate)(struct __prci_clock *pc,
215 int (*enable_clk)(struct __prci_clock *pc, bool enable);
435 struct __prci_clock *pc, in sifive_fu540_prci_wrpll_recalc_rate() argument
438 struct __prci_wrpll_data *pwd = pc->pwd; in sifive_fu540_prci_wrpll_recalc_rate()
444 struct __prci_clock *pc, in sifive_fu540_prci_wrpll_round_rate() argument
448 struct __prci_wrpll_data *pwd = pc->pwd; in sifive_fu540_prci_wrpll_round_rate()
458 static int sifive_fu540_prci_wrpll_set_rate(struct __prci_clock *pc, in sifive_fu540_prci_wrpll_set_rate() argument
462 struct __prci_wrpll_data *pwd = pc->pwd; in sifive_fu540_prci_wrpll_set_rate()
463 struct __prci_data *pd = pc->pd; in sifive_fu540_prci_wrpll_set_rate()
483 static int sifive_fu540_prci_clock_enable(struct __prci_clock *pc, bool enable) in sifive_fu540_prci_clock_enable() argument
485 struct __prci_wrpll_data *pwd = pc->pwd; in sifive_fu540_prci_clock_enable()
486 struct __prci_data *pd = pc->pd; in sifive_fu540_prci_clock_enable()
515 struct __prci_clock *pc, in sifive_fu540_prci_tlclksel_recalc_rate() argument
518 struct __prci_data *pd = pc->pd; in sifive_fu540_prci_tlclksel_recalc_rate()
669 static ulong sifive_fu540_prci_parent_rate(struct __prci_clock *pc) in sifive_fu540_prci_parent_rate() argument
674 if (strcmp(pc->parent_name, "corepll") == 0) { in sifive_fu540_prci_parent_rate()
682 if (strcmp(pc->parent_name, "rtcclk") == 0) in sifive_fu540_prci_parent_rate()
683 parent_rate = clk_get_rate(&pc->pd->parent_rtcclk); in sifive_fu540_prci_parent_rate()
685 parent_rate = clk_get_rate(&pc->pd->parent_hfclk); in sifive_fu540_prci_parent_rate()
692 struct __prci_clock *pc; in sifive_fu540_prci_get_rate() local
697 pc = &__prci_init_clocks[clk->id]; in sifive_fu540_prci_get_rate()
698 if (!pc->pd || !pc->ops->recalc_rate) in sifive_fu540_prci_get_rate()
701 return pc->ops->recalc_rate(pc, sifive_fu540_prci_parent_rate(pc)); in sifive_fu540_prci_get_rate()
707 struct __prci_clock *pc; in sifive_fu540_prci_set_rate() local
712 pc = &__prci_init_clocks[clk->id]; in sifive_fu540_prci_set_rate()
713 if (!pc->pd || !pc->ops->set_rate) in sifive_fu540_prci_set_rate()
716 err = pc->ops->set_rate(pc, rate, sifive_fu540_prci_parent_rate(pc)); in sifive_fu540_prci_set_rate()
725 struct __prci_clock *pc; in sifive_fu540_prci_enable() local
731 pc = &__prci_init_clocks[clk->id]; in sifive_fu540_prci_enable()
732 if (!pc->pd) in sifive_fu540_prci_enable()
735 if (pc->ops->enable_clk) in sifive_fu540_prci_enable()
736 ret = pc->ops->enable_clk(pc, 1); in sifive_fu540_prci_enable()
743 struct __prci_clock *pc; in sifive_fu540_prci_disable() local
749 pc = &__prci_init_clocks[clk->id]; in sifive_fu540_prci_disable()
750 if (!pc->pd) in sifive_fu540_prci_disable()
753 if (pc->ops->enable_clk) in sifive_fu540_prci_disable()
754 ret = pc->ops->enable_clk(pc, 0); in sifive_fu540_prci_disable()
762 struct __prci_clock *pc; in sifive_fu540_prci_probe() local
778 pc = &__prci_init_clocks[i]; in sifive_fu540_prci_probe()
779 pc->pd = pd; in sifive_fu540_prci_probe()
780 if (pc->pwd) in sifive_fu540_prci_probe()
781 __prci_wrpll_read_cfg0(pd, pc->pwd); in sifive_fu540_prci_probe()