aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2009-08-20 18:05:31 +0000
committerRonald G. Minnich <rminnich@gmail.com>2009-08-20 18:05:31 +0000
commitd82e12858f34770a38dc93136f686ebab0e971ed (patch)
treecd36da4f912399710cba8be208b2bad7b031770e
parentb203c2f95e8174bff1170a47d06186a315de4997 (diff)
This goes a surprisingly long way to building the epia-n. It also has
important corrections to the Kconfig and Makefile.inc that were there. I would like to go ahead and get this in, because I don't want anyone to continue using what is in the upstream tree as it now exists. I also tested old-style build with this and it did not break anything. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4559 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/cpu/via/Makefile.inc5
-rw-r--r--src/cpu/via/model_c3/Kconfig3
-rw-r--r--src/cpu/via/model_c3/Makefile.inc11
-rw-r--r--src/cpu/via/model_c7/Makefile.inc20
-rw-r--r--src/mainboard/via/Kconfig33
-rw-r--r--src/mainboard/via/epia-n/Kconfig37
-rw-r--r--src/mainboard/via/epia-n/Makefile.inc64
-rw-r--r--src/mainboard/via/epia-n/devicetree.cb101
-rw-r--r--src/mainboard/via/vt8454c/Kconfig32
-rw-r--r--src/northbridge/via/Kconfig1
-rw-r--r--src/northbridge/via/cn400/cn400.h2
11 files changed, 265 insertions, 44 deletions
diff --git a/src/cpu/via/Makefile.inc b/src/cpu/via/Makefile.inc
index 6d62f22619..512f82b02e 100644
--- a/src/cpu/via/Makefile.inc
+++ b/src/cpu/via/Makefile.inc
@@ -1,2 +1,3 @@
-#subdirs-y += model_c7
-subdirs-y += model_c7
+subdirs-$(CONFIG_CPU_VIA_C7) += model_c7
+subdirs-$(CONFIG_CPU_VIA_C3) += model_c3
+
diff --git a/src/cpu/via/model_c3/Kconfig b/src/cpu/via/model_c3/Kconfig
new file mode 100644
index 0000000000..570f710703
--- /dev/null
+++ b/src/cpu/via/model_c3/Kconfig
@@ -0,0 +1,3 @@
+config CPU_VIA_C3
+ bool
+ default n
diff --git a/src/cpu/via/model_c3/Makefile.inc b/src/cpu/via/model_c3/Makefile.inc
new file mode 100644
index 0000000000..4cd19a23c4
--- /dev/null
+++ b/src/cpu/via/model_c3/Makefile.inc
@@ -0,0 +1,11 @@
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../../intel/microcode
+
+obj-y += model_c3_init.o
diff --git a/src/cpu/via/model_c7/Makefile.inc b/src/cpu/via/model_c7/Makefile.inc
index 8e645eb0a2..e6634c384b 100644
--- a/src/cpu/via/model_c7/Makefile.inc
+++ b/src/cpu/via/model_c7/Makefile.inc
@@ -1,13 +1,11 @@
-ifeq ($(CONFIG_CPU_VIA_C7),y)
- subdirs-y += ../../x86/tsc
- subdirs-y += ../../x86/mtrr
- subdirs-y += ../../x86/fpu
- subdirs-y += ../../x86/mmx
- subdirs-y += ../../x86/sse
- subdirs-y += ../../x86/lapic
- subdirs-y += ../../x86/cache
- subdirs-y += ../../x86/smm
- subdirs-y += ../../intel/microcode
-endif
+subdirs-y += ../../x86/tsc
+subdirs-y += ../../x86/mtrr
+subdirs-y += ../../x86/fpu
+subdirs-y += ../../x86/mmx
+subdirs-y += ../../x86/sse
+subdirs-y += ../../x86/lapic
+subdirs-y += ../../x86/cache
+subdirs-y += ../../x86/smm
+subdirs-y += ../../intel/microcode
obj-y += model_c7_init.o
diff --git a/src/mainboard/via/Kconfig b/src/mainboard/via/Kconfig
index ba0f11b082..4d0a55b6bf 100644
--- a/src/mainboard/via/Kconfig
+++ b/src/mainboard/via/Kconfig
@@ -2,36 +2,9 @@ choice
prompt "Mainboard model"
depends on VENDOR_VIA
-config BOARD_VIA_VT8454C
- bool "vt8454c"
- select ARCH_X86
- select CPU_VIA_C7
- select NORTHBRIDGE_VIA_CX700
-# select SOUTHBRIDGE_INTEL_I82801GX
- select SUPERIO_VIA_VT1211
- select PIRQ_TABLE
-# select MMCONF_SUPPORT
- select USE_PRINTK_IN_CAR
- help
- Kontron 986LCD-M Series mainboards
-endchoice
-
-config MAINBOARD_DIR
- string
- default via/vt8454c
- depends on BOARD_VIA_VT8454C
+ source "src/mainboard/via/vt8454c/Kconfig"
+ source "src/mainboard/via/epia-n/Kconfig"
-config DCACHE_RAM_BASE
- hex
- default 0xffef0000
- depends on BOARD_VIA_VT8454C
+endchoice
-config DCACHE_RAM_SIZE
- hex
- default 0x8000
- depends on BOARD_VIA_VT8454C
-config MAINBOARD_PART_NUMBER
- string
- default "VT8454C"
- depends on BOARD_VIA_VT8454C
diff --git a/src/mainboard/via/epia-n/Kconfig b/src/mainboard/via/epia-n/Kconfig
new file mode 100644
index 0000000000..93f9e236ce
--- /dev/null
+++ b/src/mainboard/via/epia-n/Kconfig
@@ -0,0 +1,37 @@
+config BOARD_VIA_EPIA_N
+ bool "via epia-n"
+ select ARCH_X86
+ select CPU_VIA_C3
+ select NORTHBRIDGE_VIA_CN400
+ select SOUTHBRIDGE_VIA_VT8237R
+ select SUPERIO_WINBOND_W83697HF
+ select PIRQ_TABLE
+ select USE_PRINTK_IN_CAR
+ help
+ VIA Epia-n mainboards
+
+config MAINBOARD_DIR
+ string
+ default via/epia-n
+ depends on BOARD_VIA_EPIA_N
+
+#config DCACHE_RAM_BASE
+# hex
+# default 0xffef0000
+# depends on BOARD_VIA_EPIA_N
+#
+#config DCACHE_RAM_SIZE
+# hex
+# default 0x8000
+# depends on BOARD_VIA_EPIA_N
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "EPIA_N"
+ depends on BOARD_VIA_EPIA_N
+
+config VIDEO_MB
+ int
+ default 32
+ depends on BOARD_VIA_EPIA_N
+
diff --git a/src/mainboard/via/epia-n/Makefile.inc b/src/mainboard/via/epia-n/Makefile.inc
new file mode 100644
index 0000000000..9cc015ff97
--- /dev/null
+++ b/src/mainboard/via/epia-n/Makefile.inc
@@ -0,0 +1,64 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## 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; either version 2 of the License, or
+## (at your option) any later version.
+##
+## 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
+##
+
+initobj-y += crt0.o
+obj-y += mainboard.o
+obj-$(CONFIG_HAVE_PIRQ_TABLE) += irq_tables.o
+obj-$(CONFIG_HAVE_MP_TABLE) += object mptable.o
+
+obj-$(CONFIG_HAVE_ACPI_TABLES) += dsdt.o
+obj-$(CONFIG_HAVE_ACPI_TABLES) += acpi_tables.o
+
+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
+
+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/x86/fpu/enable_fpu.inc
+crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc
+crt0-y += auto.inc
+crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc
+
+ifdef POST_EVALUATION
+
+MAINBOARD_OPTIONS=\
+ -DCONFIG_USE_PRINTK_IN_CAR=1 \
+ -DCONFIG_HAVE_HIGH_TABLES=1
+
+$(obj)/mainboard/$(MAINBOARDDIR)/dsdt.o: $(obj)/dsdt.c
+ $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c $< -o $@
+
+$(obj)/dsdt.c: $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+ iasl -p dsdt -tc $(src)/mainboard/$(MAINBOARDDIR)/dsdt.asl
+ mv dsdt.hex $@
+
+$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/auto.c $(obj)/option_table.h
+ $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/auto.c -o $@
+ perl -e 's/\.rodata/.rom.data/g' -pi $@
+ perl -e 's/\.text/.section .rom.text/g' -pi $@
+
+endif
+
diff --git a/src/mainboard/via/epia-n/devicetree.cb b/src/mainboard/via/epia-n/devicetree.cb
new file mode 100644
index 0000000000..56bca9264f
--- /dev/null
+++ b/src/mainboard/via/epia-n/devicetree.cb
@@ -0,0 +1,101 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008 VIA Technologies, Inc.
+## (Written by Aaron Lwe <aaron.lwe@gmail.com> for VIA)
+##
+## 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; either version 2 of the License, or
+## (at your option) any later version.
+##
+## 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
+##
+
+chip northbridge/via/cn400 # Northbridge
+
+ device apic_cluster 0 on # APIC cluster
+ chip cpu/via/model_c3 # VIA C3
+ device apic 0 on end # APIC
+ end
+ end
+
+ device pci_domain 0 on # PCI domain
+ device pci 0.0 on end # AGP Bridge
+ device pci 0.1 on end # Error Reporting
+ device pci 0.2 on end # Host Bus Control
+ device pci 0.3 on end # Memory Controller
+ device pci 0.4 on end # Power Management
+ device pci 0.7 on end # V-Link Controller
+ device pci 1.0 on end # PCI Bridge
+ chip southbridge/via/vt8237r # Southbridge
+ # Enable both IDE channels.
+ register "ide0_enable" = "1"
+ register "ide1_enable" = "1"
+ # Both cables are 40pin.
+ register "ide0_80pin_cable" = "0"
+ register "ide1_80pin_cable" = "0"
+ device pci f.0 on end # IDE/SATA
+ device pci f.1 on end # IDE
+ register "fn_ctrl_lo" = "0xC0" # Disable AC/MC97
+ register "fn_ctrl_hi" = "0x9d" # Disable USB Direct & LAN Gating
+ device pci 10.0 on end # OHCI
+ device pci 10.1 on end # OHCI
+ device pci 10.2 on end # OHCI
+ device pci 10.3 on end # OHCI
+ device pci 10.4 on end # EHCI
+ device pci 10.5 off end # USB Direct
+ device pci 11.0 on # Southbridge LPC
+ chip superio/winbond/w83697hf # Super I/O
+ device pnp 2e.0 off # Floppy
+ io 0x60 = 0x3f0
+ irq 0x70 = 6
+ drq 0x74 = 2
+ end
+ device pnp 2e.1 off # Parallel Port
+ io 0x60 = 0x378
+ irq 0x70 = 7
+ drq 0x74 = 3
+ end
+ device pnp 2e.2 on # COM1
+ io 0x60 = 0x3f8
+ irq 0x70 = 4
+ end
+ device pnp 2e.3 off # COM2
+ io 0x60 = 0x2f8
+ irq 0x70 = 3
+ end
+ device pnp 2e.6 off # IR Port
+ io 0x60 = 0x000
+ end
+ device pnp 2e.7 off # GPIO 1
+ io 0x60 = 0x201 # 0x201
+ end
+ device pnp 2e.8 off # GPIO 5
+ io 0x60 = 0x330 # 0x330
+ end
+ device pnp 2e.9 off # GPIO 2, 3,and 4
+ io 0x60 = 0x000 #
+ end
+ device pnp 2e.a off # ACPI
+ io 0x60 = 0x000 #
+ end
+ device pnp 2e.b on # HWM
+ io 0x60 = 0x290
+ irq 0x70 = 0
+ end
+ end
+ end
+ device pci 11.5 off end # AC'97 audio
+ device pci 11.6 off end # AC'97 Modem
+ device pci 12.0 on end # Ethernet
+ end
+ end
+end
diff --git a/src/mainboard/via/vt8454c/Kconfig b/src/mainboard/via/vt8454c/Kconfig
new file mode 100644
index 0000000000..bdd582759c
--- /dev/null
+++ b/src/mainboard/via/vt8454c/Kconfig
@@ -0,0 +1,32 @@
+config BOARD_VIA_VT8454C
+ bool "vt8454c"
+ select ARCH_X86
+ select CPU_VIA_C7
+ select NORTHBRIDGE_VIA_CX700
+# select SOUTHBRIDGE_INTEL_I82801GX
+ select SUPERIO_VIA_VT1211
+ select PIRQ_TABLE
+# select MMCONF_SUPPORT
+ select USE_PRINTK_IN_CAR
+ help
+ Kontron 986LCD-M Series mainboards
+
+config MAINBOARD_DIR
+ string
+ default via/vt8454c
+ depends on BOARD_VIA_VT8454C
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xffef0000
+ depends on BOARD_VIA_VT8454C
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x8000
+ depends on BOARD_VIA_VT8454C
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "VT8454C"
+ depends on BOARD_VIA_VT8454C
diff --git a/src/northbridge/via/Kconfig b/src/northbridge/via/Kconfig
index 0ed85e6737..5c62bde34d 100644
--- a/src/northbridge/via/Kconfig
+++ b/src/northbridge/via/Kconfig
@@ -1,5 +1,6 @@
#source src/northbridge/via/cn700/Kconfig
source src/northbridge/via/cx700/Kconfig
+source src/northbridge/via/cn400/Kconfig
#source src/northbridge/via/vt8601/Kconfig
#source src/northbridge/via/vt8623/Kconfig
#source src/northbridge/via/vx800/Kconfig
diff --git a/src/northbridge/via/cn400/cn400.h b/src/northbridge/via/cn400/cn400.h
index bbb6ff112f..06367db270 100644
--- a/src/northbridge/via/cn400/cn400.h
+++ b/src/northbridge/via/cn400/cn400.h
@@ -19,7 +19,7 @@
*/
#ifndef __ROMCC__
-static void cn400_noop()
+static void cn400_noop(void)
{
}
#endif