• Antonio Nino Diaz's avatar
    plat/arm: Migrate AArch64 port to the multi console driver · 2f18aa1f
    Antonio Nino Diaz authored
    
    
    The old API is deprecated and will eventually be removed.
    
    Arm platforms now use the multi console driver for boot and runtime
    consoles. However, the crash console uses the direct console API because
    it doesn't need any memory access to work. This makes it more robust
    during crashes.
    
    The AArch32 port of the Trusted Firmware doesn't support this new API
    yet, so it is only enabled in AArch64 builds. Because of this, the
    common code must maintain compatibility with both systems. SP_MIN
    doesn't have to be updated because it's only used in AArch32 builds.
    The TSP is only used in AArch64, so it only needs to support the new
    API without keeping support for the old one.
    
    Special care must be taken because of PSCI_SYSTEM_SUSPEND. In Juno, this
    causes the UARTs to reset (except for the one used by the TSP). This
    means that they must be unregistered when suspending and re-registered
    when resuming. This wasn't a problem with the old driver because it just
    restarted the UART, and there were no problems associated with
    registering and unregistering consoles.
    
    The size of BL31 has been increased in builds with SPM.
    
    Change-Id: Icefd117dd1eb9c498921181a21318c2d2435c441
    Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    2f18aa1f
arm_pm.c 6.88 KB