[coreboot] pc speaker and cs5536

Jordan Crouse jordan.crouse at amd.com
Tue Mar 11 15:34:59 CET 2008


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

-- 
Jordan Crouse
Systems Software Development Engineer 
Advanced Micro Devices, Inc.





More information about the coreboot mailing list