Re: IO port conflict between timer & watchdog on PCISA-C800EV board?

From: Charles-Edouard Ruault
Date: Mon Feb 07 2005 - 12:36:04 EST


Randy.Dunlap wrote:

Charles-Edouard Ruault wrote:

Hi All,

i wrote a driver for the watchdog timer provided by a small form factor board from IEI ( the PCISA-C800EV : http://www.iei.com.tw/en/product_IPC.asp?model=PCISA-C800 ).
This board has a Via Apollo PLE133 ( VT8601A and VT82C686B ) chipset.
The watchdog uses two registers at addresses 0x43 and 0x443, therefore my driver tries to get bot addresses for its own use calling
request_region(0x43, 1, "watchdog" ) and request_region(0x443, 1, "watchdog").
The first call to request 0x43 fails because the address has already been allocated to the timer ( /proc/ioports shows 0040-005f : timer ).

So my questions are :
- Why is the generic timer using this address ? isn't it reserving a too wide portion of IO ports ? Should it be modified for this board ?
- If there's a good reason for the timer to request this address, is there a clean way to share it with the timer ?


Missing kernel version.... must be "not the current/latest",
so early 2.6 or more likely 2.4 (just guessing)?

/proc/ioports timer assignments have now been split up like this:
0040-0043 : timer0
0050-0053 : timer1

However, port 0x43 is still assigned to timer0, so your request_region
call will still fail. What system board timer resource assignments
should be used for that VIA chipset? If the chipset timer only needs
0x40-0x42, e.g., leaving 0x43 available, then it would be possible
to do some kind of workaround (maybe not real clean, but possible).

Hi Randy,
thanks for the reply.
My apologies for not including the kernel version ( that's what you get when you try to go too fast ;)
You were right, i'm running 2.4.29 !
I don't know about the resources assignments needed by this timer. I tried to get the spec sheets for the chipset from the via site but i was not able to find it ( i did not spend hours looking tough ).
I was wondering if someone had the info out there !
Right now i'm just not taking into account the failure of the request_region and everything works fine. But i wanted to make it clean so ... i'll have to dig deeper into this i guess !


--
Charles-Edouard Ruault
Idtect SA
115 rue Reaumur - 75002, Paris, France
Tel: +33-1-55-34-76-65
Fax: +33-1-55-34-76-75
Web: http://www.idtect.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/