Thread (34 messages) 34 messages, 6 authors, 2014-04-23

[PATCH 0/8] Generic serial earlycon

From: Grant Likely <hidden>
Date: 2014-03-29 00:17:38
Also in: linux-serial, lkml

On Sat, 22 Mar 2014 09:14:31 -0500, Rob Herring [off-list ref] wrote:
On Sat, Mar 22, 2014 at 4:54 AM, Arnd Bergmann [off-list ref] wrote:
quoted
On Friday 21 March 2014, Rob Herring wrote:
quoted
From: Rob Herring <robh@kernel.org>

This started out as an attempt to add arm64's earlyprintk support to ARM
in order to get an earlier, runtime setup console on multi-platform
kernels. The first issue was needing the fixmap support which
conveniently Mark Salter was working on and is mostly in place now. Like
many things on ARM and arm64 now, it then became where do I put the now
common, shared code. After digging more into various early console/printk
support, it turns out the 8250_early.c setup code was the best starting
point.

This is based on Mark Salter's fixmap support currently in linux-next.
This is tested on arm64 and ARM with pl011 and 8250. The ARM support
also requires fixmap and fixed mapping support which are not yet in place.
I have some patches in my tree to support fixmap, but they need some more
work. Fortunately, once fixmap is in place, it is just a Kconfig option
to enable earlycon support on ARM. A git tree is available here[1].

Based on this series, I would like to add support for doing earlycon
setup using DT.
Hi Rob,

I like this series a lot, great work!

I would consider the DT parsing support essential here, we should not
merge the patches until that is done as well, because I don't want
to see users pass earlycon command line options in DT when they can
use the established "linux,stdout-path" property instead. I would
expect that in almost every case in which we are booting using DT
today, we can just use linux,stdout-path to locate the device that
the boot loader has already set up and start usign it.
I think this series stands on its own. It is largely refactoring
existing code and supporting existing command line options (arm64 just
changes from earlyprintk= to earlycon=). There will be cases where
changing the kernel command line is the only way to setup the
earlycon. Also, I think we would still want the kernel command line to
control whether or not we enable the earlycon (i.e. earlycon=dt).
There's not a standard way for how bootloaders would decide to set
"linux,stdout-path" or not.
I agree. I really like this series and I don't think it needs to wait
for DT parsing.

Another issue is that the earlycon assumes the port is already set up,
but the /chosen/stdout-path binding doesn't guarantee that. We'll have
to make sure the kernel knows when it is valid to use
/chosen/stdout-path before enabling an early console.

g.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help