Skip to content
  • Geert Uytterhoeven's avatar
    ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains · 71d076ce
    Geert Uytterhoeven authored
    
    
    All supported Renesas ARM SoCs (except for Emma Mobile EV2) have clock
    domains. Some SoCs also have power domains. To ensure proper operation
    of on-SoC modules, module clocks must be ungated, and power domains must
    be powered up when needed.
    
    Currently the user can choose to build a kernel with power management
    enabled or disabled:
      - If CONFIG_PM=y, power domains and/or module clocks are handled
        dynamically by Runtime PM and the generic power domain.
      - If CONFIG_PM=n, power domains are assumed to be powered up by reset
        state or by the boot loader, and module clocks are handled by the
        legacy clock domain on driver (un)bind.
        The latter is implemented using a platform bus notifier, which
        applies not only to all on-SoC devices, but to all platform devices
        present in the system.
    
    To remove the dependency on implicit assumptions, and to get rid of the
    peculiarities of the legacy clock domain, enable CONFIG_PM and
    CONFIG_PM_GENERIC_DOMAINS unconditionally, for all Renesas ARM SoCs with
    clock and/or power domains.
    
    This does cause an increase in kernel size.  Given bloat-o-meter reports
    a modest increase of 26 KiB for an RZ/A1H kernel, this should not be a
    problem, even when used on RZ/A1H with XIP and internal RAM only.
    
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
    71d076ce