• Matt Burtch's avatar
    ARM: i.MX28: shift frac value in _CLK_SET_RATE · 590842f9
    Matt Burtch authored
    Noticed when setting SSP0 in clk_set_rate, _CLK_SET_RATE attempts to
    reset the clock divider for the SSP0 parent clock, in this case
    IO0FRAC. Bits 24-29 of HW_CLKCTRL_FRAC0 are cleared correctly, but
    when the new frac value is written the value isn't shifted up to write
    the correct bit-field.  This results in IO0FRAC being set to 0 and
    CPUFRAC being corrupted.
    
    This should occur when writing IO1FRAC, EMIFRAC in HW_CLKCTRL_FRAC0
    and GPMIFRAC, HSADCFRAC in HW_CLKCTRL_FRAC1.
    
    Tested on custom i.MX28 board with SSP0 SPI driver.
    Signed-off-by: default avatarMatt Burtch <matt@grid-net.com>
    Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
    590842f9
clock-mx28.c 22.2 KB