nios2: enable earlycon support
Enable generic earlycon support for nios2. This e.g. allows to use a 8250/16650 UART as earlycon. In order to get the earlycon, we just need to call parse_early_param() in early_init_devtree() as soon as the device tree is initially scanned. By adding an stdout-path property to the dts (done in this patch for 10m50_devboard), the earlycon can be used. In order to provide early printk support, we need to provide a dummy implementation of early_console_write(), so that arch/nios2/kernel/early_printk.c can still be compiled if neither SERIAL_ALTERA_JTAGUART_CONSOLE nor SERIAL_ALTERA_UART_CONSOLE is selected. As soon as the altera_uart and altera_jtaguart support earlycon, the entire file can be removed. Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Ley Foon Tan <ley.foon.tan@intel.com>
This commit is contained in:
Родитель
57ac76ed6c
Коммит
44a4ed4257
|
@ -18,7 +18,6 @@ config EARLY_PRINTK
|
|||
bool "Activate early kernel debugging"
|
||||
default y
|
||||
select SERIAL_CORE_CONSOLE
|
||||
depends on SERIAL_ALTERA_JTAGUART_CONSOLE || SERIAL_ALTERA_UART_CONSOLE
|
||||
help
|
||||
Enable early printk on console
|
||||
This is useful for kernel debugging when your machine crashes very
|
||||
|
|
|
@ -244,6 +244,7 @@
|
|||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "debug console=ttyS0,115200";
|
||||
bootargs = "debug earlycon console=ttyS0,115200";
|
||||
stdout-path = &a_16550_uart_0;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -81,8 +81,11 @@ static void early_console_write(struct console *con, const char *s, unsigned n)
|
|||
}
|
||||
|
||||
#else
|
||||
# error Neither SERIAL_ALTERA_JTAGUART_CONSOLE nor SERIAL_ALTERA_UART_CONSOLE \
|
||||
selected
|
||||
|
||||
static void early_console_write(struct console *con, const char *s, unsigned n)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static struct console early_console_prom = {
|
||||
|
|
|
@ -137,6 +137,8 @@ asmlinkage void __init nios2_boot_init(unsigned r4, unsigned r5, unsigned r6,
|
|||
strncpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
parse_early_param();
|
||||
}
|
||||
|
||||
void __init setup_arch(char **cmdline_p)
|
||||
|
|
Загрузка…
Ссылка в новой задаче