• Kishon Vijay Abraham I's avatar
    ARM: OMAP2+: hwmod code: add support to set dmadisable in hwmod framework · 6668546f
    Kishon Vijay Abraham I authored
    The DMADISABLE bit is a semi-automatic bit present in sysconfig register
    of some modules. When the DMA must perform read/write accesses, the
    DMADISABLE bit is cleared by the hardware. But when the DMA must stop for power
    management, software must set the DMADISABLE bit back to 1.
    
    In cases where the ROMCODE/BOOTLOADER uses dma, the hardware clears the
    DMADISABLE bit (but the romcode/bootloader might not set it back to 1).
    In order for the kernel to start in a clean state, it is
    necessary for the kernel to set DMADISABLE bit back to 1 (irrespective
    of whether it's been set to 1 in romcode or bootloader).
    
    During _reset of the (hwmod)device, the DMADISABLE bit is set so that it
    does not prevent idling of the system. (NOTE: having DMADISABLE to 0,
    prevents the system to idle)
    
    DMADISABLE bit is present in usbotgss module of omap5.
    
    Cc: Benoit Cousson <b-cousson@ti.com>
    Cc: Kevin Hilman <khilman@ti.com>
    Cc: Paul Walmsley <paul@pwsan.com>
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    [paul@pwsan.com: updated to apply; fixed checkpatch warnings]
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    6668546f
omap_hwmod.c 96 KB