blob: 759571ddac50d20af9f1ecaa29c8ded83424ac4a [file] [log] [blame]
Antonio Nino Diaz01193242018-08-15 22:07:35 +01001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef MESON_CONSOLE_H
8#define MESON_CONSOLE_H
9
10#include <console.h>
11
12#define CONSOLE_T_MESON_BASE CONSOLE_T_DRVDATA
13
14#ifndef __ASSEMBLY__
15
16#include <stdint.h>
17
18typedef struct {
19 console_t console;
20 uintptr_t base;
21} console_meson_t;
22
23/*
24 * Initialize a new meson console instance and register it with the console
25 * framework. The |console| pointer must point to storage that will be valid
26 * for the lifetime of the console, such as a global or static local variable.
27 * Its contents will be reinitialized from scratch.
28 *
29 * NOTE: The clock is actually fixed to 24 MHz. The argument is only there in
30 * order to make this function future-proof.
31 */
32int console_meson_register(uintptr_t baseaddr, uint32_t clock, uint32_t baud,
33 console_meson_t *console);
34
35#endif /*__ASSEMBLY__*/
36
37#endif /* MESON_CONSOLE_H */