(am335x, kernel 4.19-ti)
Note: earlyprintk parameter ignores argument
earlycon optionally takes argument, the flow below assumes no argument
========== earlyprintk =========================================================
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_LL=y
CONFIG_DEBUG_AM33XXUART1=y "Kernel low-level debugging messages via AM33XX UART1"
(note that this is in fact uart0, not uart1 as it claims)
kernel parameter: earlyprintk
(config):
arch/arm/Kconfig.debug config DEBUG_LL_INCLUDE
arch/arm/Kconfig.debug default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
(init):
arch/arm/kernel/early_printk.c [match] early_param("earlyprintk", setup_early_printk);
arch/arm/kernel/early_printk.c setup_early_printk()
(write):
arch/arm/kernel/early_printk.c early_console_write()
arch/arm/kernel/early_printk.c early_write()
arch/arm/kernel/debug.S ENTRY(printascii)
arch/arm/include/debug/8250.S .macro addruart
========== earlycon (no argument) ==============================================
CONFIG_SERIAL_EARLYCON=y
kernel parameter: earlycon
(init):
drivers/tty/serial/earlycon.c [match] early_param("earlycon", param_setup_earlycon);
drivers/tty/serial/earlycon.c param_setup_earlycon()
drivers/of/fdt.c: early_init_dt_scan_chosen_stdout()
drivers/tty/serial/8250/8250_early.c [match] OF_EARLYCON_DECLARE(omap8250, "ti,omap3-uart", early_omap8250_setup);
drivers/tty/serial/earlycon.c of_setup_earlycon()
drivers/tty/serial/earlycon.c earlycon_init()
drivers/tty/serial/8250/8250_early.c early_omap8250_setup()
(write):
drivers/tty/serial/8250/8250_early.c early_serial8250_write
drivers/tty/serial/serial_core.c uart_console_write
drivers/tty/serial/8250/8250_early.c serial_putc
Comments