Changeset 0f74869 in mainline for kernel/genarch/include
- Timestamp:
- 2009-02-22T15:20:43Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f9f9a13
- Parents:
- e7abb0e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/kbd/z8530.h
re7abb0e r0f74869 38 38 #define KERN_Z8530_H_ 39 39 40 #include <console/chardev.h>41 #include <ipc/irq.h>42 40 #include <ddi/irq.h> 41 #include <arch/types.h> 43 42 44 extern bool z8530_belongs_to_kernel; 43 #define WR0 0 44 #define WR1 1 45 #define WR2 2 46 #define WR3 3 47 #define WR4 4 48 #define WR5 5 49 #define WR6 6 50 #define WR7 7 51 #define WR8 8 52 #define WR9 9 53 #define WR10 10 54 #define WR11 11 55 #define WR12 12 56 #define WR13 13 57 #define WR14 14 58 #define WR15 15 45 59 46 extern void z8530_init(devno_t, uintptr_t, inr_t, cir_t, void *); 47 extern void z8530_poll(void); 48 extern void z8530_grab(void); 49 extern void z8530_release(void); 50 extern void z8530_interrupt(void); 51 extern char z8530_key_read(chardev_t *); 60 #define RR0 0 61 #define RR1 1 62 #define RR2 2 63 #define RR3 3 64 #define RR8 8 65 #define RR10 10 66 #define RR12 12 67 #define RR13 13 68 #define RR14 14 69 #define RR15 15 70 71 /** Reset pending TX interrupt. */ 72 #define WR0_TX_IP_RST (0x5 << 3) 73 #define WR0_ERR_RST (0x6 << 3) 74 75 /** Receive Interrupts Disabled. */ 76 #define WR1_RID (0x0 << 3) 77 /** Receive Interrupt on First Character or Special Condition. */ 78 #define WR1_RIFCSC (0x1 << 3) 79 /** Interrupt on All Receive Characters or Special Conditions. */ 80 #define WR1_IARCSC (0x2 << 3) 81 /** Receive Interrupt on Special Condition. */ 82 #define WR1_RISC (0x3 << 3) 83 /** Parity Is Special Condition. */ 84 #define WR1_PISC (0x1 << 2) 85 86 /** Rx Enable. */ 87 #define WR3_RX_ENABLE (0x1 << 0) 88 /** 8-bits per character. */ 89 #define WR3_RX8BITSCH (0x3 << 6) 90 91 /** Master Interrupt Enable. */ 92 #define WR9_MIE (0x1 << 3) 93 94 /** Receive Character Available. */ 95 #define RR0_RCA (0x1 << 0) 96 97 /** z8530's registers. */ 98 struct z8530 { 99 union { 100 ioport8_t ctl_b; 101 ioport8_t status_b; 102 } __attribute__ ((packed)); 103 uint8_t pad1; 104 ioport8_t data_b; 105 uint8_t pad2; 106 union { 107 ioport8_t ctl_a; 108 ioport8_t status_a; 109 } __attribute__ ((packed)); 110 uint8_t pad3; 111 ioport8_t data_a; 112 } __attribute__ ((packed)); 113 typedef struct z8530 z8530_t; 114 115 /** Structure representing the z8530 device. */ 116 typedef struct { 117 devno_t devno; 118 irq_t irq; 119 z8530_t *z8530; 120 } z8530_instance_t; 121 122 extern bool z8530_init(z8530_t *, devno_t, inr_t, cir_t, void *); 52 123 extern irq_ownership_t z8530_claim(irq_t *); 53 124 extern void z8530_irq_handler(irq_t *);
Note:
See TracChangeset
for help on using the changeset viewer.