mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
x86: Make sure i8254 is setup correctly before generating beeps
The i8254 timer control IO port (0x43) should be setup correctly by using PIT counter 2 to generate beeps, however in U-Boot other codes like TSC driver utilizes PIT for TSC frequency calibration and configures the counter 2 to a different mode that does not beep. Fix this by always ensuring the PIT counter 2 is correctly initialized so that the i8254 beeper driver works as expected. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -51,6 +51,10 @@ int i8254_enable_beep(uint frequency_hz)
|
|||||||
if (!frequency_hz)
|
if (!frequency_hz)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
/* make sure i8254 is setup correctly before generating beeps */
|
||||||
|
outb(PIT_CMD_CTR2 | PIT_CMD_BOTH | PIT_CMD_MODE3,
|
||||||
|
PIT_BASE + PIT_COMMAND);
|
||||||
|
|
||||||
i8254_set_beep_freq(frequency_hz);
|
i8254_set_beep_freq(frequency_hz);
|
||||||
setio_8(SYSCTL_PORTB, PORTB_BEEP_ENABLE);
|
setio_8(SYSCTL_PORTB, PORTB_BEEP_ENABLE);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user