Hi Geert,

On Tue, Sep 19, 2017 at 06:49:48PM +0200, Geert Uytterhoeven wrote:
> Hi Stafford,
> 
> On Tue, Sep 19, 2017 at 4:00 PM, Stafford Horne <[email protected]> wrote:
> > During reviews of the OpenRISC SMP patch series it was suggested to add
> > stdout-path to the SMP dts file.  Add stdout-path to our other dts files
> > to be a good example.
> >
> > Signed-off-by: Stafford Horne <[email protected]>
> > ---
> >  arch/openrisc/boot/dts/or1ksim.dts | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/openrisc/boot/dts/or1ksim.dts 
> > b/arch/openrisc/boot/dts/or1ksim.dts
> > index 5d4f9027afaf..ecc30968cbcb 100644
> > --- a/arch/openrisc/boot/dts/or1ksim.dts
> > +++ b/arch/openrisc/boot/dts/or1ksim.dts
> > @@ -7,6 +7,7 @@
> >
> >         chosen {
> >                 bootargs = "console=uart,mmio,0x90000000,115200";
> > +               stdout-path = &serial0;
> 
> I think that should be:
> 
> -               bootargs = "console=uart,mmio,0x90000000,115200";
> +               stdout-path = "serial0:115200";
> 
> If stdout-path is present, it will become the default console.
> All other UART parameters except for the serial speed are derived from
> the serial0 node (= serial@90000000) in DT.

Thanks for the tip.  I have seen examples using alias `&serial0;` and using
the name directly `serio0:115200', but I guess I didnt really understand
what was going on.  I read through as much of the console initialization,
of, earlycon and printk code as I needed to refresh my memory on this...

It seems there are a few other issues here:
  - To use "serial0:115200" we will need an alias to the path (or specify
    the full path)
  - It looks like we can't use console= and stdout-path at the same time
  - We still need "earlycon" to define that we want to initialize early
    printk

I think updating to something like the below works, but its a few extra
lines:


diff --git a/arch/openrisc/boot/dts/or1ksim.dts 
b/arch/openrisc/boot/dts/or1ksim.dts
index ecc30968cbcb..37779a45947c 100644
--- a/arch/openrisc/boot/dts/or1ksim.dts
+++ b/arch/openrisc/boot/dts/or1ksim.dts
@@ -5,9 +5,13 @@
        #size-cells = <1>;
        interrupt-parent = <&pic>;
 
+       aliases {
+               uart0 = &serial0;
+       };
+
        chosen {
-               bootargs = "console=uart,mmio,0x90000000,115200";
-               stdout-path = &serial0;
+               bootargs = "earlycon";
+               stdout-path = "uart0:115200";
        };
 
        memory@0 {


The boot prompt before showed:

    Kernel command line: console=uart,mmio,0x90000000,115200
    earlycon: uart0 at MMIO 0x90000000 (options '115200')
    bootconsole [uart0] enabled

Now it shows:

    Kernel command line: earlycon
    earlycon: ns16550a0 at MMIO 0x90000000 (options '115200')
    bootconsole [ns16550a0] enabled

-Stafford

Reply via email to