• Paul Walmsley's avatar
    clockdomains: add base OMAP2/3 clockdomain code · 4588613a
    Paul Walmsley authored
    This patch creates an interface to the clockdomain registers in the
    PRM/CM modules on OMAP2/3.  This interface is intended to be used by
    PM code, e.g., pm.c; not by device drivers directly.
    
    The patch also adds clockdomain usecount tracking.  This is intended
    to be called whenever the first clock in a clockdomain is enabled, or
    when the last enabled clock in a clockdomain is disabled.  If the
    clockdomain is in software-supervised mode, the code will force-wakeup
    or force-sleep the clockdomain.  If the clockdomain is in
    hardware-supervised mode, the first clock enable will add sleep and
    wakeup dependencies on a user-selectable set of parent domains (usually
    MPU & IVA2), and the disable will remove them.
    
    Each clockdomain will be defined in later patches as static
    structures.  The clockdomain structures are linked into a list at boot
    by clkdm_register(), similar to the OMAP clock code.
    
    The patch adds a Kconfig option, CONFIG_OMAP_DEBUG_CLOCKDOMAIN, which
    when enabled will emit verbose debug messages via pr_debug().
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    4588613a
clockdomain.h 3.08 KB