/* * PLLP rate 408Mhz is below the CPU Fmax at Vmin and is safe to * use during suspend and resume. So, switch the CPU clock source * to PLLP and disable DFLL.
*/
err = clk_set_parent(priv->cpu_clk, priv->pllp_clk); if (err < 0) {
dev_err(dev, "failed to reparent to PLLP: %d\n", err); return err;
}
/* * Warmboot code powers up the CPU with PLLP clock source. * Enable DFLL clock and switch CPU clock source back to DFLL.
*/
err = clk_prepare_enable(priv->dfll_clk); if (err < 0) {
dev_err(dev, "failed to enable DFLL clock for CPU: %d\n", err); goto disable_cpufreq;
}
err = clk_set_parent(priv->cpu_clk, priv->dfll_clk); if (err < 0) {
dev_err(dev, "failed to reparent to DFLL clock: %d\n", err); goto disable_dfll;
}
staticint __init tegra_cpufreq_init(void)
{ int ret;
if (!(of_machine_is_compatible("nvidia,tegra114") ||
of_machine_is_compatible("nvidia,tegra124") ||
of_machine_is_compatible("nvidia,tegra210"))) return -ENODEV;
/* * Platform driver+device required for handling EPROBE_DEFER with * the regulator and the DFLL clock
*/
ret = platform_driver_register(&tegra124_cpufreq_platdrv); if (ret) return ret;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.