|
iPXE
|
8254 Programmable Interval Timer More...
Go to the source code of this file.
Macros | |
| #define | PIT8254_CH_IRQ0 0 |
| IRQ0 channel. More... | |
| #define | PIT8254_CH_SPKR 2 |
| PC speaker channel. More... | |
| #define | PIT8254_HZ 1193182UL |
| Timer frequency (1.193182MHz) More... | |
| #define | PIT8254_DATA(channel) ( 0x40 + (channel) ) |
| Data port. More... | |
| #define | PIT8254_CMD 0x43 |
| Mode/command register. More... | |
| #define | PIT8254_CMD_CHANNEL(channel) ( (channel) << 6 ) |
| Select channel. More... | |
| #define | PIT8254_CMD_ACCESS_LATCH 0x00 |
| Access modes. More... | |
| #define | PIT8254_CMD_ACCESS_LO 0x10 |
| Low byte only. More... | |
| #define | PIT8254_CMD_ACCESS_HI 0x20 |
| High byte only. More... | |
| #define | PIT8254_CMD_ACCESS_LOHI 0x30 |
| Low-byte, high-byte pair. More... | |
| #define | PIT8254_CMD_OP_TERMINAL 0x00 |
| Interrupt on terminal count. More... | |
| #define | PIT8254_CMD_OP_ONESHOT 0x02 |
| Hardware re-triggerable one-shot. More... | |
| #define | PIT8254_CMD_OP_RATE 0x04 |
| Rate generator. More... | |
| #define | PIT8254_CMD_OP_SQUARE 0x06 |
| Square wave generator. More... | |
| #define | PIT8254_CMD_OP_SWSTROBE 0x08 |
| Software triggered strobe. More... | |
| #define | PIT8254_CMD_OP_HWSTROBE 0x0a |
| Hardware triggered strobe. More... | |
| #define | PIT8254_CMD_OP_RATE2 0x0c |
| Rate generator (duplicate) More... | |
| #define | PIT8254_CMD_OP_SQUARE2 0x0e |
| Square wave generator (duplicate) More... | |
| #define | PIT8254_CMD_BINARY 0x00 |
| Binary mode. More... | |
| #define | PIT8254_CMD_BCD 0x01 |
| BCD mode. More... | |
| #define | PIT8254_SPKR 0x61 |
| PC speaker control register. More... | |
| #define | PIT8254_SPKR_GATE 0x01 |
| PC speaker channel gate. More... | |
| #define | PIT8254_SPKR_ENABLE 0x02 |
| PC speaker enabled. More... | |
| #define | PIT8254_SPKR_OUT 0x20 |
| PC speaker channel output. More... | |
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. More... | |
| static | __attribute__ ((always_inline)) void pit8254_udelay(unsigned long usecs) |
| Delay for a fixed number of microseconds. More... | |
8254 Programmable Interval Timer
Definition in file pit8254.h.
| #define PIT8254_DATA | ( | channel | ) | ( 0x40 + (channel) ) |
| #define PIT8254_CMD_ACCESS_LATCH 0x00 |
| #define PIT8254_CMD_ACCESS_LOHI 0x30 |
| #define PIT8254_CMD_OP_TERMINAL 0x00 |
| #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 |
| 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.
| 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().
1.8.15