MPC8xx: Using SCM/SCC and standard 16C550 Uarts together...

David Jander david.jander at
Wed Jan 12 20:51:58 EST 2005

Hi all,

The situation is:
Our custom board needs to use SCM1 as console, and has an external quad uart 
chip (16C554) connected to the external bus, mapped at 0xf8100000.
I am using the ppclinux_2_4_devel tree from Denx.
I ioremapped that address space, and it seems to work. Right now I don't have 
the daughterboard with the quad-uarts working (as in hardware), so I can't 
fully test that.

The problem is:
Apparently arch/ppc/8xx_io/uart.c doesn't take into account other serial 
drivers that may initialize later, and uses a serial_state struct statically.
Shouldn't this be visible to the outside? Shouldn't there be a global 
serial_state structure somewhere that lists all serial ports?
Right now, I get this:

CPM UART driver version 0.04
ttyS0 at 0x0280 is on SMC1 using BRG1
ttyS1 at 0x0200 is on SCC3 using BRG2
ttyS2 at 0x0300 is on SCC4 using BRG3
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ enabled
VFS: Mounted root (jffs2 filesystem).
Mounted devfs on /dev
Freeing unused kernel memory: 56k init

And then nothing more. I assume, at that point init opens /dev/console (ttyS0) 
and that device doesn't exist, since drivers/char/serial.c doesn't detect any 
uart at the moment.
If it did, maybe I would get console stuff out of the first 16c554 port.

Has anybody else tried this?
What would be the right way to fix this?


David Jander
Protonic Holland.

More information about the Linuxppc-embedded mailing list