Subversion Repositories HelenOS

Rev

Rev 3906 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3906 Rev 3907
Line 35... Line 35...
35
 */
35
 */
36
 
36
 
37
#ifndef KERN_NS16550_H_
37
#ifndef KERN_NS16550_H_
38
#define KERN_NS16550_H_
38
#define KERN_NS16550_H_
39
 
39
 
40
#include <console/chardev.h> 
40
#include <console/chardev.h>
41
#include <ddi/irq.h>
41
#include <ddi/irq.h>
42
#include <ipc/irq.h>
42
#include <ipc/irq.h>
43
 
43
 
44
extern void ns16550_init(devno_t, uintptr_t, inr_t, cir_t, void *);
44
extern void ns16550_init(devno_t, uintptr_t, inr_t, cir_t, void *);
45
extern void ns16550_poll(void);
45
extern void ns16550_poll(void);
Line 48... Line 48...
48
extern char ns16550_key_read(chardev_t *);
48
extern char ns16550_key_read(chardev_t *);
49
extern irq_ownership_t ns16550_claim(void *);
49
extern irq_ownership_t ns16550_claim(void *);
50
extern void ns16550_irq_handler(irq_t *);
50
extern void ns16550_irq_handler(irq_t *);
51
 
51
 
52
#include <arch/types.h>
52
#include <arch/types.h>
53
#ifndef ia64
-
 
54
#include <arch/drivers/kbd.h>
53
#include <arch/drivers/kbd.h>
55
#endif
54
 
56
/* NS16550 registers */
55
/* NS16550 registers */
57
#define RBR_REG     0   /** Receiver Buffer Register. */
56
#define RBR_REG     0   /** Receiver Buffer Register. */
58
#define IER_REG     1   /** Interrupt Enable Register. */
57
#define IER_REG     1   /** Interrupt Enable Register. */
59
#define IIR_REG     2   /** Interrupt Ident Register (read). */
58
#define IIR_REG     2   /** Interrupt Ident Register (read). */
60
#define FCR_REG     2   /** FIFO control register (write). */
59
#define FCR_REG     2   /** FIFO control register (write). */