xref: /optee_os/core/arch/riscv/plat-sifive/main.c (revision 49c6ad2a7049a54a54b0e2b657694f3264a559e4)
1*49c6ad2aSYu-Chien Peter Lin // SPDX-License-Identifier: BSD-2-Clause
2*49c6ad2aSYu-Chien Peter Lin /*
3*49c6ad2aSYu-Chien Peter Lin  * Copyright (c) 2025 SiFive, Inc
4*49c6ad2aSYu-Chien Peter Lin  */
5*49c6ad2aSYu-Chien Peter Lin 
6*49c6ad2aSYu-Chien Peter Lin #include <console.h>
7*49c6ad2aSYu-Chien Peter Lin #include <drivers/sifive_uart.h>
8*49c6ad2aSYu-Chien Peter Lin #include <mm/core_mmu.h>
9*49c6ad2aSYu-Chien Peter Lin #include <platform_config.h>
10*49c6ad2aSYu-Chien Peter Lin 
11*49c6ad2aSYu-Chien Peter Lin register_phys_mem_pgdir(MEM_AREA_IO_NSEC,
12*49c6ad2aSYu-Chien Peter Lin 			CONSOLE_UART_BASE, SIFIVE_UART_REG_SIZE);
13*49c6ad2aSYu-Chien Peter Lin 
14*49c6ad2aSYu-Chien Peter Lin static struct sifive_uart_data console_data;
15*49c6ad2aSYu-Chien Peter Lin 
plat_console_init(void)16*49c6ad2aSYu-Chien Peter Lin void plat_console_init(void)
17*49c6ad2aSYu-Chien Peter Lin {
18*49c6ad2aSYu-Chien Peter Lin 	sifive_uart_init(&console_data, CONSOLE_UART_BASE,
19*49c6ad2aSYu-Chien Peter Lin 			 CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE);
20*49c6ad2aSYu-Chien Peter Lin 
21*49c6ad2aSYu-Chien Peter Lin 	register_serial_console(&console_data.chip);
22*49c6ad2aSYu-Chien Peter Lin }
23