diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-04-03 15:35:09 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2017-04-14 17:20:26 +0200 |
commit | b0161fd2d8679882a50d1f3ce55cdf69278aa32f (patch) | |
tree | 4e1afe4ceae7eec8b832a61fa1de9da079b856ef /src | |
parent | 38d1eb44031eb023f00d52481fc77286d28e5157 (diff) | |
download | coreboot-b0161fd2d8679882a50d1f3ce55cdf69278aa32f.tar.xz |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/asus/a8v-e_deluxe/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/asus/a8v-e_se/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/asus/k8v-x/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/asus/m2v-mx_se/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/asus/m2v/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/bcom/winnetp680/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/jetway/j7f2/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/via/epia-cn/romstage.c | 4 | ||||
-rw-r--r-- | src/mainboard/via/epia-m700/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/via/pc2500e/romstage.c | 4 | ||||
-rw-r--r-- | src/southbridge/via/k8t890/early_car.c | 1 | ||||
-rw-r--r-- | src/southbridge/via/vt8237r/Makefile.inc | 1 | ||||
-rw-r--r-- | src/southbridge/via/vt8237r/early_smbus.c | 10 | ||||
-rw-r--r-- | src/southbridge/via/vt8237r/vt8237r.h | 3 |
14 files changed, 23 insertions, 20 deletions
diff --git a/src/mainboard/asus/a8v-e_deluxe/romstage.c b/src/mainboard/asus/a8v-e_deluxe/romstage.c index 4f942b5cc9..c6ea08da26 100644 --- a/src/mainboard/asus/a8v-e_deluxe/romstage.c +++ b/src/mainboard/asus/a8v-e_deluxe/romstage.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" diff --git a/src/mainboard/asus/a8v-e_se/romstage.c b/src/mainboard/asus/a8v-e_se/romstage.c index 2530aee96e..f2465d03c8 100644 --- a/src/mainboard/asus/a8v-e_se/romstage.c +++ b/src/mainboard/asus/a8v-e_se/romstage.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" diff --git a/src/mainboard/asus/k8v-x/romstage.c b/src/mainboard/asus/k8v-x/romstage.c index 2f7c3df310..a0565a9ce7 100644 --- a/src/mainboard/asus/k8v-x/romstage.c +++ b/src/mainboard/asus/k8v-x/romstage.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" diff --git a/src/mainboard/asus/m2v-mx_se/romstage.c b/src/mainboard/asus/m2v-mx_se/romstage.c index 2efcb6c33a..8aea021081 100644 --- a/src/mainboard/asus/m2v-mx_se/romstage.c +++ b/src/mainboard/asus/m2v-mx_se/romstage.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> diff --git a/src/mainboard/asus/m2v/romstage.c b/src/mainboard/asus/m2v/romstage.c index c61557b2dd..e8053424e3 100644 --- a/src/mainboard/asus/m2v/romstage.c +++ b/src/mainboard/asus/m2v/romstage.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> diff --git a/src/mainboard/bcom/winnetp680/romstage.c b/src/mainboard/bcom/winnetp680/romstage.c index 0c56074398..9ac02d033e 100644 --- a/src/mainboard/bcom/winnetp680/romstage.c +++ b/src/mainboard/bcom/winnetp680/romstage.c @@ -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); diff --git a/src/mainboard/jetway/j7f2/romstage.c b/src/mainboard/jetway/j7f2/romstage.c index 393f5e6764..5aee95d7cd 100644 --- a/src/mainboard/jetway/j7f2/romstage.c +++ b/src/mainboard/jetway/j7f2/romstage.c @@ -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); diff --git a/src/mainboard/via/epia-cn/romstage.c b/src/mainboard/via/epia-cn/romstage.c index 5293aa6387..27c1a46c6c 100644 --- a/src/mainboard/via/epia-cn/romstage.c +++ b/src/mainboard/via/epia-cn/romstage.c @@ -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); diff --git a/src/mainboard/via/epia-m700/romstage.c b/src/mainboard/via/epia-m700/romstage.c index 1c10115492..57b59495c0 100644 --- a/src/mainboard/via/epia-m700/romstage.c +++ b/src/mainboard/via/epia-m700/romstage.c @@ -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); diff --git a/src/mainboard/via/pc2500e/romstage.c b/src/mainboard/via/pc2500e/romstage.c index 2f002be40e..7a2edbfd43 100644 --- a/src/mainboard/via/pc2500e/romstage.c +++ b/src/mainboard/via/pc2500e/romstage.c @@ -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); } diff --git a/src/southbridge/via/k8t890/early_car.c b/src/southbridge/via/k8t890/early_car.c index efb6860045..22a6a47ab4 100644 --- a/src/southbridge/via/k8t890/early_car.c +++ b/src/southbridge/via/k8t890/early_car.c @@ -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 */ diff --git a/src/southbridge/via/vt8237r/Makefile.inc b/src/southbridge/via/vt8237r/Makefile.inc index 6c62dbc20c..e8946a5d61 100644 --- a/src/southbridge/via/vt8237r/Makefile.inc +++ b/src/southbridge/via/vt8237r/Makefile.inc @@ -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 diff --git a/src/southbridge/via/vt8237r/early_smbus.c b/src/southbridge/via/vt8237r/early_smbus.c index 96a5c1b49d..3257cc241d 100644 --- a/src/southbridge/via/vt8237r/early_smbus.c +++ b/src/southbridge/via/vt8237r/early_smbus.c @@ -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("."); diff --git a/src/southbridge/via/vt8237r/vt8237r.h b/src/southbridge/via/vt8237r/vt8237r.h index d745b49af2..95f9750a40 100644 --- a/src/southbridge/via/vt8237r/vt8237r.h +++ b/src/southbridge/via/vt8237r/vt8237r.h @@ -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); |