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 Linvoid 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