• Mark Brown's avatar
    ARM: S3C64XX: Implement basic power domain support · c656c306
    Mark Brown authored
    The S3C64xx SoCs contain a set of gateable power domains which can be
    enabled and disabled at runtime in order to save power.  Use the generic
    power domain code to implement support for these in software, enabling
    runtime control of most domains:
    
     - ETM (not supported in mainline).
     - Domain G: 3D acceleration (no mainline support).
     - Domain V: MFC (no mainline support).
     - Domain I: JPEG and camera interface (no mainline support).
     - Domain P: 2D acceleration, TV encoder and scaler (no mainline support)
     - Domain S: Security (no mainline support).
     - Domain F: LCD (driver already uses runtime PM), post processing and
       rotation (no mainline support).
    
    The IROM domain is marked as always enabled as we should arrange for it
    to be enabled when we suspend which will need a bit more work.
    
    Due to all the conditional device registration that the platform does
    wrap s3c_pm_init() with s3c64xx_pm_init() which actually puts the device
    into the power domain after the machines have registered, looking for
    platform data to tell if the device was registered. Since currently only
    Cragganmore actually sets up PM that is the only machine updated.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    c656c306
pm.c 8.58 KB