ASUS F2A85-M: romstage.c: Set RAM voltage for non 1.5 Volt case
authorPaul Menzel <paulepanter@users.sourceforge.net>
Sun, 5 May 2013 10:09:16 +0000 (12:09 +0200)
committerMartin Roth <martin.roth@se-eng.com>
Mon, 20 May 2013 16:33:23 +0000 (18:33 +0200)
commitb2cddd4c12d99df55a1fd856cceea27372ce3f69
treecacd182582651fed89b0ab83393c9b48b5be81bc
parent963bed546f316af15bf1e4d1819388b8998ef5ec
ASUS F2A85-M: romstage.c: Set RAM voltage for non 1.5 Volt case

Currently the code in the if statement

    if (!byte)
     do_smbus_write_byte(0xb20, 0x15, 0x3, byte);

only gets executed if `byte == 0x0`, that means only in the
default case where RAM voltage is 1.5 Volts. But the RAM voltage
should be changed when configured for the non-default case.

So negate the predicate to alter the RAM voltage for the
non-default cases.

To prevent the build error

    OBJCOPY    cbfs/fallback/coreboot_ram.elf
    coreboot-builds/asus_f2a85-m/generated/crt0.romstage.o: In function `cache_as_ram_main':
    /srv/jenkins/.jenkins/jobs/coreboot-gerrit/workspace/src/mainboard/asus/f2a85-m/romstage.c:106: undefined reference to `do_smbus_write_byte'
    collect2: error: ld returned 1 exit status
    make: *** [coreboot-builds/asus_f2a85-m/cbfs/fallback/romstage_null.debug] Error 1

add `southbridge/amd/agesa/hudson/smbus.c` providing the function
`do_smbus_write_byte` to ROM stage in `Makefile.inc`. That can
actually be used after the needed header files are included in a
previous commit.

Change-Id: I89542479c4cf6d412614bcf4586ea98e097328d6
Reported-by: David Hubbard <david.c.hubbard+coreboot@gmail.com>
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/3200
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martin.roth@se-eng.com>
src/mainboard/asus/f2a85-m/romstage.c
src/southbridge/amd/agesa/hudson/Makefile.inc