Commit 1ab8e4b1 authored by Kevin Cernekee's avatar Kevin Cernekee Committed by Greg Kroah-Hartman

tty: serial: bcm63xx: Enable DT earlycon support

This enables early console output if there is a chosen/stdout-path
property referencing a UART node with the "brcm,bcm6345-uart" compatible
string.  The bootloader sets up the pinmux and baud/parity/etc.
Tested on bcm3384 (MIPS, DT).
Signed-off-by: default avatarKevin Cernekee <cernekee@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e1a184ee
...@@ -1297,6 +1297,7 @@ config SERIAL_BCM63XX_CONSOLE ...@@ -1297,6 +1297,7 @@ config SERIAL_BCM63XX_CONSOLE
bool "Console on BCM63xx serial port" bool "Console on BCM63xx serial port"
depends on SERIAL_BCM63XX=y depends on SERIAL_BCM63XX=y
select SERIAL_CORE_CONSOLE select SERIAL_CORE_CONSOLE
select SERIAL_EARLYCON
help help
If you have enabled the serial port on the BCM63xx CPU If you have enabled the serial port on the BCM63xx CPU
you can make it the console by answering Y to this option. you can make it the console by answering Y to this option.
......
...@@ -782,6 +782,26 @@ static int __init bcm63xx_console_init(void) ...@@ -782,6 +782,26 @@ static int __init bcm63xx_console_init(void)
console_initcall(bcm63xx_console_init); console_initcall(bcm63xx_console_init);
static void bcm_early_write(struct console *con, const char *s, unsigned n)
{
struct earlycon_device *dev = con->data;
uart_console_write(&dev->port, s, n, bcm_console_putchar);
wait_for_xmitr(&dev->port);
}
static int __init bcm_early_console_setup(struct earlycon_device *device,
const char *opt)
{
if (!device->port.membase)
return -ENODEV;
device->con->write = bcm_early_write;
return 0;
}
OF_EARLYCON_DECLARE(bcm63xx_uart, "brcm,bcm6345-uart", bcm_early_console_setup);
#define BCM63XX_CONSOLE (&bcm63xx_console) #define BCM63XX_CONSOLE (&bcm63xx_console)
#else #else
#define BCM63XX_CONSOLE NULL #define BCM63XX_CONSOLE NULL
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment