ARM: dts: omap44xx-clocks: Set IVA DPLL and its output clock rates
authorSuman Anna <s-anna@ti.com>
Wed, 7 Jun 2017 21:27:25 +0000 (16:27 -0500)
committerTony Lindgren <tony@atomide.com>
Mon, 12 Jun 2017 10:03:30 +0000 (03:03 -0700)
commitc8ceb5ac1ac0aa9bd7c2be9c094f58672bd5669a
tree19d57e6efdbe91ef1705f5be594942ab6513438f
parentd809f2cca354d88ccc19aad1ecbe54704448615e
ARM: dts: omap44xx-clocks: Set IVA DPLL and its output clock rates

The IVA DPLL is not an essential DPLL for the functionality of a
bootloader and is usually not configured (e.g. older u-boots configure
it only if CONFIG_SYS_CLOCKS_ENABLE_ALL is enabled and u-boots newer
than 2014.01 do not even have an option), and this results in incorrect
operating frequencies when trying to use a DSP or IVAHD, whose root
clocks are derived from this DPLL. Use the DT standard properties
"assigned-clocks" and "assigned-clock-rates" to set the IVA DPLL clock
rate and the rates for its derivative clocks at boot time to properly
initialize/lock this DPLL. The DPLL will automatically transition
into a low-power stop mode when the associated output clocks are
not utilized or gated automatically.

The reset values of the dividers M4 & M5 (functional clocks for DSP and
IVAHD respectively) are identical to each other, but are different at
each OPP. The reset values also do not match a specific OPP. So, the
derived output clocks from the IVA DPLL have to be initialized as well
to avoid initializing these divider outputs to incorrect frequencies.

The clock rates are chosen based on the OPP100 values as defined in the
OMAP4430 ES2.x Public TRM vAP, section "3.6.3.8.7 DPLL_IVA Preferred
Settings". The DPLL locked frequency is 1862.4 MHz (value for
DPLL_IVA_X2_CLK), so the dpll_iva_ck clock rate used is half of
this value.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap44xx-clocks.dtsi