• Soby Mathew's avatar
    Reorganise PSCI PM handler setup on ARM Standard platforms · 785fb92b
    Soby Mathew authored
    This patch does the following reorganization to psci power management (PM)
    handler setup for ARM standard platform ports :
    
    1. The mailbox programming required during `plat_setup_psci_ops()` is identical
       for all ARM platforms. Hence the implementation of this API is now moved
       to the common `arm_pm.c` file. Each ARM platform now must define the
       PLAT_ARM_TRUSTED_MAILBOX_BASE macro, which in current platforms is the same
       as ARM_SHARED_RAM_BASE.
    
    2. The PSCI PM handler callback structure, `plat_psci_ops`, must now be
       exported via `plat_arm_psci_pm_ops`. This allows the common implementation
       of `plat_setup_psci_ops()` to return a platform specific `plat_psci_ops`.
       In the case of CSS platforms, a default weak implementation of the same is
       provided in `css_pm.c` which can be overridden by each CSS platform.
    
    3. For CSS platforms, the PSCI PM handlers defined in `css_pm.c` are now
       made library functions and a new header file `css_pm.h` is added to export
       these generic PM handlers. This allows the platform to reuse the
       adequate CSS PM handlers and redefine others which need to be customized
       when overriding the default `plat_arm_psci_pm_ops` in `css_pm.c`.
    
    Change-Id: I277910f609e023ee5d5ff0129a80ecfce4356ede
    785fb92b
css_pm.c 9.26 KB