dostunnel

annotate src/pit8254.h @ 3:a8024271c662

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