aboutsummaryrefslogtreecommitdiff
path: root/drivers/nxp/console/plat_console.h
blob: 8b1b23a041a83ffd7f362aa49249fc46fa5f2cc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
 * Copyright 2021 NXP
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

#ifndef PLAT_CONSOLE_H
#define PLAT_CONSOLE_H

#include <stdint.h>
#include <drivers/console.h>

#if (NXP_CONSOLE == NS16550)
/*
 * NXP specific UART - 16550 configuration
 *
 * Initialize a NXP 16550 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.
 * When |clock| has a value of 0, the UART will *not* be initialised. This
 * means the UART should already be enabled and the baudrate and clock setup
 * should have been done already, either by platform specific code or by
 * previous firmware stages. The |baud| parameter will be ignored in this
 * case as well.
 */
int nxp_console_16550_register(uintptr_t baseaddr, uint32_t clock,
			       uint32_t baud, console_t *console);
#endif
/*
 * Function to initialize platform's console
 * and register with console framework
 */
void plat_console_init(uintptr_t nxp_console_addr, uint32_t uart_clk_div,
			uint32_t baud);

#endif