1*298fa2dbSYu-Chien Peter Lin /* SPDX-License-Identifier: BSD-2-Clause */ 2*298fa2dbSYu-Chien Peter Lin /* 3*298fa2dbSYu-Chien Peter Lin * Copyright (c) 2025 SiFive, Inc 4*298fa2dbSYu-Chien Peter Lin */ 5*298fa2dbSYu-Chien Peter Lin #ifndef __DRIVERS_SIFIVE_UART_H 6*298fa2dbSYu-Chien Peter Lin #define __DRIVERS_SIFIVE_UART_H 7*298fa2dbSYu-Chien Peter Lin 8*298fa2dbSYu-Chien Peter Lin #include <drivers/serial.h> 9*298fa2dbSYu-Chien Peter Lin #include <mm/core_memprot.h> 10*298fa2dbSYu-Chien Peter Lin #include <types_ext.h> 11*298fa2dbSYu-Chien Peter Lin 12*298fa2dbSYu-Chien Peter Lin #define SIFIVE_UART_REG_SIZE 0x1000 13*298fa2dbSYu-Chien Peter Lin 14*298fa2dbSYu-Chien Peter Lin struct sifive_uart_data { 15*298fa2dbSYu-Chien Peter Lin struct io_pa_va base; 16*298fa2dbSYu-Chien Peter Lin struct serial_chip chip; 17*298fa2dbSYu-Chien Peter Lin }; 18*298fa2dbSYu-Chien Peter Lin 19*298fa2dbSYu-Chien Peter Lin void sifive_uart_init(struct sifive_uart_data *pd, paddr_t base, 20*298fa2dbSYu-Chien Peter Lin uint32_t uart_clk, uint32_t baud_rate); 21*298fa2dbSYu-Chien Peter Lin 22*298fa2dbSYu-Chien Peter Lin #endif /* __DRIVERS_SIFIVE_UART_H */ 23