• Paul Walmsley's avatar
    OMAP3 clock: fix omap2_clk_wait_ready() for OMAP3430ES2+ DSS · f4c458db
    Paul Walmsley authored
    On OMAP3430ES2, DSS has both an initiator standby CM_IDLEST bit, and a
    target idle CM_IDLEST bit.  This is a departure from previous silicon,
    which only had an initiator standby bit.
    
    This means we need to test the target idle bit after enabling
    dss1_alwon_fclk.  Previous clock code has done the wrong thing since ES2
    came out: it's either tested the wrong bit, causing
    
        Clock dss1_alwon_fck failed to enable in 100000 tries
    
    messages, or not tested anything at all, causing crashes during DISPC
    initialization with:
    
        Unhandled fault: external abort on non-linefetch (0x1028)
    
    This patch modifies omap2_clk_wait_ready() to wait for the DSS to become
    accessible after dss1_alwon_fclk, dss_l3_iclk, and dss_l4_iclk are enabled.
    
    Thanks to Anand Gadiyar <gadiyar@ti.com> for identifying one of the
    problem patches, Koen Kooi <k.kooi@student.utwente.nl> for testing a
    previous version of this patch, and Dirk Behme
    <dirk.behme@googlemail.com> for review of a previous version.
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    f4c458db
cm-regbits-34xx.h 23.1 KB