Skip to content

Commit c8ceb5a

Browse files
sumanannatmlind
authored andcommitted
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 <[email protected]> Acked-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
1 parent d809f2c commit c8ceb5a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

arch/arm/boot/dts/omap44xx-clocks.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,8 @@
357357
compatible = "ti,omap4-dpll-clock";
358358
clocks = <&sys_clkin_ck>, <&iva_hsd_byp_clk_mux_ck>;
359359
reg = <0x01a0>, <0x01a4>, <0x01ac>, <0x01a8>;
360+
assigned-clocks = <&dpll_iva_ck>;
361+
assigned-clock-rates = <931200000>;
360362
};
361363

362364
dpll_iva_x2_ck: dpll_iva_x2_ck {
@@ -374,6 +376,8 @@
374376
reg = <0x01b8>;
375377
ti,index-starts-at-one;
376378
ti,invert-autoidle-bit;
379+
assigned-clocks = <&dpll_iva_m4x2_ck>;
380+
assigned-clock-rates = <465600000>;
377381
};
378382

379383
dpll_iva_m5x2_ck: dpll_iva_m5x2_ck@1bc {
@@ -385,6 +389,8 @@
385389
reg = <0x01bc>;
386390
ti,index-starts-at-one;
387391
ti,invert-autoidle-bit;
392+
assigned-clocks = <&dpll_iva_m5x2_ck>;
393+
assigned-clock-rates = <266100000>;
388394
};
389395

390396
dpll_mpu_ck: dpll_mpu_ck@160 {

0 commit comments

Comments
 (0)