southbridge/via/vt8237r: Get rid of #include early_smbus.c
Use linker instead of '#include *.c'. The smbus_fixup() was changed not to use a structure that's defined by a northbridge since multiple different northbridges can be used. Instead the caller now directly passed the memory slot details. Change-Id: Ia369ece6365accbc531736fc463c713bbc134807 Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Reviewed-on: https://review.coreboot.org/19082 Tested-by: build bot (Jenkins) Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
38d1eb4403
commit
b0161fd2d8
|
@ -37,7 +37,7 @@ unsigned int get_sbdn(unsigned bus);
|
|||
#include "northbridge/amd/amdk8/early_ht.c"
|
||||
#include <superio/winbond/common/winbond.h>
|
||||
#include <superio/winbond/w83627ehg/w83627ehg.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include "northbridge/amd/amdk8/debug.c" /* After vt8237r/early_smbus.c! */
|
||||
#include <cpu/x86/bist.h>
|
||||
#include "northbridge/amd/amdk8/setup_resource_map.c"
|
||||
|
|
|
@ -37,7 +37,7 @@ unsigned int get_sbdn(unsigned bus);
|
|||
#include "northbridge/amd/amdk8/early_ht.c"
|
||||
#include <superio/winbond/common/winbond.h>
|
||||
#include <superio/winbond/w83627ehg/w83627ehg.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include "northbridge/amd/amdk8/debug.c" /* After vt8237r/early_smbus.c! */
|
||||
#include <cpu/x86/bist.h>
|
||||
#include "northbridge/amd/amdk8/setup_resource_map.c"
|
||||
|
|
|
@ -37,7 +37,7 @@ unsigned int get_sbdn(unsigned bus);
|
|||
#include "northbridge/amd/amdk8/early_ht.c"
|
||||
#include <superio/winbond/common/winbond.h>
|
||||
#include <superio/winbond/w83697hf/w83697hf.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include "northbridge/amd/amdk8/debug.c" /* After vt8237r/early_smbus.c! */
|
||||
#include <cpu/x86/bist.h>
|
||||
#include "northbridge/amd/amdk8/setup_resource_map.c"
|
||||
|
|
|
@ -37,7 +37,7 @@ unsigned int get_sbdn(unsigned bus);
|
|||
#include "northbridge/amd/amdk8/debug.c"
|
||||
#include <superio/ite/common/ite.h>
|
||||
#include <superio/ite/it8712f/it8712f.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include <cpu/x86/bist.h>
|
||||
#include "northbridge/amd/amdk8/setup_resource_map.c"
|
||||
#include <spd.h>
|
||||
|
|
|
@ -37,7 +37,7 @@ unsigned int get_sbdn(unsigned bus);
|
|||
#include "northbridge/amd/amdk8/debug.c"
|
||||
#include <superio/ite/common/ite.h>
|
||||
#include <superio/ite/it8712f/it8712f.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include <cpu/x86/bist.h>
|
||||
#include "northbridge/amd/amdk8/setup_resource_map.c"
|
||||
#include <spd.h>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <delay.h>
|
||||
#include <lib.h>
|
||||
#include <spd.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include <superio/winbond/common/winbond.h>
|
||||
#include <superio/winbond/w83697hf/w83697hf.h>
|
||||
|
||||
|
@ -84,7 +84,7 @@ void main(unsigned long bist)
|
|||
console_init();
|
||||
|
||||
enable_smbus();
|
||||
smbus_fixup(&ctrl);
|
||||
smbus_fixup(ctrl.channel0, ARRAY_SIZE(ctrl.channel0));
|
||||
|
||||
/* Halt if there was a built-in self test failure. */
|
||||
report_bist_failure(bist);
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include <cpu/x86/bist.h>
|
||||
#include <cpu/amd/car.h>
|
||||
#include <delay.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include <superio/fintek/common/fintek.h>
|
||||
#include <superio/fintek/f71805f/f71805f.h>
|
||||
#include <lib.h>
|
||||
|
@ -88,7 +88,7 @@ void main(unsigned long bist)
|
|||
console_init();
|
||||
|
||||
enable_smbus();
|
||||
smbus_fixup(&ctrl);
|
||||
smbus_fixup(ctrl.channel0, ARRAY_SIZE(ctrl.channel0));
|
||||
|
||||
/* Halt if there was a built-in self test failure. */
|
||||
report_bist_failure(bist);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <cpu/x86/bist.h>
|
||||
#include <cpu/amd/car.h>
|
||||
#include <delay.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include "southbridge/via/vt8237r/early_serial.c"
|
||||
#include <spd.h>
|
||||
|
||||
|
@ -80,7 +80,7 @@ void main(unsigned long bist)
|
|||
enable_vt8237r_serial();
|
||||
console_init();
|
||||
enable_smbus();
|
||||
smbus_fixup(&ctrl);
|
||||
smbus_fixup(ctrl.channel0, ARRAY_SIZE(ctrl.channel0));
|
||||
report_bist_failure(bist);
|
||||
enable_mainboard_devices();
|
||||
ddr_ram_setup(&ctrl);
|
||||
|
|
|
@ -439,7 +439,7 @@ void main(unsigned long bist)
|
|||
enable_smbus();
|
||||
|
||||
/* This fix does help vx800!, but vx855 doesn't need this. */
|
||||
/* smbus_fixup(&ctrl); */
|
||||
/* smbus_fixup(ctrl.channel0, ARRAY_SIZE(ctrl.channel0)); */
|
||||
|
||||
/* Halt if there was a built-in self test failure. */
|
||||
report_bist_failure(bist);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <cpu/x86/bist.h>
|
||||
#include <cpu/amd/car.h>
|
||||
#include <delay.h>
|
||||
#include "southbridge/via/vt8237r/early_smbus.c"
|
||||
#include <southbridge/via/vt8237r/vt8237r.h>
|
||||
#include <superio/ite/common/ite.h>
|
||||
#include <superio/ite/it8716f/it8716f.h>
|
||||
#include <spd.h>
|
||||
|
@ -56,7 +56,7 @@ void main(unsigned long bist)
|
|||
ite_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
|
||||
console_init();
|
||||
enable_smbus();
|
||||
smbus_fixup(&ctrl);
|
||||
smbus_fixup(ctrl.channel0, ARRAY_SIZE(ctrl.channel0));
|
||||
report_bist_failure(bist);
|
||||
ddr_ram_setup(&ctrl);
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <cbmem.h>
|
||||
#include <arch/io.h>
|
||||
#include <arch/acpi.h>
|
||||
#include "k8x8xx.h"
|
||||
|
||||
/* The 256 bytes of NVRAM for S3 storage, 256B aligned */
|
||||
|
|
|
@ -24,6 +24,7 @@ ramstage-y += usb.c
|
|||
ramstage-$(CONFIG_PIRQ_ROUTE) += pirq.c
|
||||
ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c
|
||||
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
|
||||
romstage-y += early_smbus.c
|
||||
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
|
||||
|
||||
endif
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
#if !defined(__ROMCC__)
|
||||
#include <arch/acpi.h>
|
||||
#endif
|
||||
#include <console/console.h>
|
||||
#include <arch/io.h>
|
||||
#include <device/pci_def.h>
|
||||
#include <device/pci_ids.h>
|
||||
#include <spd.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -218,12 +221,11 @@ void enable_smbus(void)
|
|||
*
|
||||
* @param ctrl The memory controller and SMBus addresses.
|
||||
*/
|
||||
void smbus_fixup(const struct mem_controller *ctrl)
|
||||
void smbus_fixup(const u8 channel0[], int ram_slots)
|
||||
{
|
||||
int i, ram_slots, current_slot = 0;
|
||||
int i, current_slot = 0;
|
||||
u8 result = 0;
|
||||
|
||||
ram_slots = ARRAY_SIZE(ctrl->channel0);
|
||||
if (!ram_slots) {
|
||||
printk(BIOS_ERR, "smbus_fixup() thinks there are no RAM slots!\n");
|
||||
return;
|
||||
|
@ -242,7 +244,7 @@ void smbus_fixup(const struct mem_controller *ctrl)
|
|||
if (current_slot > ram_slots)
|
||||
current_slot = 0;
|
||||
|
||||
result = smbus_read_byte(ctrl->channel0[current_slot],
|
||||
result = smbus_read_byte(channel0[current_slot],
|
||||
SPD_MEMORY_TYPE);
|
||||
current_slot++;
|
||||
PRINT_DEBUG(".");
|
||||
|
|
|
@ -136,8 +136,7 @@ struct vt8237_network_rom {
|
|||
u8 smbus_read_byte(u8 dimm, u8 offset);
|
||||
void smbus_write_byte(u8 dimm, u8 offset, u8 data);
|
||||
void enable_smbus(void);
|
||||
void smbus_fixup(const struct mem_controller *ctrl);
|
||||
// these are in vt8237_early_smbus.c - do they really belong there?
|
||||
void smbus_fixup(const u8 channel0[], int ram_slots);
|
||||
void vt8237_sb_enable_fid_vid(void);
|
||||
void enable_rom_decode(void);
|
||||
void vt8237_early_spi_init(void);
|
||||
|
|
Loading…
Reference in New Issue