summaryrefslogtreecommitdiff
path: root/src/mainboard/supermicro
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2009-09-25 18:43:02 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2009-09-25 18:43:02 +0000
commit88f55b2c12f94fd0451902ee2edc663f12e401f4 (patch)
tree446179d449934a1dafeb2a2df44b8a515e380807 /src/mainboard/supermicro
parent6bb3bdf869ab06a972520c5a58c6fc9b7cfe99f4 (diff)
some progress on kconfig:
- northbridges are done - southbridges are done - Intel CPUs are done, with a design that the board only has to specify the socket it has, and the CPUs are pulled in automatically. There is some more cleanup possible in that area, but I'll do that later - a couple more mainboards compile: - intel/eagleheights - intel/jarrell - intel/mtarvon - intel/truxton - intel/xe7501devkit - sunw/ultra40 - supermicro/h8dme - tyan/s2850 - tyan/s2875 - via/epia - via/epia-cn - via/epia-m - via/epia-m700 - via/epia-n - via/pc2500e (PPC not considered, probably overlooked something) All of them only _build_, but some options are probably completely wrong. To be fixed later Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4673 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/mainboard/supermicro')
-rw-r--r--src/mainboard/supermicro/Kconfig15
-rw-r--r--src/mainboard/supermicro/h8dme/Kconfig130
-rw-r--r--src/mainboard/supermicro/h8dme/Makefile.inc82
3 files changed, 226 insertions, 1 deletions
diff --git a/src/mainboard/supermicro/Kconfig b/src/mainboard/supermicro/Kconfig
index 792d600548..9c984985c2 100644
--- a/src/mainboard/supermicro/Kconfig
+++ b/src/mainboard/supermicro/Kconfig
@@ -1 +1,14 @@
-#
+choice
+ prompt "Mainboard model"
+ depends on VENDOR_SUPERMICRO
+
+source "src/mainboard/supermicro/h8dme/Kconfig"
+#source "src/mainboard/supermicro/h8dmr/Kconfig"
+#source "src/mainboard/supermicro/x6dai_g/Kconfig"
+#source "src/mainboard/supermicro/x6dhe_g/Kconfig"
+#source "src/mainboard/supermicro/x6dhe_g2/Kconfig"
+#source "src/mainboard/supermicro/x6dhr_ig/Kconfig"
+#source "src/mainboard/supermicro/x6dhr_ig2/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/supermicro/h8dme/Kconfig b/src/mainboard/supermicro/h8dme/Kconfig
new file mode 100644
index 0000000000..c3e857a367
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/Kconfig
@@ -0,0 +1,130 @@
+config BOARD_SUPERMICRO_H8DME
+ bool "h8dme"
+ select ARCH_X86
+ select CPU_AMD_K8
+ select CPU_AMD_SOCKET_F
+ select NORTHBRIDGE_AMD_AMDK8
+ select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+ select SOUTHBRIDGE_NVIDIA_MCP55
+ select SUPERIO_WINBOND_W83627HF
+ select HAVE_PIRQ_TABLE
+ select USE_PRINTK_IN_CAR
+ select USE_DCACHE_RAM
+ help
+ h8dme
+
+config MAINBOARD_DIR
+ string
+ default supermicro/h8dme
+ depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xc8000
+ depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x08000
+ depends on BOARD_SUPERMICRO_H8DME
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x01000
+ depends on BOARD_SUPERMICRO_H8DME
+
+config APIC_ID_OFFSET
+ hex
+ default 0x10
+ depends on BOARD_SUPERMICRO_H8DME
+
+config HAVE_HARD_RESET
+ bool
+ default y
+ depends on BOARD_SUPERMICRO_H8DME
+
+config IOAPIC
+ bool
+ default y
+ depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ bool
+ default n
+ depends on BOARD_SUPERMICRO_H8DME
+
+config LB_CKS_RANGE_END
+ int
+ default 122
+ depends on BOARD_SUPERMICRO_H8DME
+
+config LB_CKS_LOC
+ int
+ default 123
+ depends on BOARD_SUPERMICRO_H8DME
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "ultra40"
+ depends on BOARD_SUPERMICRO_H8DME
+
+config HW_MEM_HOLE_SIZEK
+ hex
+ default 0x100000
+ depends on BOARD_SUPERMICRO_H8DME
+
+config HAVE_FAILOVER_BOOT
+ bool
+ default n
+ depends on BOARD_SUPERMICRO_H8DME
+
+config USE_FAILOVER_IMAGE
+ bool
+ default n
+ depends on BOARD_SUPERMICRO_H8DME
+
+config MAX_CPUS
+ int
+ default 4
+ depends on BOARD_SUPERMICRO_H8DME
+
+config MAX_PHYSICAL_CPUS
+ int
+ default 2
+ depends on BOARD_SUPERMICRO_H8DME
+
+config HT_CHAIN_END_UNITID_BASE
+ hex
+ default 0x0
+ depends on BOARD_SUPERMICRO_H8DME
+
+config HT_CHAIN_UNITID_BASE
+ hex
+ default 0x0
+ depends on BOARD_SUPERMICRO_H8DME
+
+config USE_INIT
+ bool
+ default n
+ depends on BOARD_SUPERMICRO_H8DME
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_SUPERMICRO_H8DME
+
+config CONSOLE_VGA
+ bool
+ default y
+ depends on BOARD_SUPERMICRO_H8DME
+
+config PCI_ROM_RUN
+ bool
+ default y
+ depends on BOARD_SUPERMICRO_H8DME
+
diff --git a/src/mainboard/supermicro/h8dme/Makefile.inc b/src/mainboard/supermicro/h8dme/Makefile.inc
new file mode 100644
index 0000000000..e51ef68290
--- /dev/null
+++ b/src/mainboard/supermicro/h8dme/Makefile.inc
@@ -0,0 +1,82 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2007-2008 coresystems GmbH
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License as
+## published by the Free Software Foundation; version 2 of
+## the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+## MA 02110-1301 USA
+##
+
+driver-y += mainboard.o
+driver-y += ../../../drivers/i2c/i2cmux2/i2cmux2.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+obj-y += get_bus_conf.o
+obj-$(CONFIG_HAVE_MP_TABLE) += mptable.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+
+# This is part of the conversion to init-obj and away from included code.
+
+initobj-y += crt0.o
+# FIXME in $(top)/Makefile
+crt0-y += ../../../../src/cpu/x86/16bit/entry16.inc
+crt0-y += ../../../../src/cpu/x86/32bit/entry32.inc
+crt0-y += ../../../../src/cpu/x86/16bit/reset16.inc
+crt0-y += ../../../../src/arch/i386/lib/id.inc
+crt0-y += ../../../../src/cpu/amd/car/cache_as_ram.inc
+crt0-y += auto.inc
+
+ldscript-y += ../../../../src/arch/i386/init/ldscript_fallback_cbfs.lb
+ldscript-y += ../../../../src/cpu/x86/16bit/entry16.lds
+ldscript-y += ../../../../src/cpu/x86/16bit/reset16.lds
+ldscript-y += ../../../../src/arch/i386/lib/id.lds
+ldscript-y += ../../../../src/arch/i386/lib/failover.lds
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=\
+ -DCONFIG_AP_IN_SIPI_WAIT=0 \
+ -DCONFIG_USE_PRINTK_IN_CAR=1 \
+ -DCONFIG_HAVE_HIGH_TABLES=1
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+ iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dx/dsdt_lb.dsl
+ mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+ $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/ssdt2.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci2.asl
+ iasl -p $(CURDIR)/pci2 -tc $(CONFIG_MAINBOARD)/dx/pci2.asl
+ perl -pi -e 's/AmlCode/AmlCode_ssdt2/g' pci2.hex
+ mv pci2.hex ssdt2.c
+
+$(obj)/ssdt3.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci3.asl"
+ iasl -p $(CURDIR)/pci3 -tc $(CONFIG_MAINBOARD)/
+ perl -pi -e 's/AmlCode/AmlCode_ssdt3/g' pci3.hex
+ mv pci3.hex ssdt3.c
+
+$(obj)/ssdt4.c: $(src)/mainboard/$(MAINBOARDDIR)/dx/pci4.asl"
+ iasl -p $(CURDIR)/pci4 -tc $(CONFIG_MAINBOARD)/dx/pci4.asl
+ perl -pi -e 's/AmlCode/AmlCode_ssdt4/g' pci4.hex
+ mv pci4.hex ssdt4.c
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/option_table.h
+ $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@
+ perl -e 's/\.rodata/.rom.data/g' -pi $@
+ perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+