• Suman Anna's avatar
    ARM: dts: omap54xx-clocks: Set IVA DPLL and its output clock rates · b58104f0
    Suman Anna authored
    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 H11 & H12 (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 OPP_NOM values as defined in
    the OMAP5432 SR2.0 Data Manual Book vK, section 5.2.3.5 "DPLL_IVA
    Preferred Settings". The recommended maximum DPLL locked frequency is
    2330 MHz for OPP_NOM (value for DPLL_IVA_X2_CLK), so the dpll_iva_ck
    clock rate used is half of this value. The value 465.92 MHz is used
    instead of 465.9 MHz for dpll_iva_h11x2_ck so that proper divider
    value can be calculated.
    Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
    Acked-by: default avatarTero Kristo <t-kristo@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    b58104f0
omap54xx-clocks.dtsi 31.3 KB