1/* 2 * Copyright (c) 2018, ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10#ifndef __RPI3_MINIUART_H__ 11#define __RPI3_MINIUART_H__ 12 13#include <barrelfish_kpi/types.h> 14#include <stdbool.h> 15 16/* 17 * \briefConfigure a port. 18 * 19 * This happens at system startup, and before the MMU is turned on. 20 * The hardware is not initialized by this call. 21 * After this, the UART is (hopefully) usable, but after the MMU is 22 * enabled the OS should then call rpi3_miniuart_init below. 23 */ 24extern void rpi3_minuart_configure(lpaddr_t addr); 25 26/* 27 * \brief Initialize a UART, and a number to refer to it in the 28 * future. 29 * 30 * \param port : Physical address of the UART. 31 * \param hwinit : Also init the hardware itself if True 32 */ 33extern void rpi3_miniuart_init(lvaddr_t base, bool hwinit); 34 35#endif // __PL011_H__ 36