[LinuxBIOS] [patch 09/10] AMD Geode GX/LX: CS5536 Southbridge

Peter Stuge stuge-linuxbios at cdy.org
Fri May 4 03:50:53 CEST 2007


On Thu, May 03, 2007 at 12:15:57PM -0600, Marc Jones wrote:
> Index: LinuxBIOSv2/src/include/device/pci_ids.h
> ===================================================================
> --- LinuxBIOSv2.orig/src/include/device/pci_ids.h	2007-05-02 15:35:45.000000000 -0600
> +++ LinuxBIOSv2/src/include/device/pci_ids.h	2007-05-02 15:36:07.000000000 -0600
> @@ -452,12 +452,13 @@
>  #define PCI_DEVICE_ID_AMD_AES		0x2082
>  #define PCI_DEVICE_ID_AMD_CS5536_ISA	0x2090
>  #define PCI_DEVICE_ID_AMD_CS5536_FLASH	0x2091
> -#define PCI_DEVICE_ID_AMD_CS5536_IDE	0x2092
> +#define PCI_DEVICE_ID_AMD_CS5536_IDE_A0	0x2092
>  #define PCI_DEVICE_ID_AMD_CS5536_AUDIO	0x2093
>  #define PCI_DEVICE_ID_AMD_CS5536_OHCI	0x2094
>  #define PCI_DEVICE_ID_AMD_CS5536_EHCI	0x2095
>  #define PCI_DEVICE_ID_AMD_CS5536_UDC	0x2096
>  #define PCI_DEVICE_ID_AMD_CS5536_OTG	0x2097
> +#define PCI_DEVICE_ID_AMD_CS5536_IDE	0x209A

I would like this to be more future proof, e.g. with _CS5536_A0_IDE
and _CS5536_B3_IDE. (assuming B3 is the first rev with the new ID)

Otherwise, the next time the PCI ID is bumped, a new build of old
working code will break at runtime. That's unneccessary. Better it
breaks at compile time or not at all..


> +static void pmChipsetInit(void) {
..

> +	/*	PM_SED*/
> +	port =	(PMS_IO_BASE + 0x014);
> +/*	mov		eax, 0x057642	; 100ms, works*/
> +	val =  0x04601		; /*  5ms*/
> +	outl(val, port);

An assembly comment lost in C code. Let's help it find it's way back
home. :)

These comments are a bit confusing, maybe just because I don't have
the data book at hand?

"100ms, works" but let's use 5ms instead?

It would be nice to have a better description of the reference
values here.


> +	outb( P80_CHIPSET_INIT, 0x80);

What was the resolution of the POST code output discussion?

I would prefer if post_code() was used throughout so smart things
could be added to that function later.


> +	/* we hope NEVER to be in linuxbios when S3 resumes
> +	if (! IsS3Resume()) */

"hope" ? At the very least expand on the problem in the comment.


> Index: LinuxBIOSv2/src/southbridge/amd/cs5536/cs5536_early_setup.c
> ===================================================================
> --- LinuxBIOSv2.orig/src/southbridge/amd/cs5536/cs5536_early_setup.c	2007-05-02 15:35:45.000000000 -0600
> +++ LinuxBIOSv2/src/southbridge/amd/cs5536/cs5536_early_setup.c	2007-05-02 15:36:07.000000000 -0600

[..]

> -static void cs5536_setup_power_bottun(void)
> +static void cs5536_setup_power_button(void)

[..]

> -	; setup GPIO24, it is the external signal for 5536 vsb_work_aux
> +	/* setup GPIO24, it is the external signal for 5536 vsb_work_aux
>  	; which controls all voltage rails except Vstandby & Vmem.

Could this be any GPIO ball or is GPIO24 muxed with another function
and GPIO24 just serves as a reference here?

If any GPIO - it would be nice to make this an option.

If muxed, is there a more relevant signal name that could be used
instead of GPIO24?


//Peter




More information about the coreboot mailing list