Subject: RFC: MPC52xx serial port configuration from DT blob

From: Bartlomiej Sieka <[email-masked]>
Date: Fri, 13 Apr 2007 23:21:06 +0200

Hi All,

We have a MPC5200B-based board running an arch/powerpc kernel and we
need the ability to configure a non-console serial port for a particular
baud rate during system start-up. It seems that the UART driver in
drivers/serial/mpc52xx_uart.c does not support this. It only allows to
set parameters for a port that is used as a console, and for which those
parameters are passed in the kernel command line. We would like to
extend the mpc52xx_uart.c driver to be able to retrieve port options
from the DT blob and configure a given port accordingly. A new
port-specific property called "options" would be used for this. It would
have syntax following its namesake in "console" kernel parameter, as
described in Documentation/kernel-parameters.txt.

For example, the following settings in the .dts file would make UART5 to 
be configured at 115200 baud, no parity, 8 bits.

serial@2800 {           // PSC5
         device_type = "serial";
         compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart";
         port-number = <4>;  // Logical port assignment
         options = "115200n8"
         cell-index = <4>;
         reg = <2800 100>;
         interrupts = <2 c 0>;
         interrupt-parent = <500>;
};

In case a console port has conflicting options given in the kernel 
command line and in the DT blob, the command line values would be used.

Any comments on the above will be appreciated.

Thanks in advance,
Bartlomiej