2011-02-25 13:31:20 +01:00
|
|
|
#ifndef _DDEKIT_RESOURCES_H
|
|
|
|
#define _DDEKIT_RESOURCES_H
|
|
|
|
|
|
|
|
#include <ddekit/ddekit.h>
|
|
|
|
#include <ddekit/types.h>
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* request/release an isa DMA-channel
|
|
|
|
*/
|
|
|
|
|
2012-03-24 16:16:34 +01:00
|
|
|
int ddekit_request_dma(int nr);
|
|
|
|
int ddekit_release_dma(int nr);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* request/release an io-port range starting at addr start, lenght of count
|
|
|
|
*/
|
2012-03-24 16:16:34 +01:00
|
|
|
int ddekit_request_io(ddekit_addr_t start, ddekit_addr_t count);
|
|
|
|
int ddekit_release_io(ddekit_addr_t start, ddekit_addr_t count);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* request an IO-Memory mapping from address start to vaddr of the length count
|
|
|
|
*/
|
2012-03-24 16:16:34 +01:00
|
|
|
int ddekit_request_mem(ddekit_addr_t start, ddekit_addr_t count,
|
|
|
|
ddekit_addr_t *vaddr);
|
|
|
|
int ddekit_release_mem(ddekit_addr_t start, ddekit_addr_t count);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Read I/O port (byte)
|
|
|
|
*
|
|
|
|
* \param port port to read
|
|
|
|
*
|
|
|
|
* \return value read from port
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
unsigned char ddekit_inb(ddekit_addr_t port);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Read I/O port (2-byte)
|
|
|
|
*
|
|
|
|
* \param port port to read
|
|
|
|
*
|
|
|
|
* \return value read from port
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
unsigned short ddekit_inw(ddekit_addr_t port);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Read I/O port (4-byte)
|
|
|
|
*
|
|
|
|
* \param port port to read
|
|
|
|
*
|
|
|
|
* \return value read from port
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
unsigned long ddekit_inl(ddekit_addr_t port);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Write I/O port (byte)
|
|
|
|
*
|
|
|
|
* \param port port to write
|
|
|
|
* \param val value to write
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
void ddekit_outb(ddekit_addr_t port, unsigned char val);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Write I/O port (2-byte)
|
|
|
|
*
|
|
|
|
* \param port port to write
|
|
|
|
* \param val value to write
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
void ddekit_outw(ddekit_addr_t port, unsigned short val);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Write I/O port (4-byte)
|
|
|
|
*
|
|
|
|
* \param port port to write
|
|
|
|
* \param val value to write
|
|
|
|
*/
|
2012-06-05 11:43:18 +02:00
|
|
|
void ddekit_outl(ddekit_addr_t port, unsigned long val);
|
2011-02-25 13:31:20 +01:00
|
|
|
|
|
|
|
|
|
|
|
#endif
|