From ca782f16ce02e3f4fa2ae28a5ff256ac69f731e2 Mon Sep 17 00:00:00 2001 From: Peter Hurley Date: Mon, 6 Apr 2015 10:52:39 -0400 Subject: [PATCH] earlycon: 8250: Document kernel command line options Document the expected behavior of kernel command lines of the forms: console=uart[8250],io|mmio|mmio32,[,options] console=uart[8250],[,options] and earlycon=uart[8250],io|mmio|mmio32,[,options] earlycon=uart[8250],[,options] Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- Documentation/kernel-parameters.txt | 18 +++++++++++++++--- drivers/tty/serial/8250/8250_core.c | 5 +++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index bfcb1a62a7b4..1facf0bebb31 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -713,10 +713,18 @@ bytes respectively. Such letter suffixes can also be entirely omitted. uart[8250],io,[,options] uart[8250],mmio,[,options] + uart[8250],mmio32,[,options] + uart[8250],0x[,options] Start an early, polled-mode console on the 8250/16550 UART at the specified I/O port or MMIO address, - switching to the matching ttyS device later. The - options are the same as for ttyS, above. + switching to the matching ttyS device later. + MMIO inter-register address stride is either 8-bit + (mmio) or 32-bit (mmio32). + If none of [io|mmio|mmio32], is assumed to be + equivalent to 'mmio'. 'options' are specified in the + same format described for ttyS above; if unspecified, + the h/w is not re-initialized. + hvc Use the hypervisor console device . This is for both Xen and PowerPC hypervisors. @@ -944,11 +952,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted. uart[8250],io,[,options] uart[8250],mmio,[,options] uart[8250],mmio32,[,options] + uart[8250],0x[,options] Start an early, polled-mode console on the 8250/16550 UART at the specified I/O port or MMIO address. MMIO inter-register address stride is either 8-bit (mmio) or 32-bit (mmio32). - The options are the same as for ttyS, above. + If none of [io|mmio|mmio32], is assumed to be + equivalent to 'mmio'. 'options' are specified in the + same format described for "console=ttyS"; if + unspecified, the h/w is not initialized. pl011, Start an early, polled-mode console on a pl011 serial diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 18142ee3c013..422ebea96a64 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -3471,12 +3471,13 @@ static int univ8250_console_setup(struct console *co, char *options) * @options: ptr to option string from console command line * * Only attempts to match console command lines of the form: - * console=uart<>,io|mmio|mmio32,, - * console=uart<>,,options + * console=uart[8250],io|mmio|mmio32,[,] + * console=uart[8250],0x[,] * This form is used to register an initial earlycon boot console and * replace it with the serial8250_console at 8250 driver init. * * Performs console setup for a match (as required by interface) + * If no are specified, then assume the h/w is already setup. * * Returns 0 if console matches; otherwise non-zero to use default matching */