On 11/03/08 15:53 +0500, Nikolay Petukhov wrote:
Hi, all.
I have PCISA-LX-800 board (AMD LX800 + CS5536) http://www.ieiworld.com/en/product_IPC.asp?model=PCISA-LX.
With coreboot bios pc speaker not work on Linux. But with vendor BIOS pc speaker work on Linux OK.
The CS5536 datasheet say: Legacy PC/AT Speaker Beep is only available when GPIO1 is programmed to OUT_AUX1. The coreboot not enable pc speaker output on cs5536.
This patch enable pc speaker output on cs5536 based devices.
Signed-off-by: Nikolay Petukhov <nikolay.petukhov at gmail.com>
comments below.
-- Nikolay
diff -Nru coreboot-v2-3132/src/southbridge/amd/cs5536/cs5536_early_setup.c coreboot-v2-3132-beep/src/southbridge/amd/cs5536/cs5536_early_setup.c --- coreboot-v2-3132/src/southbridge/amd/cs5536/cs5536_early_setup.c 2008-01-18 15:35:56.000000000 +0500 +++ coreboot-v2-3132-beep/src/southbridge/amd/cs5536/cs5536_early_setup.c 2008-03-11 10:36:42.000000000 +0500 @@ -123,6 +123,15 @@ outl(val, GPIO_IO_BASE + GPIOL_INPUT_ENABLE); }
+static void cs5536_setup_beep(void) +{
- /* GPIO1 - BEEP */
- /* Set: Output Enable (0x4) */
- outl(GPIOL_1_SET, GPIO_IO_BASE + GPIOL_OUTPUT_ENABLE);
- /* Set: OUTAUX1 Select (0x10) */
- outl(GPIOL_1_SET, GPIO_IO_BASE + GPIOL_OUT_AUX1_SELECT);
+}
I think we should wrap this with a config option. Lots of platform designs these days are omitting the legacy speaker hardware and reclaiming GPIO1.
static void cs5536_disable_internal_uart(void) { msr_t msr; @@ -221,4 +230,5 @@ cs5536_enable_smbus(); //print_debug("Setup power button\r\n"); cs5536_setup_power_button();
- cs5536_setup_beep();
}
Jordan