Lines Matching full:vco

238  * @vco: reference to the internal VCO clock
240 * @vco_rate: user provided VCO rate
257 struct clk_hw vco; member
326 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_is_enabled()
341 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_prepare()
359 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_unprepare()
373 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_recalc_rate()
409 * lmk04832_check_vco_ranges - Check requested VCO frequency against VCO ranges
412 * @rate: Desired output rate for the VCO
414 * The LMK04832 has 2 internal VCO, each with independent operating ranges.
415 * Use the device_info structure to determine which VCO to use based on rate.
433 dev_err(lmk->dev, "%lu Hz is out of VCO ranges\n", rate); in lmk04832_check_vco_ranges()
438 * lmk04832_calc_pll2_params - Get PLL2 parameters used to set the VCO frequency
441 * @rate: Desired output rate for the VCO
450 * the VCO rate can be calculated using the following expression:
452 * VCO = OSCin * 2 * PLL2_N * PLL2_P / PLL2_R
454 * Returns vco rate or negative errno.
493 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_round_rate()
517 struct lmk04832 *lmk = container_of(hw, struct lmk04832, vco); in lmk04832_vco_set_rate()
558 * programmed to ensure proper VCO frequency calibration in lmk04832_vco_set_rate()
583 * lmk04832_register_vco - Initialize the internal VCO and clock distribution
592 init.name = "lmk-vco"; in lmk04832_register_vco()
630 lmk->vco.init = &init; in lmk04832_register_vco()
631 return devm_clk_hw_register(lmk->dev, &lmk->vco); in lmk04832_register_vco()
768 * distribution path cycles (VCO cycles), then back to 0. In in lmk04832_sclk_sync_sequence()
834 * SYNC pulse to delay the output by some number of VCO counts). in lmk04832_sclk_sync_sequence()
955 parent_names[0] = clk_hw_get_name(&lmk->vco); in lmk04832_register_sclk()
1300 parent_names[0] = clk_hw_get_name(&lmk->vco); in lmk04832_register_clkout()
1430 device_property_read_u32(lmk->dev, "ti,vco-hz", &lmk->vco_rate); in lmk04832_probe()
1504 dev_info(lmk->dev, "setting VCO rate to %u Hz\n", lmk->vco_rate); in lmk04832_probe()
1505 ret = clk_set_rate(lmk->vco.clk, lmk->vco_rate); in lmk04832_probe()
1507 dev_err(lmk->dev, "failed to set VCO rate\n"); in lmk04832_probe()
1539 clk_disable_unprepare(lmk->vco.clk); in lmk04832_probe()