Commit 5b5928e8 authored by Varun Wadekar's avatar Varun Wadekar
Browse files

Tegra: uninit and re-init console across System Suspend



This patch removes the console_init() from runtime_setup() as we already
initialize it earlier and disables/enables it across "System Suspend".

Change-Id: I992d3ca56ff4797faf83e8d7fa52c0ef3e1c3367
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent e954ab8f
...@@ -293,9 +293,7 @@ void bl31_platform_setup(void) ...@@ -293,9 +293,7 @@ void bl31_platform_setup(void)
******************************************************************************/ ******************************************************************************/
void bl31_plat_runtime_setup(void) void bl31_plat_runtime_setup(void)
{ {
/* Initialize the runtime console */ ; /* do nothing */
console_init(tegra_console_base, TEGRA_BOOT_UART_CLK_IN_HZ,
TEGRA_CONSOLE_BAUDRATE);
} }
/******************************************************************************* /*******************************************************************************
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <bl_common.h> #include <bl_common.h>
#include <context.h> #include <context.h>
#include <context_mgmt.h> #include <context_mgmt.h>
#include <console.h>
#include <debug.h> #include <debug.h>
#include <memctrl.h> #include <memctrl.h>
#include <mmio.h> #include <mmio.h>
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
extern uint64_t tegra_bl31_phys_base; extern uint64_t tegra_bl31_phys_base;
extern uint64_t tegra_sec_entry_point; extern uint64_t tegra_sec_entry_point;
extern uint64_t tegra_console_base;
/* /*
* The following platform setup functions are weakly defined. They * The following platform setup functions are weakly defined. They
...@@ -164,6 +166,11 @@ void tegra_pwr_domain_suspend(const psci_power_state_t *target_state) ...@@ -164,6 +166,11 @@ void tegra_pwr_domain_suspend(const psci_power_state_t *target_state)
{ {
tegra_soc_pwr_domain_suspend(target_state); tegra_soc_pwr_domain_suspend(target_state);
/* Disable console if we are entering deep sleep. */
if (target_state->pwr_domain_state[PLAT_MAX_PWR_LVL] ==
PSTATE_ID_SOC_POWERDN)
console_uninit();
/* disable GICC */ /* disable GICC */
tegra_gic_cpuif_deactivate(); tegra_gic_cpuif_deactivate();
} }
...@@ -206,6 +213,10 @@ void tegra_pwr_domain_on_finish(const psci_power_state_t *target_state) ...@@ -206,6 +213,10 @@ void tegra_pwr_domain_on_finish(const psci_power_state_t *target_state)
if (target_state->pwr_domain_state[PLAT_MAX_PWR_LVL] == if (target_state->pwr_domain_state[PLAT_MAX_PWR_LVL] ==
PSTATE_ID_SOC_POWERDN) { PSTATE_ID_SOC_POWERDN) {
/* Initialize the runtime console */
console_init(tegra_console_base, TEGRA_BOOT_UART_CLK_IN_HZ,
TEGRA_CONSOLE_BAUDRATE);
/* /*
* Restore Memory Controller settings as it loses state * Restore Memory Controller settings as it loses state
* during system suspend. * during system suspend.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment