• Dario Binacchi's avatar
    clk: ti: add am33xx/am43xx spread spectrum clock support · 0899431f
    Dario Binacchi authored
    The patch enables spread spectrum clocking (SSC) for MPU and LCD PLLs.
    As reported by the TI spruh73x/spruhl7x RM, SSC is only supported for
    the DISP/LCD and MPU PLLs on am33xx/am43xx. SSC is not supported for
    DDR, PER, and CORE PLLs.
    
    Calculating the required values and setting the registers accordingly
    was taken from the set_mpu_spreadspectrum routine contained in the
    arch/arm/mach-omap2/am33xx/clock_am33xx.c file of the u-boot project.
    
    In locked condition, DPLL output clock = CLKINP *[M/N]. In case of
    SSC enabled, the reference manual explains that there is a restriction
    of range of M values. Since the omap2_dpll_round_rate routine attempts
    to select the minimum possible N, the value of M obtained is not
    guaranteed to be within the range required. With the new "ti,min-div"
    parameter it is possible to increase N and consequently M to satisfy the
    constraint imposed by SSC.
    Signed-off-by: default avatarDario Binacchi <dariobin@libero.it>
    Reviewed-by: default avatarTero Kristo <kristo@kernel.org>
    Link: https://lore.kernel.org/r/20210606202253.31649-6-dariobin@libero.itSigned-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    0899431f
dpll3xxx.c 29.5 KB