Re: Odd Serial Port Problem
- From: red floyd <no.spam@xxxxxxxxx>
- Date: Wed, 02 May 2007 18:04:00 GMT
red floyd wrote:
I'm using a RTD CM313HR 4-port board, strapped for COM3-6, with a pc486 BSP. This is a PC104 board, so all the ports are on the ISA bus.
I've got the ports strapped as follows:
COM3 3e8, IRQ5
COM4 2e8, IRQ9
COM5 280, IRQ7
COM6,288, IRQ10
There is nothing else on any of these IRQs.
I've modified configInum.h as follows:
#define INT_NUM_COM3 (INT_NUM_IOAPIC_IRQ5)
#define INT_NUM_COM4 (INT_NUM_IOAPIC_IRQ9)
#define INT_NUM_COM5 (INT_NUM_IOAPIC_IRQ7)
#define INT_NUM_COM6 (INT_NUM_IOAPIC_IRQA)
#define INT_NUM_COM3 (INT_NUM_IRQ0 + COM3_INT_LVL)
#define INT_NUM_COM4 (INT_NUM_IRQ0 + COM4_INT_LVL)
#define INT_NUM_COM5 (INT_NUM_IRQ0 + COM5_INT_LVL)
#define INT_NUM_COM6 (INT_NUM_IRQ0 + COM6_INT_LVL)
And pc.h as follows:
#define COM3_BASE_ADR 0x3e8
#define COM4_BASE_ADR 0x2e8
#define COM5_BASE_ADR 0x280
#define COM6_BASE_ADR 0x288
#define COM3_INT_LVL 0x05
#define COM4_INT_LVL 0x09
#define COM5_INT_LVL 0x07
#define COM6_INT_LVL 0x0A
and sysSerial.c by removing the ifdef in devParas[], and adding/tweaking the following members of devParas[]:
,{INT_NUM_COM3,COM3_BASE_ADR,UART_REG_ADDR_INTERVAL,COM3_INT_LVL}
,{INT_NUM_COM4,COM4_BASE_ADR,UART_REG_ADDR_INTERVAL,COM4_INT_LVL}
,{INT_NUM_COM5,COM5_BASE_ADR,UART_REG_ADDR_INTERVAL,COM5_INT_LVL}
,{INT_NUM_COM6,COM6_BASE_ADR,UART_REG_ADDR_INTERVAL,COM6_INT_LVL}
It appears that COM3 and COM6 work properly, but that COM4 and COM5 do not receive interrupts. I've checked the ports with the manufacturers diagnostics, and they appear to work properly.
Does anyone have experience with either this particular hardware, or upper COM ports on a pc{486,pentium,...}?
Apparently, the pc486 BSP automatically configures IRQ7 to a stray interrupt... *** AFTER calling sysSerialHwInit2 ***. This is ungood. I commented out the offending line in sysLib.c, and COM5 now works (on IRQ7), but I'm still having problems with IRQ9. It looks like pc486 assumes IRQ9 is the second ATA port instead of IRQ15. I've adjusted that in my configInum.h and pc.h as needed, but still have problem.
In my BIOS, I have IRQs 3,4,5,6,7,9 and 10 configured as Legacy ISA so the PCI won't grab them.
I can't seem to find any other clobber of IRQ9 after serial port init. Any ideas?
Thanks
.
- References:
- Odd Serial Port Problem
- From: red floyd
- Odd Serial Port Problem
- Prev by Date: Re: BSP for MVME 5100 and 5500 under Tornado 2.0.2?
- Next by Date: Re: DSI Exception
- Previous by thread: Odd Serial Port Problem
- Next by thread: Question about signal handler execution
- Index(es):
Relevant Pages
|