summaryrefslogtreecommitdiff
path: root/core/arch/arm/plat-ti/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/arch/arm/plat-ti/main.c')
-rw-r--r--core/arch/arm/plat-ti/main.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/core/arch/arm/plat-ti/main.c b/core/arch/arm/plat-ti/main.c
index c811862..be3bf3a 100644
--- a/core/arch/arm/plat-ti/main.c
+++ b/core/arch/arm/plat-ti/main.c
@@ -26,11 +26,12 @@
*/
#include <platform_config.h>
-
+#include <console.h>
#include <stdint.h>
#include <string.h>
#include <assert.h>
#include <drivers/gic.h>
+#include <drivers/serial8250_uart.h>
#include <arm.h>
#include <kernel/generic_boot.h>
#include <kernel/panic.h>
@@ -47,9 +48,12 @@
#include <sm/sm.h>
static struct gic_data gic_data;
+static struct serial8250_uart_data console_data __early_bss;
register_phys_mem(MEM_AREA_IO_SEC, GICC_BASE, GICC_SIZE);
register_phys_mem(MEM_AREA_IO_SEC, GICD_BASE, GICD_SIZE);
+register_phys_mem(MEM_AREA_IO_NSEC, CONSOLE_UART_BASE,
+ SERIAL8250_UART_REG_SIZE);
void main_init_gic(void)
{
@@ -79,7 +83,7 @@ static void main_fiq(void)
static const struct thread_handlers handlers = {
.std_smc = tee_entry_std,
.fast_smc = tee_entry_fast,
- .fiq = main_fiq,
+ .nintr = main_fiq,
.cpu_on = pm_panic,
.cpu_off = pm_panic,
.cpu_suspend = pm_panic,
@@ -126,8 +130,8 @@ void init_sec_mon(unsigned long nsec_entry)
panic();
/* Invalidate cache to fetch data from external memory */
- cache_maintenance_l1(DCACHE_AREA_INVALIDATE,
- plat_ctx, sizeof(*plat_ctx));
+ cache_op_inner(DCACHE_AREA_INVALIDATE,
+ plat_ctx, sizeof(*plat_ctx));
/* Initialize secure monitor */
nsec_ctx = sm_get_nsec_ctx();
@@ -149,3 +153,10 @@ void init_sec_mon(unsigned long nsec_entry)
nsec_ctx->mon_lr = plat_ctx->mon_lr;
nsec_ctx->mon_spsr = plat_ctx->mon_spsr;
}
+
+void console_init(void)
+{
+ serial8250_uart_init(&console_data, CONSOLE_UART_BASE,
+ CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE);
+ register_serial_console(&console_data.chip);
+}