[ag-automation] What's the recommended interface to x86-IO-space

Robert Schwebel r.schwebel at pengutronix.de
Wed Jan 21 00:59:39 CET 2009


On Tue, Jan 20, 2009 at 01:59:21PM +0100, Claus Gindhart wrote:
> Our Kontron HW provides a number of HW functionalities (LEDs, Watchdog, Board 
> configuration and status registers) in a proprietary FPGA.
> 
> The interface to these registers are x86 IO-instructions (inb, outb), and 
> there is also an Interrupt line (for Watchdog)
> 
> Currently, we support this multi-function-FPGA by a proprietary Watchdog 
> driver, which contains a lot of proprietary ioctl()'s.
> Not nice, i know, but functional, and also other companies do it in similar 
> manner.
> 
> But we want to keep in track with the current coding conventions; for this 
> reason i ask, how you would recommend us to implement such a proprietary 
> interface ?
> 
> UIO ? 
> currently, this doesnt support IO-mapped devices, only memory-mapped !
> 
> ioperm() or iopl() to gain access to IO's from user space ?
> Would be the most pragmatic approach, but how would i handle the interrupt 
> then ?
> 
> Staying with our multi-purpose driver ?
> Works well, and also for OSADL-certification it is - as far as i understand 
> this - allowed to have Kernel drivers, which are not upstream-capable.
> 
> Or building a bundle of single-purpose drivers, one for LEDs, one for 
> Watchdog, and so on ?
> Would work, but seems to be too overloaded for this simple functionality.
> 
> What would you recommend ?

The portio portio feature that has recently hit the mainline may be a
start:

http://lwn.net/Articles/310191/

Kind regards,
Robert Schwebel
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


More information about the ag-automation mailing list