RTEMS
6.1-rc2
Loading...
Searching...
No Matches
bsps
i386
shared
irq
elcr.h
1
/*
2
* Copyright 2016 Chris Johns <chrisj@rtems.org>
3
*
4
* Header for the FreeBSD ported elcr.c
5
*/
6
7
#ifndef _IRQ_ELCR_H_
8
#define _IRQ_ELCR_H_
9
10
#include <sys/types.h>
11
12
enum
intr_trigger {
13
INTR_TRIGGER_EDGE,
14
INTR_TRIGGER_LEVEL
15
};
16
17
/*
18
* Check to see if we have what looks like a valid ELCR. We do this by
19
* verifying that IRQs 0, 1, 2, and 13 are all edge triggered.
20
*/
21
int
elcr_probe(
void
);
22
23
/*
24
* Returns 1 for level trigger, 0 for edge.
25
*/
26
enum
intr_trigger elcr_read_trigger(u_int irq);
27
28
/*
29
* Set the trigger mode for a specified IRQ. Mode of 0 means edge triggered,
30
* and a mode of 1 means level triggered.
31
*/
32
void
elcr_write_trigger(u_int irq,
enum
intr_trigger trigger);
33
34
void
elcr_resume(
void
);
35
36
37
#endif
Generated by
1.9.6