clk: tegra: Model oscillator as clock
authorThierry Reding <treding@nvidia.com>
Thu, 26 Mar 2015 16:43:56 +0000 (17:43 +0100)
committerThierry Reding <treding@nvidia.com>
Fri, 10 Apr 2015 14:04:20 +0000 (16:04 +0200)
commit63cc5a4da1fafedee24d8f5af67c1dd9d08f95c7
treecd2e48fa02b4982784ad5cf7c09bd0eb90fc06c8
parent699b477a0d3a5bc68034a1520a4337ea0a20f63b
clk: tegra: Model oscillator as clock

Currently the Tegra clock driver simplifies the clock tree somewhat by
taking advantage of the fact that clk_m runs at the same frequency as
the oscillator. While that's true on all currently supported SoCs, it
does not apply to Tegra210 anymore. On Tegra210 clk_m is typically
divided down from the oscillator frequency. To support that setup, add
a separate clock for the oscillator that both clk_m and pll_ref derive
from.

Modify the tegra_osc_clk_init() function to take an additional divider
parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210
will read the divider from a register in the clock & reset controller.

Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/clk/tegra/clk-tegra-fixed.c
drivers/clk/tegra/clk-tegra124.c
drivers/clk/tegra/clk-tegra30.c
drivers/clk/tegra/clk.h