xref: /optee_os/core/arch/riscv/plat-spike/drivers/htif.h (revision cf63aa772e0fe87e499759222fe55ac5bb46f536)
1*cf63aa77SMarouene Boubakri /* SPDX-License-Identifier: BSD-2-Clause */
2*cf63aa77SMarouene Boubakri /*
3*cf63aa77SMarouene Boubakri  * Copyright 2022 NXP
4*cf63aa77SMarouene Boubakri  */
5*cf63aa77SMarouene Boubakri 
6*cf63aa77SMarouene Boubakri #ifndef __DRIVERS_HTIF_H__
7*cf63aa77SMarouene Boubakri #define __DRIVERS_HTIF_H__
8*cf63aa77SMarouene Boubakri 
9*cf63aa77SMarouene Boubakri #include <drivers/serial.h>
10*cf63aa77SMarouene Boubakri #include <types_ext.h>
11*cf63aa77SMarouene Boubakri 
12*cf63aa77SMarouene Boubakri #define HTIF_CMD_WRITE		1
13*cf63aa77SMarouene Boubakri #define HTIF_DEV_CONSOLE	1
14*cf63aa77SMarouene Boubakri #define HTIF_REG_SIZE	(2 * RISCV_XLEN_BYTES)
15*cf63aa77SMarouene Boubakri 
16*cf63aa77SMarouene Boubakri struct htif_console_data {
17*cf63aa77SMarouene Boubakri 	struct io_pa_va base;
18*cf63aa77SMarouene Boubakri 	struct serial_chip chip;
19*cf63aa77SMarouene Boubakri };
20*cf63aa77SMarouene Boubakri 
21*cf63aa77SMarouene Boubakri void htif_lock_global(void);
22*cf63aa77SMarouene Boubakri void htif_unlock_global(void);
23*cf63aa77SMarouene Boubakri void htif_console_init(struct htif_console_data *pd, paddr_t pbase);
24*cf63aa77SMarouene Boubakri 
25*cf63aa77SMarouene Boubakri #endif /*__DRIVERS_HTIF_H__*/
26