|
iPXE
|
8254 Programmable Interval Timer More...
Go to the source code of this file.
Macros | |
| #define | PIT8254_CH_IRQ0 0 |
| IRQ0 channel. | |
| #define | PIT8254_CH_SPKR 2 |
| PC speaker channel. | |
| #define | PIT8254_HZ 1193182UL |
| Timer frequency (1.193182MHz) | |
| #define | PIT8254_DATA(channel) |
| Data port. | |
| #define | PIT8254_CMD 0x43 |
| Mode/command register. | |
| #define | PIT8254_CMD_CHANNEL(channel) |
| Select channel. | |
| #define | PIT8254_CMD_ACCESS_LATCH 0x00 |
| Access modes. | |
| #define | PIT8254_CMD_ACCESS_LO 0x10 |
| Low byte only. | |
| #define | PIT8254_CMD_ACCESS_HI 0x20 |
| High byte only. | |
| #define | PIT8254_CMD_ACCESS_LOHI 0x30 |
| Low-byte, high-byte pair. | |
| #define | PIT8254_CMD_OP_TERMINAL 0x00 |
| Interrupt on terminal count. | |
| #define | PIT8254_CMD_OP_ONESHOT 0x02 |
| Hardware re-triggerable one-shot. | |
| #define | PIT8254_CMD_OP_RATE 0x04 |
| Rate generator. | |
| #define | PIT8254_CMD_OP_SQUARE 0x06 |
| Square wave generator. | |
| #define | PIT8254_CMD_OP_SWSTROBE 0x08 |
| Software triggered strobe. | |
| #define | PIT8254_CMD_OP_HWSTROBE 0x0a |
| Hardware triggered strobe. | |
| #define | PIT8254_CMD_OP_RATE2 0x0c |
| Rate generator (duplicate) | |
| #define | PIT8254_CMD_OP_SQUARE2 0x0e |
| Square wave generator (duplicate) | |
| #define | PIT8254_CMD_BINARY 0x00 |
| Binary mode. | |
| #define | PIT8254_CMD_BCD 0x01 |
| BCD mode. | |
| #define | PIT8254_SPKR 0x61 |
| PC speaker control register. | |
| #define | PIT8254_SPKR_GATE 0x01 |
| PC speaker channel gate. | |
| #define | PIT8254_SPKR_ENABLE 0x02 |
| PC speaker enabled. | |
| #define | PIT8254_SPKR_OUT 0x20 |
| PC speaker channel output. | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| void | pit8254_speaker_delay (unsigned int ticks) |
| Delay for a fixed number of timer ticks using the speaker channel. | |
| static | __attribute__ ((always_inline)) void pit8254_udelay(unsigned long usecs) |
| Delay for a fixed number of microseconds. | |
8254 Programmable Interval Timer
Definition in file pit8254.h.
| #define PIT8254_CH_SPKR 2 |
| #define PIT8254_HZ 1193182UL |
Timer frequency (1.193182MHz)
Definition at line 19 of file pit8254.h.
Referenced by __attribute__().
| #define PIT8254_DATA | ( | channel | ) |
Data port.
Definition at line 22 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_CMD 0x43 |
Mode/command register.
Definition at line 25 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_CMD_CHANNEL | ( | channel | ) |
Select channel.
Definition at line 28 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_CMD_ACCESS_LATCH 0x00 |
| #define PIT8254_CMD_ACCESS_LOHI 0x30 |
Low-byte, high-byte pair.
Definition at line 34 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_CMD_OP_TERMINAL 0x00 |
Interrupt on terminal count.
Definition at line 37 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_CMD_OP_ONESHOT 0x02 |
| #define PIT8254_CMD_OP_SWSTROBE 0x08 |
| #define PIT8254_CMD_OP_HWSTROBE 0x0a |
| #define PIT8254_CMD_OP_RATE2 0x0c |
| #define PIT8254_CMD_OP_SQUARE2 0x0e |
| #define PIT8254_CMD_BINARY 0x00 |
| #define PIT8254_SPKR 0x61 |
PC speaker control register.
Definition at line 53 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_SPKR_GATE 0x01 |
PC speaker channel gate.
Definition at line 56 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| #define PIT8254_SPKR_ENABLE 0x02 |
| #define PIT8254_SPKR_OUT 0x20 |
PC speaker channel output.
Definition at line 62 of file pit8254.h.
Referenced by pit8254_speaker_delay().
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
extern |
Delay for a fixed number of timer ticks using the speaker channel.
| ticks | Number of timer ticks for which to delay |
Definition at line 41 of file pit8254.c.
References assert, cmd, high, inb, low, outb, PIT8254_CH_SPKR, PIT8254_CMD, PIT8254_CMD_ACCESS_LOHI, PIT8254_CMD_BINARY, PIT8254_CMD_CHANNEL, PIT8254_CMD_OP_TERMINAL, PIT8254_DATA, PIT8254_SPKR, PIT8254_SPKR_ENABLE, PIT8254_SPKR_GATE, and PIT8254_SPKR_OUT.
Referenced by __attribute__().
|
inlinestatic |
Delay for a fixed number of microseconds.
| usecs | Number of microseconds for which to delay |
Definition at line 71 of file pit8254.h.
References PIT8254_HZ, and pit8254_speaker_delay().