• Soby Mathew's avatar
    Prepare platforms to use refactored ARM GIC drivers · f14d1886
    Soby Mathew authored
    This patch adds platform helpers for the new GICv2 and GICv3 drivers in
    plat_gicv2.c and plat_gicv3.c. The platforms can include the appropriate
    file in their build according to the GIC driver to be used. The existing
    plat_gic.c is only meant for the legacy GIC driver.
    
    In the case of ARM platforms, the major changes are as follows:
    
    1. The crash reporting helper macro `arm_print_gic_regs` that prints the GIC CPU
       interface register values has been modified to detect the type of CPU
       interface being used (System register or memory mappped interface) before
       using the right interface to print the registers.
    
    2. The power management helper function that is called after a core is powered
       up has been further refactored. This is to highlight that the per-cpu
       distributor interface should be initialised only when the core was originally
       powered down using the CPU_OFF PSCI API and not when the CPU_SUSPEND PSCI API
       was used.
    
    3. In the case of CSS platforms, the system power domain restore helper
       `arm_system_pwr_domain_resume()` is now only invoked in the `suspend_finish`
       handler as the system power domain is always expected to be initialized when
       the `on_finish` handler is invoked.
    
    Change-Id: I7fc27d61fc6c2a60cea2436b676c5737d0257df6
    f14d1886
plat_gicv2.c 5.05 KB