Building serial_cs.ko (PXA serial 8250 conflict)

Nathan M ngmlinux at gmail.com
Thu Aug 18 16:03:41 EDT 2005


>> So are you suggesting the only solution is to wait for the PXA
>> developers to fix the bug in the PXA-serial driver?  If I absolutely
>> had to get a system working with both the PXA serial ports and an
>> 8250
>> UART in a short timeframe, what would you recommend as the best work
>> around solution until the PXA bug has been resolved?

> Change the major/minor number and the "ttyS" name in the PXA
> driver.
> Other people have changed it to be the same as the SA11x0 serial
> driver -
> major 204 minor 5 to 7 inclusive, name "ttySA".

Ok, I'll give this a shot, however I want to make absolutely sure that
this will not lead to other conflicts especially issues with the
serial port I'm using for my terminal to the board.  The COM port used
for my terminal / console is set in the ARMmon bootloader on
CompuLab's PXA board.  So I'm hoping any change in Linux will not
disagree with that?

My hardware configuration is as follows:

Port       ARMCORE name     Origin
=================================
COM1     COM-A                   PXA255
COM2     COM-B                   PCI bridge
COM3     COM-C                   PXA255
COM4     COM-D                   SIO
COM5     IrDA                       PXA255

Also, here is some relivent info given while booting Linux:

===code==============================
Kernel command line: root=/dev/nand console=ttyS0,38400
.
.
.
SA1100/PXA2xx Watchdog Timer: timer margin 60 sec
ttyS0 at MMIO 0x40200000 (irq = 14) is a BTUART
ttyS1 at MMIO 0x40700000 (irq = 13) is a STUART
ttyS2 at MMIO 0x40100000 (irq = 15) is a FFUART
ttyS3 at MMIO 0xe7e002f8 (irq = 121) is a SIO UART
ttyS4 at MMIO 0xe7f00200 (irq = 122) is a IT81
=====================================

As you can see ttyS<0-4> are required for UARTs on the system, I think
of which ttyS0, ttyS2 and ttyS4 are PXA driven.  I'm not sure what
would happen to ttyS1 and ttyS3 if I simply modified the PXA driver. 
Perhaps nothing?  Additionally wouldn't using the namespace of the
SA1100 driver conflict with my watchdog timer?

If I'm understanding your suggestion correctly my guess is that I
should end up with the following?:

ttySA5 at MMIO 0x40200000 (irq = 14) is a BTUART
ttyS1 at MMIO 0x40700000 (irq = 13) is a STUART
ttySA6 at MMIO 0x40100000 (irq = 15) is a FFUART
ttyS3 at MMIO 0xe7e002f8 (irq = 121) is a SIO UART
ttySA7 at MMIO 0xe7f00200 (irq = 122) is a IT81

Leaving ttyS0 availible for the 8250 driver?  Or would ttyS1 and ttyS3
automatically fall into ttyS0 and ttyS1?

I have to admit I'm still no expert when it comes to namespace
conflicts, so I just want to be sure I'm aware of the consequences
associated with making changes and how dependent things are on drivers
residing in specific spaces.

Thanks.

-Nathan



More information about the linux-pcmcia mailing list