blob: 5da1e3fd457d94df818c8bb115d08d1799709e10 [file] [log] [blame]
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef MESON_CONSOLE_H
#define MESON_CONSOLE_H
#include <drivers/console.h>
#define CONSOLE_T_MESON_BASE CONSOLE_T_DRVDATA
#ifndef __ASSEMBLY__
#include <stdint.h>
typedef struct {
console_t console;
uintptr_t base;
} console_meson_t;
/*
* Initialize a new meson console instance and register it with the console
* framework. The |console| pointer must point to storage that will be valid
* for the lifetime of the console, such as a global or static local variable.
* Its contents will be reinitialized from scratch.
*
* NOTE: The clock is actually fixed to 24 MHz. The argument is only there in
* order to make this function future-proof.
*/
int console_meson_register(uintptr_t baseaddr, uint32_t clock, uint32_t baud,
console_meson_t *console);
#endif /*__ASSEMBLY__*/
#endif /* MESON_CONSOLE_H */