Re: [PATCH] autodetect serial console on efika

2008-01-21 Thread Grant Likely
On 1/21/08, Olaf Hering <[EMAIL PROTECTED]> wrote:
> On Mon, Jan 21, Grant Likely wrote:
>
> > On 1/21/08, Olaf Hering <[EMAIL PROTECTED]> wrote:
> > >
> > > Efika boards have to be booted with console=ttyPSC0 unless there is a
> > > graphics card plugged in. Detect if the firmware stdout is the serial
> > > connector.
> > >
> > > Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
> >
> > Hrrrum; I think this is a good idea, but I'm not thrilled with the
> > approach.  Here are my concerns:
> >
> > - Determining that linux,stdout-path points to a PSC should should be
> > done in common code.  It's useful for all 5200 boards, not just the
> > Efika.  (However, if 'failsafe' processing is efika specific, then it
> > can stay in efika.c).  This might be best done within the PSC driver
> > itself, but I'm not sure.
> > - Recognizing a psc node should be done by inspecting the compatible
> > property, not by device_type and model properties.
>
> I dont have any other 5200 hardware to test a different patch.
> Please improve my version and submit it for inclusion.

Heh; that's okay, I and others can test on other hardware; but it's
still appropriate for you to move the matching code into the PSC
driver proper.  Otherwise, getting it in to mainline for 2.6.25
depends on how much time I get free in the next 2 weeks.

g.


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] autodetect serial console on efika

2008-01-21 Thread Olaf Hering
On Mon, Jan 21, Grant Likely wrote:

> On 1/21/08, Olaf Hering <[EMAIL PROTECTED]> wrote:
> >
> > Efika boards have to be booted with console=ttyPSC0 unless there is a
> > graphics card plugged in. Detect if the firmware stdout is the serial
> > connector.
> >
> > Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
> 
> Hrrrum; I think this is a good idea, but I'm not thrilled with the
> approach.  Here are my concerns:
> 
> - Determining that linux,stdout-path points to a PSC should should be
> done in common code.  It's useful for all 5200 boards, not just the
> Efika.  (However, if 'failsafe' processing is efika specific, then it
> can stay in efika.c).  This might be best done within the PSC driver
> itself, but I'm not sure.
> - Recognizing a psc node should be done by inspecting the compatible
> property, not by device_type and model properties.

I dont have any other 5200 hardware to test a different patch.
Please improve my version and submit it for inclusion.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] autodetect serial console on efika

2008-01-21 Thread Grant Likely
On 1/21/08, Olaf Hering <[EMAIL PROTECTED]> wrote:
>
> Efika boards have to be booted with console=ttyPSC0 unless there is a
> graphics card plugged in. Detect if the firmware stdout is the serial
> connector.
>
> Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>

Hrrrum; I think this is a good idea, but I'm not thrilled with the
approach.  Here are my concerns:

- Determining that linux,stdout-path points to a PSC should should be
done in common code.  It's useful for all 5200 boards, not just the
Efika.  (However, if 'failsafe' processing is efika specific, then it
can stay in efika.c).  This might be best done within the PSC driver
itself, but I'm not sure.
- Recognizing a psc node should be done by inspecting the compatible
property, not by device_type and model properties.

Thanks,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] autodetect serial console on efika

2008-01-21 Thread Andreas Schwab
Olaf Hering <[EMAIL PROTECTED]> writes:

> +/*
> + * Per default, input/output-device points to keyboard/screen
> + * If no card is installed, the built-in serial port is used as a fallback.
> + * But unfortunately, the firmware does not connect /chosen/{stdin,stdout}
> + * the the built-in serial node. Instead, a /failsafe node is created.

s/the the/to the/

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] autodetect serial console on efika

2008-01-21 Thread Geert Uytterhoeven
On Mon, 21 Jan 2008, Olaf Hering wrote:
> + * But unfortunately, the firmware does not connect /chosen/{stdin,stdout}
> + * the the built-in serial node. Instead, a /failsafe node is created.
  ^^^
  to

The same typo is in the pegasos2 patch.

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Network and Software Technology Center Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:+32 (0)2 700 8453
Fax:  +32 (0)2 700 8622
E-mail:   [EMAIL PROTECTED]
Internet: http://www.sony-europe.com/

Sony Network and Software Technology Center Europe
A division of Sony Service Centre (Europe) N.V.
Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium
VAT BE 0413.825.160 · RPR Brussels
Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

[PATCH] autodetect serial console on efika

2008-01-21 Thread Olaf Hering

Efika boards have to be booted with console=ttyPSC0 unless there is a
graphics card plugged in. Detect if the firmware stdout is the serial
connector.

Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/52xx/efika.c |   50 
 1 file changed, 50 insertions(+)

--- a/arch/powerpc/platforms/52xx/efika.c
+++ b/arch/powerpc/platforms/52xx/efika.c
@@ -13,6 +13,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -208,12 +209,61 @@ static int __init efika_probe(void)
return 1;
 }
 
+/*
+ * Per default, input/output-device points to keyboard/screen
+ * If no card is installed, the built-in serial port is used as a fallback.
+ * But unfortunately, the firmware does not connect /chosen/{stdin,stdout}
+ * the the built-in serial node. Instead, a /failsafe node is created.
+ * More advanced hardware configurations cant be detected,
+ * boot with console=xyz123 to point the kernel to the correct device
+ */
+static void __init efika_init_early(void)
+{
+#ifdef CONFIG_SERIAL_MPC52xx
+   struct device_node *stdout_node;
+   const char *property;
+
+   if (strstr(cmd_line, "console="))
+   return;
+   /* find the boot console from /chosen/stdout */
+   if (!of_chosen)
+   return;
+   property = of_get_property(of_chosen, "linux,stdout-path", NULL);
+   if (!property)
+   return;
+   stdout_node = of_find_node_by_path(property);
+   if (!stdout_node)
+   return;
+   property = of_get_property(stdout_node, "device_type", NULL);
+   if (property && strcmp(property, "serial") == 0) {
+   /*
+* The 9pin connector is either /failsafe or /builtin/serial.
+* The optional graphics card has also type 'serial' in VGA 
mode.
+*/
+   property = of_get_property(stdout_node, "name", NULL);
+   if (property) {
+   if (strcmp(property, "failsafe") == 0)
+   add_preferred_console("ttyPSC", 0, NULL);
+   else {
+   if (strcmp(property, "serial") == 0) {
+   property = of_get_property(stdout_node, 
"model", NULL);
+   if (property && strcmp(property, 
"mpc5200-serial") == 0)
+   add_preferred_console("ttyPSC", 
0, NULL);
+   }
+   }
+   }
+   }
+   of_node_put(stdout_node);
+#endif
+}
+
 define_machine(efika)
 {
.name   = EFIKA_PLATFORM_NAME,
.probe  = efika_probe,
.setup_arch = efika_setup_arch,
.init   = mpc52xx_declare_of_platform_devices,
+   .init_early = efika_init_early,
.show_cpuinfo   = efika_show_cpuinfo,
.init_IRQ   = mpc52xx_init_irq,
.get_irq= mpc52xx_get_irq,
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev