Hello,
This patch adds support for my Asus M2V-MX-SE motherboard, but in order
for it to really compile, we need to fix the libgcc issue in a way or
another.
Cristi
Index: src/southbridge/via/vt8237r/Kconfig
===================================================================
--- src/southbridge/via/vt8237r/Kconfig (revision 0)
+++ src/southbridge/via/vt8237r/Kconfig (revision 0)
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_VIA_VT8237R
+ bool
+ default n
Index: src/southbridge/via/vt8237r/Makefile.inc
===================================================================
--- src/southbridge/via/vt8237r/Makefile.inc (revision 0)
+++ src/southbridge/via/vt8237r/Makefile.inc (revision 0)
@@ -0,0 +1,7 @@
+driver-y += vt8237r.o
+driver-y += vt8237_ctrl.o
+driver-y += vt8237r_ide.o
+driver-y += vt8237r_lpc.o
+driver-y += vt8237r_sata.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += vt8237_fadt.o
Index: src/southbridge/via/Kconfig
===================================================================
--- src/southbridge/via/Kconfig (revision 4543)
+++ src/southbridge/via/Kconfig (working copy)
@@ -1,5 +1,5 @@
source src/southbridge/via/k8t890/Kconfig
-source src/southbridge/via/vt8231/Kconfig
-source src/southbridge/via/vt8235/Kconfig
+#source src/southbridge/via/vt8231/Kconfig
+#source src/southbridge/via/vt8235/Kconfig
source src/southbridge/via/vt8237r/Kconfig
-source src/southbridge/via/vt82c686/Kconfig
+#source src/southbridge/via/vt82c686/Kconfig
Index: src/southbridge/via/Makefile.inc
===================================================================
--- src/southbridge/via/Makefile.inc (revision 4543)
+++ src/southbridge/via/Makefile.inc (working copy)
@@ -1,5 +1,5 @@
-subdirs-y += k8t890
-subdirs-y += vt8231
-subdirs-y += vt8235
-subdirs-y += vt8237r
-subdirs-y += vt82c686
+subdirs-$(CONFIG_SOUTHBRIDGE_VIA_K8T890) += k8t890
+#subdirs-y += vt8231
+#subdirs-y += vt8235
+subdirs-$(CONFIG_SOUTHBRIDGE_VIA_VT8237R) += vt8237r
+#subdirs-y += vt82c686
Index: src/southbridge/via/k8t890/Kconfig
===================================================================
--- src/southbridge/via/k8t890/Kconfig (revision 0)
+++ src/southbridge/via/k8t890/Kconfig (revision 0)
@@ -0,0 +1,3 @@
+config SOUTHBRIDGE_VIA_K8T890
+ bool
+ default n
Index: src/southbridge/via/k8t890/Makefile.inc
===================================================================
--- src/southbridge/via/k8t890/Makefile.inc (revision 0)
+++ src/southbridge/via/k8t890/Makefile.inc (revision 0)
@@ -0,0 +1,9 @@
+driver-y += k8t890_ctrl.o
+driver-y += k8t890_dram.o
+driver-y += k8t890_bridge.o
+driver-y += k8t890_host.o
+driver-y += k8t890_host_ctrl.o
+driver-y += k8t890_pcie.o
+driver-y += k8t890_traf_ctrl.o
+driver-y += k8t890_error.o
+driver-y += k8m890_chrome.o
Index: src/southbridge/Kconfig
===================================================================
--- src/southbridge/Kconfig (revision 4543)
+++ src/southbridge/Kconfig (working copy)
@@ -4,5 +4,5 @@
#source src/southbridge/nvidia/Kconfig
#source src/southbridge/ricoh/Kconfig
#source src/southbridge/sis/Kconfig
-#source src/southbridge/via/Kconfig
+source src/southbridge/via/Kconfig
#source src/southbridge/winbond/Kconfig
Index: src/southbridge/Makefile.inc
===================================================================
--- src/southbridge/Makefile.inc (revision 4543)
+++ src/southbridge/Makefile.inc (working copy)
@@ -4,5 +4,5 @@
#subdirs-y += nvidia
#subdirs-y += ricoh
#subdirs-y += sis
-#subdirs-y += via
+subdirs-y += via
#subdirs-y += winbond
Index: src/cpu/amd/Kconfig
===================================================================
--- src/cpu/amd/Kconfig (revision 4543)
+++ src/cpu/amd/Kconfig (working copy)
@@ -1,8 +1,10 @@
#source src/cpu/amd/socket_754/Kconfig
#source src/cpu/amd/socket_939/Kconfig
#source src/cpu/amd/socket_940/Kconfig
-#source src/cpu/amd/socket_AM2/Kconfig
+source src/cpu/amd/socket_AM2/Kconfig
#source src/cpu/amd/socket_AM2r2/Kconfig
source src/cpu/amd/socket_F/Kconfig
#source src/cpu/amd/socket_F_1207/Kconfig
#source src/cpu/amd/socket_S1G1/Kconfig
+
+#source src/cpu/amd/model_fxx/Kconfig
Index: src/cpu/amd/Makefile.inc
===================================================================
--- src/cpu/amd/Makefile.inc (revision 4543)
+++ src/cpu/amd/Makefile.inc (working copy)
@@ -1 +1,2 @@
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += socket_F
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += socket_AM2
Index: src/cpu/amd/socket_AM2/Kconfig
===================================================================
--- src/cpu/amd/socket_AM2/Kconfig (revision 0)
+++ src/cpu/amd/socket_AM2/Kconfig (revision 0)
@@ -0,0 +1,30 @@
+config CPU_AMD_SOCKET_AM2
+ bool
+ default false
+
+config CPU_SOCKET_TYPE
+ hex
+ default 0x10
+ depends on CPU_AMD_SOCKET_AM2
+
+config K8_REV_F_SUPPORT
+ hex
+ default 1
+ depends on CPU_AMD_SOCKET_AM2
+
+#Opteron K8 1G HT Support
+config K8_HT_FREQ_1G_SUPPORT
+ hex
+ default 1
+ depends on CPU_AMD_SOCKET_AM2
+
+#DDR2 and REG
+config DIMM_SUPPORT
+ hex
+ default 0x0104
+ depends on CPU_AMD_SOCKET_AM2
+
+config CPU_SOCKET_TYPE
+ hex
+ default 0x10
+ depends on CPU_AMD_SOCKET_AM2
Index: src/cpu/amd/socket_AM2/Makefile.inc
===================================================================
--- src/cpu/amd/socket_AM2/Makefile.inc (revision 0)
+++ src/cpu/amd/socket_AM2/Makefile.inc (revision 0)
@@ -0,0 +1,16 @@
+obj-$(CONFIG_CPU_AMD_SOCKET_AM2) += socket_AM2.o
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../model_fxx
+
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../dualcore
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../mtrr
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../microcode
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/tsc
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/mtrr
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/fpu
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/mmx
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/sse
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/lapic
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/cache
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/mtrr
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/pae
+subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += ../../x86/smm
Index: src/cpu/amd/socket_F/Kconfig
===================================================================
--- src/cpu/amd/socket_F/Kconfig (revision 4543)
+++ src/cpu/amd/socket_F/Kconfig (working copy)
@@ -29,4 +29,3 @@
default 0x10
depends on CPU_AMD_SOCKET_F
-source src/cpu/amd/model_fxx/Kconfig
Index: src/cpu/amd/socket_F/Makefile.inc
===================================================================
--- src/cpu/amd/socket_F/Makefile.inc (revision 4543)
+++ src/cpu/amd/socket_F/Makefile.inc (working copy)
@@ -1,7 +1,9 @@
obj-$(CONFIG_CPU_AMD_SOCKET_F) += socket_F.o
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../model_fxx
+
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../dualcore
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../mtrr
+subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../microcode
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../../x86/tsc
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../../x86/mtrr
subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += ../../x86/fpu
Index: src/cpu/amd/microcode/Makefile.inc
===================================================================
--- src/cpu/amd/microcode/Makefile.inc (revision 0)
+++ src/cpu/amd/microcode/Makefile.inc (revision 0)
@@ -0,0 +1 @@
+obj-y += microcode.o
Index: src/mainboard/asus/Kconfig
===================================================================
--- src/mainboard/asus/Kconfig (revision 4543)
+++ src/mainboard/asus/Kconfig (working copy)
@@ -1 +1 @@
-#
+source "src/mainboard/asus/m2v-mx_se/Kconfig"
Index: src/mainboard/asus/m2v-mx_se/Kconfig
===================================================================
--- src/mainboard/asus/m2v-mx_se/Kconfig (revision 0)
+++ src/mainboard/asus/m2v-mx_se/Kconfig (revision 0)
@@ -0,0 +1,145 @@
+choice
+ prompt "Mainboard model"
+ depends on VENDOR_ASUS
+
+config BOARD_ASUS_M2V_MX_SE
+ bool "M2V-MX-SE"
+ select ARCH_X86
+ select CPU_AMD_K8
+ select CPU_AMD_SOCKET_AM2
+ select NORTHBRIDGE_AMD_AMDK8
+ select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+ select SOUTHBRIDGE_VIA_VT8237R
+ select SOUTHBRIDGE_VIA_K8T890
+ select SUPERIO_ITE_IT8712F
+ select USE_PRINTK_IN_CAR
+ help
+ Asus M2V-MX-SE
+endchoice
+
+config MAINBOARD_DIR
+ string
+ default asus/m2v-mx_se
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config USE_DCACHE_RAM
+ int
+ default 1
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xcc000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x4000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x01000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config APIC_ID_OFFSET
+ hex
+ default 0x10
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config HAVE_HARD_RESET
+ bool
+ default y
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config IOAPIC
+ bool
+ default y
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config MAINBOARD_VENDOR
+ string
+ default "ASUS"
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "M2V-MX SE"
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config USE_DCACHE_RAM
+ int
+ default 1
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xc8000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x08000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x01000
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config USE_FAILOVER_IMAGE
+ int
+ default 0
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config HAVE_FAILOVER_BOOT
+ int
+ default 0
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config MAX_CPUS
+ int
+ default 2
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config MAX_PHYSICAL_CPUS
+ int
+ default 1
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config CONSOLE_VGA
+ bool
+ default y
+ depends on BOARD_ASUS_M2V_MX_SE
+
+
+config STACK_SIZE
+ int
+ default 8192
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config HEAP_SIZE
+ int
+ default 262144
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config HAVE_OPTION_TABLE
+ bool
+ default y
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config HAVE_ACPI_TABLES
+ bool
+ default y
+ depends on BOARD_ASUS_M2V_MX_SE
+
+
+config LB_CKS_RANGE_END
+ int
+ default 122
+ depends on BOARD_ASUS_M2V_MX_SE
+
+config LB_CKS_LOC
+ int
+ default 123
+ depends on BOARD_ASUS_M2V_MX_SE
Index: src/mainboard/asus/m2v-mx_se/Makefile.inc
===================================================================
--- src/mainboard/asus/m2v-mx_se/Makefile.inc (revision 0)
+++ src/mainboard/asus/m2v-mx_se/Makefile.inc (revision 0)
@@ -0,0 +1,68 @@
+##
+## 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
+##
+
+##
+## This mainboard requires DCACHE_AS_RAM enabled. It won't work without.
+##
+
+driver-y += mainboard.o
+
+#needed by irq_tables and mptable and acpi_tables
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_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
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+ iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+ mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+ $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(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
+
--
Signed-off by: Cristi Magherusan <cristi.magherusan(a)net.utcluj.ro>