137e9518eSArunachalam Ganapathy // SPDX-License-Identifier: BSD-2-Clause
237e9518eSArunachalam Ganapathy /*
337e9518eSArunachalam Ganapathy * Copyright (c) 2021, Arm Limited. All rights reserved.
437e9518eSArunachalam Ganapathy */
537e9518eSArunachalam Ganapathy
637e9518eSArunachalam Ganapathy #include <arm.h>
737e9518eSArunachalam Ganapathy #include <console.h>
837e9518eSArunachalam Ganapathy #include <drivers/gic.h>
937e9518eSArunachalam Ganapathy #include <drivers/pl011.h>
1037e9518eSArunachalam Ganapathy #include <initcall.h>
1137e9518eSArunachalam Ganapathy #include <kernel/boot.h>
1237e9518eSArunachalam Ganapathy #include <kernel/misc.h>
1337e9518eSArunachalam Ganapathy #include <kernel/panic.h>
1437e9518eSArunachalam Ganapathy
1537e9518eSArunachalam Ganapathy #include <mm/core_mmu.h>
1637e9518eSArunachalam Ganapathy #include <platform_config.h>
1737e9518eSArunachalam Ganapathy
1837e9518eSArunachalam Ganapathy static struct pl011_data console_data __nex_bss;
1937e9518eSArunachalam Ganapathy
2037e9518eSArunachalam Ganapathy register_phys_mem_pgdir(MEM_AREA_IO_SEC, CONSOLE_UART_BASE, PL011_REG_SIZE);
2149dbb9efSArunachalam Ganapathy #ifndef CFG_CORE_SEL2_SPMC
2237e9518eSArunachalam Ganapathy register_phys_mem_pgdir(MEM_AREA_IO_SEC, GICD_BASE, GIC_DIST_REG_SIZE);
2349dbb9efSArunachalam Ganapathy #endif
2437e9518eSArunachalam Ganapathy
2537e9518eSArunachalam Ganapathy register_ddr(DRAM0_BASE, DRAM0_SIZE);
266d8430f9SUsama Arif register_ddr(DRAM1_BASE, DRAM1_SIZE);
2737e9518eSArunachalam Ganapathy
2849dbb9efSArunachalam Ganapathy #ifndef CFG_CORE_SEL2_SPMC
boot_primary_init_intc(void)29df913c6dSAlvin Chang void boot_primary_init_intc(void)
3037e9518eSArunachalam Ganapathy {
310ee3f52eSEtienne Carriere gic_init(GIC_BASE + GICC_OFFSET, GIC_BASE + GICC_OFFSET);
3237e9518eSArunachalam Ganapathy }
3349dbb9efSArunachalam Ganapathy #endif
3437e9518eSArunachalam Ganapathy
plat_console_init(void)35*55ab8f06SAlvin Chang void plat_console_init(void)
3637e9518eSArunachalam Ganapathy {
3737e9518eSArunachalam Ganapathy pl011_init(&console_data, CONSOLE_UART_BASE, CONSOLE_UART_CLK_IN_HZ,
3837e9518eSArunachalam Ganapathy CONSOLE_UART_BAUDRATE);
3937e9518eSArunachalam Ganapathy register_serial_console(&console_data.chip);
4037e9518eSArunachalam Ganapathy }
41