diff options
Diffstat (limited to 'src/mainboard/amd')
-rw-r--r-- | src/mainboard/amd/bimini_fam10/Kconfig | 21 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/chip.h | 1 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/get_bus_conf.c | 1 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/irq_tables.c | 3 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/mainboard.c | 4 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/mb_sysconf.h | 4 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/mptable.c | 4 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/pmio.c | 4 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/pmio.h | 1 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/reset.c | 11 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/resourcemap.c | 3 | ||||
-rw-r--r-- | src/mainboard/amd/bimini_fam10/romstage.c | 34 |
12 files changed, 22 insertions, 69 deletions
diff --git a/src/mainboard/amd/bimini_fam10/Kconfig b/src/mainboard/amd/bimini_fam10/Kconfig index de76c9698d..8d675e9fa5 100644 --- a/src/mainboard/amd/bimini_fam10/Kconfig +++ b/src/mainboard/amd/bimini_fam10/Kconfig @@ -6,7 +6,9 @@ config BOARD_SPECIFIC_OPTIONS # dummy select CPU_AMD_SOCKET_ASB2 select DIMM_DDR3 select DIMM_REGISTERED - #select QRANK_DIMM_SUPPORT + # TODO: Enable QRANK_DIMM_SUPPORT? Was commented in the Kconfig file, + # but enabled in the romstage.c file. + select QRANK_DIMM_SUPPORT select NORTHBRIDGE_AMD_AMDFAM10 select SOUTHBRIDGE_AMD_RS780 select SOUTHBRIDGE_AMD_CIMX_WRAPPER_SB800 @@ -14,21 +16,22 @@ config BOARD_SPECIFIC_OPTIONS # dummy select BOARD_HAS_FADT select HAVE_BUS_CONFIG select HAVE_OPTION_TABLE - select GENERATE_PIRQ_TABLE - select GENERATE_MP_TABLE + select HAVE_PIRQ_TABLE + select HAVE_MP_TABLE select HAVE_MAINBOARD_RESOURCES - select CACHE_AS_RAM select HAVE_HARD_RESET select SB_HT_CHAIN_UNITID_OFFSET_ONLY select LIFT_BSP_APIC_ID select SERIAL_CPU_INIT select AMDMCT - select GENERATE_ACPI_TABLES + select HAVE_ACPI_TABLES select BOARD_ROMSIZE_KB_2048 select RAMINIT_SYSINFO select ENABLE_APIC_EXT_ID select TINY_BOOTBLOCK select GFXUMA + select HAVE_DEBUG_CAR + select SET_FIDVID config MAINBOARD_DIR string @@ -90,10 +93,6 @@ config HEAP_SIZE hex default 0xc0000 -config ACPI_SSDTX_NUM - int - default 0 - config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID hex default 0x3060 @@ -106,8 +105,4 @@ config RAMBASE hex default 0x200000 -config COMPRESS - hex - default 0 - endif #BOARD_AMD_BIMINI_FAM10 diff --git a/src/mainboard/amd/bimini_fam10/chip.h b/src/mainboard/amd/bimini_fam10/chip.h index a98b97e98c..20135163b8 100644 --- a/src/mainboard/amd/bimini_fam10/chip.h +++ b/src/mainboard/amd/bimini_fam10/chip.h @@ -17,7 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - extern struct chip_operations mainboard_ops; struct mainboard_config {}; diff --git a/src/mainboard/amd/bimini_fam10/get_bus_conf.c b/src/mainboard/amd/bimini_fam10/get_bus_conf.c index 0c50ed7151..e53aef5109 100644 --- a/src/mainboard/amd/bimini_fam10/get_bus_conf.c +++ b/src/mainboard/amd/bimini_fam10/get_bus_conf.c @@ -26,7 +26,6 @@ #if CONFIG_LOGICAL_CPUS==1 #include <cpu/amd/multicore.h> #endif - #include <cpu/amd/amdfam10_sysconf.h> /* Global variables for MB layouts and these will be shared by irqtable mptable diff --git a/src/mainboard/amd/bimini_fam10/irq_tables.c b/src/mainboard/amd/bimini_fam10/irq_tables.c index 77548ce8cb..9825559b66 100644 --- a/src/mainboard/amd/bimini_fam10/irq_tables.c +++ b/src/mainboard/amd/bimini_fam10/irq_tables.c @@ -22,10 +22,8 @@ #include <string.h> #include <stdint.h> #include <arch/pirq_routing.h> - #include <cpu/amd/amdfam10_sysconf.h> - static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn, u8 link0, u16 bitmap0, u8 link1, u16 bitmap1, u8 link2, u16 bitmap2, u8 link3, u16 bitmap3, @@ -44,6 +42,7 @@ static void write_pirq_info(struct irq_info *pirq_info, u8 bus, u8 devfn, pirq_info->slot = slot; pirq_info->rfu = rfu; } + extern u8 bus_isa; extern u8 bus_rs780[8]; extern u8 bus_sb800[2]; diff --git a/src/mainboard/amd/bimini_fam10/mainboard.c b/src/mainboard/amd/bimini_fam10/mainboard.c index 1e73f6225a..11667d1dd1 100644 --- a/src/mainboard/amd/bimini_fam10/mainboard.c +++ b/src/mainboard/amd/bimini_fam10/mainboard.c @@ -29,7 +29,6 @@ #include "pmio.h" #include "chip.h" - uint64_t uma_memory_base, uma_memory_size; u8 is_dev3_present(void); @@ -94,6 +93,7 @@ u8 is_dev3_present(void) { return 0; } + #if 0 /* not tested yet. */ /******************************************************** * bimini uses SB800 GPIO9 to detect IDE_DMA66. @@ -195,6 +195,6 @@ int add_mainboard_resources(struct lb_memory *mem) } struct chip_operations mainboard_ops = { - CHIP_NAME("AMD BIMINI Mainboard") + CHIP_NAME("AMD Bimini Mainboard") .enable_dev = bimini_enable, }; diff --git a/src/mainboard/amd/bimini_fam10/mb_sysconf.h b/src/mainboard/amd/bimini_fam10/mb_sysconf.h index 8827fb6114..1f4e715376 100644 --- a/src/mainboard/amd/bimini_fam10/mb_sysconf.h +++ b/src/mainboard/amd/bimini_fam10/mb_sysconf.h @@ -18,7 +18,6 @@ */ #ifndef MB_SYSCONF_H - #define MB_SYSCONF_H struct mb_sysconf_t { @@ -38,8 +37,7 @@ struct mb_sysconf_t { u32 sbdn3; u32 sbdn3a[31]; u32 sbdn5[31]; - u32 bus_type[256]; + u32 bus_type[256]; }; #endif - diff --git a/src/mainboard/amd/bimini_fam10/mptable.c b/src/mainboard/amd/bimini_fam10/mptable.c index b78bb2588c..4e6ce88643 100644 --- a/src/mainboard/amd/bimini_fam10/mptable.c +++ b/src/mainboard/amd/bimini_fam10/mptable.c @@ -17,7 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - #include <console/console.h> #include <arch/smp/mpspec.h> #include <device/pci.h> @@ -25,15 +24,12 @@ #include <string.h> #include <stdint.h> #include "pmio.h" - #include <cpu/amd/amdfam10_sysconf.h> extern int bus_isa; extern u8 bus_rs780[11]; extern u8 bus_sb800[2]; - extern u32 apicid_sb800; - extern u32 bus_type[256]; extern u32 sbdn_rs780; extern u32 sbdn_sb800; diff --git a/src/mainboard/amd/bimini_fam10/pmio.c b/src/mainboard/amd/bimini_fam10/pmio.c index 255091c868..3f1efd3895 100644 --- a/src/mainboard/amd/bimini_fam10/pmio.c +++ b/src/mainboard/amd/bimini_fam10/pmio.c @@ -17,8 +17,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - -#include <arch/io.h> /*inb, outb*/ +#include <arch/io.h> #include "pmio.h" static void pmio_write_index(u16 port_base, u8 reg, u8 value) @@ -52,4 +51,3 @@ u8 pm2_ioread(u8 reg) { return pmio_read_index(PM2_INDEX, reg); } - diff --git a/src/mainboard/amd/bimini_fam10/pmio.h b/src/mainboard/amd/bimini_fam10/pmio.h index f03798af0c..ae5f0f983f 100644 --- a/src/mainboard/amd/bimini_fam10/pmio.h +++ b/src/mainboard/amd/bimini_fam10/pmio.h @@ -17,7 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - #ifndef _PMIO_H_ #define _PMIO_H_ diff --git a/src/mainboard/amd/bimini_fam10/reset.c b/src/mainboard/amd/bimini_fam10/reset.c index f76db04bc6..0b32bedb36 100644 --- a/src/mainboard/amd/bimini_fam10/reset.c +++ b/src/mainboard/amd/bimini_fam10/reset.c @@ -17,10 +17,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - #include <reset.h> -#include <arch/io.h> /*inb, outb*/ -#include <arch/romcc_io.h> /*pci_read_config32, device_t, PCI_DEV*/ +#include <arch/io.h> +#include <arch/romcc_io.h> #define HT_INIT_CONTROL 0x6C #define HTIC_BIOSR_Detect (1<<5) @@ -33,13 +32,12 @@ static inline void set_bios_reset(void) { - u32 nodes; - u32 htic; + u32 nodes, htic; device_t dev; int i; nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1; - for(i = 0; i < nodes; i++) { + for (i = 0; i < nodes; i++) { dev = NODE_PCI(i, 0); htic = pci_read_config32(dev, HT_INIT_CONTROL); htic &= ~HTIC_BIOSR_Detect; @@ -63,4 +61,3 @@ void soft_reset(void) /* link reset */ outb(0x06, 0x0cf9); } - diff --git a/src/mainboard/amd/bimini_fam10/resourcemap.c b/src/mainboard/amd/bimini_fam10/resourcemap.c index 7a3631b26a..7a50f90f4d 100644 --- a/src/mainboard/amd/bimini_fam10/resourcemap.c +++ b/src/mainboard/amd/bimini_fam10/resourcemap.c @@ -17,8 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - - static void setup_mb_resource_map(void) { static const unsigned int register_values[] = { @@ -278,4 +276,3 @@ static void setup_mb_resource_map(void) max = ARRAY_SIZE(register_values); setup_resource_map(register_values, max); } - diff --git a/src/mainboard/amd/bimini_fam10/romstage.c b/src/mainboard/amd/bimini_fam10/romstage.c index 29b1be3afe..3709862e5f 100644 --- a/src/mainboard/amd/bimini_fam10/romstage.c +++ b/src/mainboard/amd/bimini_fam10/romstage.c @@ -21,21 +21,10 @@ #define SYSTEM_TYPE 1 /* DESKTOP */ //#define SYSTEM_TYPE 2 /* MOBILE */ -#define CACHE_AS_RAM_ADDRESS_DEBUG 1 - -#define SET_NB_CFG_54 1 - -//used by raminit -#define QRANK_DIMM_SUPPORT 1 - //used by incoherent_ht #define FAM10_SCAN_PCI_BUS 0 #define FAM10_ALLOCATE_IO_RANGE 0 -//used by init_cpus and fidvid -#define SET_FIDVID 1 -#define SET_FIDVID_CORE_RANGE 0 - #include <stdint.h> #include <string.h> #include <device/pci_def.h> @@ -48,47 +37,36 @@ #include <cpu/amd/model_10xxx_rev.h> #include "northbridge/amd/amdfam10/raminit.h" #include "northbridge/amd/amdfam10/amdfam10.h" - #include "cpu/x86/lapic/boot_cpu.c" #include "northbridge/amd/amdfam10/reset_test.c" - #include <console/loglevel.h> #include "cpu/x86/bist.h" - #include "cpu/x86/mtrr/earlymtrr.c" #include <cpu/amd/mtrr.h> #include "northbridge/amd/amdfam10/setup_resource_map.c" - #include "southbridge/amd/rs780/early_setup.c" #include <SbEarly.h> #include <SBPLATFORM.h> /* SB OEM constants */ #include <sb800_smbus.h> #include "northbridge/amd/amdfam10/debug.c" - static void activate_spd_rom(const struct mem_controller *ctrl) { } static int spd_read_byte(u32 device, u32 address) { - int result; - result = do_smbus_read_byte(SMBUS_IO_BASE, device, address); - return result; + return do_smbus_read_byte(SMBUS_IO_BASE, device, address); } - #include "northbridge/amd/amdfam10/raminit_sysinfo_in_ram.c" #include "northbridge/amd/amdfam10/pci.c" - #include "resourcemap.c" #include "cpu/amd/quadcore/quadcore.c" - #include "cpu/amd/car/post_cache_as_ram.c" #include "cpu/amd/microcode/microcode.c" #include "cpu/amd/model_10xxx/update_microcode.c" #include "cpu/amd/model_10xxx/init_cpus.c" - #include "northbridge/amd/amdfam10/early_ht.c" #define RC00 0 @@ -110,11 +88,9 @@ void soft_reset(void) void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx); void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx) { - struct sys_info *sysinfo = (struct sys_info *)(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE - CONFIG_DCACHE_RAM_GLOBAL_VAR_SIZE); static const u8 spd_addr[] = {RC00, DIMM0, DIMM2, 0, 0, DIMM1, DIMM3, 0, 0, }; - u32 bsp_apicid = 0; - u32 val; + u32 bsp_apicid = 0, val; msr_t msr; if (!cpu_init_detectedx && boot_cpu()) { @@ -183,20 +159,20 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx) */ wait_all_core0_started(); - #if CONFIG_LOGICAL_CPUS==1 +#if CONFIG_LOGICAL_CPUS==1 /* Core0 on each node is configured. Now setup any additional cores. */ printk(BIOS_DEBUG, "start_other_cores()\n"); start_other_cores(); post_code(0x37); wait_all_other_cores_started(bsp_apicid); - #endif +#endif post_code(0x38); /* run _early_setup before soft-reset. */ rs780_early_setup(); - #if SET_FIDVID == 1 +#if CONFIG_SET_FIDVID == 1 msr = rdmsr(0xc0010071); printk(BIOS_DEBUG, "\nBegin FIDVID MSR 0xc0010071 0x%08x 0x%08x \n", msr.hi, msr.lo); |