Patchwork Kbuild support for Asus M2V-MX-SE

login
register
about
Submitter Cristi Magherusan
Date 2009-08-14 00:30:03
Message ID <1250209803.17640.7.camel@ufo>
Download mbox | patch
Permalink /patch/125/
State Accepted
Headers show

Comments

Cristi Magherusan - 2009-08-14 00:30:03
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

Patch

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
+