eobish

annotate src/dos/pit8254.h @ 7:6a350c554e46

started DOS port
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 19 Jan 2015 15:49:14 +0200
parents
children
rev   line source
nuclear@7 1 #ifndef PIT8254_H_
nuclear@7 2 #define PIT8254_H_
nuclear@7 3
nuclear@7 4 /* frequency of the oscillator driving the 8254 timer */
nuclear@7 5 #define OSC_FREQ_HZ 1193182
nuclear@7 6
nuclear@7 7 /* I/O ports connected to the 8254 */
nuclear@7 8 #define PORT_DATA0 0x40
nuclear@7 9 #define PORT_DATA1 0x41
nuclear@7 10 #define PORT_DATA2 0x42
nuclear@7 11 #define PORT_CMD 0x43
nuclear@7 12
nuclear@7 13 /* command bits */
nuclear@7 14 #define CMD_CHAN0 0
nuclear@7 15 #define CMD_CHAN1 (1 << 6)
nuclear@7 16 #define CMD_CHAN2 (2 << 6)
nuclear@7 17 #define CMD_RDBACK (3 << 6)
nuclear@7 18
nuclear@7 19 #define CMD_LATCH 0
nuclear@7 20 #define CMD_ACCESS_LOW (1 << 4)
nuclear@7 21 #define CMD_ACCESS_HIGH (2 << 4)
nuclear@7 22 #define CMD_ACCESS_BOTH (3 << 4)
nuclear@7 23
nuclear@7 24 #define CMD_OP_INT_TERM 0
nuclear@7 25 #define CMD_OP_ONESHOT (1 << 1)
nuclear@7 26 #define CMD_OP_RATE (2 << 1)
nuclear@7 27 #define CMD_OP_SQWAVE (3 << 1)
nuclear@7 28 #define CMD_OP_SW_STROBE (4 << 1)
nuclear@7 29 #define CMD_OP_HW_STROBE (5 << 1)
nuclear@7 30
nuclear@7 31 #define CMD_MODE_BIN 0
nuclear@7 32 #define CMD_MODE_BCD 1
nuclear@7 33
nuclear@7 34 #endif /* PIT8254_H_ */