summaryrefslogtreecommitdiff
path: root/src/mainboard/ibm
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/ibm')
-rw-r--r--src/mainboard/ibm/Kconfig10
-rw-r--r--src/mainboard/ibm/e325/Kconfig108
-rw-r--r--src/mainboard/ibm/e325/Makefile.inc53
-rw-r--r--src/mainboard/ibm/e326/Kconfig108
-rw-r--r--src/mainboard/ibm/e326/Makefile.inc53
5 files changed, 331 insertions, 1 deletions
diff --git a/src/mainboard/ibm/Kconfig b/src/mainboard/ibm/Kconfig
index 792d600548..d3d4f292e1 100644
--- a/src/mainboard/ibm/Kconfig
+++ b/src/mainboard/ibm/Kconfig
@@ -1 +1,9 @@
-#
+choice
+ prompt "Mainboard model"
+ depends on VENDOR_IBM
+
+source "src/mainboard/ibm/e325/Kconfig"
+source "src/mainboard/ibm/e326/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/ibm/e325/Kconfig b/src/mainboard/ibm/e325/Kconfig
new file mode 100644
index 0000000000..d0e211f330
--- /dev/null
+++ b/src/mainboard/ibm/e325/Kconfig
@@ -0,0 +1,108 @@
+config BOARD_IBM_E325
+ bool "e325"
+ select ARCH_X86
+ select CPU_AMD_K8
+ select CPU_AMD_SOCKET_940
+ select NORTHBRIDGE_AMD_AMDK8
+ select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+ select SOUTHBRIDGE_AMD_AMD8111
+ select SOUTHBRIDGE_AMD_AMD8131
+ select SUPERIO_NSC_PC87366
+ select HAVE_PIRQ_TABLE
+ select USE_PRINTK_IN_CAR
+ select USE_DCACHE_RAM
+ select HAVE_HARD_RESET
+ select IOAPIC
+ select AP_CODE_IN_CAR
+ select SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ select WAIT_BEFORE_CPUS_INIT
+
+config MAINBOARD_DIR
+ string
+ default ibm/e325
+ depends on BOARD_IBM_E325
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xcf000
+ depends on BOARD_IBM_E325
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x1000
+ depends on BOARD_IBM_E325
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x0
+ depends on BOARD_IBM_E325
+
+config APIC_ID_OFFSET
+ hex
+ default 0x8
+ depends on BOARD_IBM_E325
+
+config LB_CKS_RANGE_END
+ int
+ default 122
+ depends on BOARD_IBM_E325
+
+config LB_CKS_LOC
+ int
+ default 123
+ depends on BOARD_IBM_E325
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "E325"
+ depends on BOARD_IBM_E325
+
+config HW_MEM_HOLE_SIZEK
+ hex
+ default 0x100000
+ depends on BOARD_IBM_E325
+
+config MAX_CPUS
+ int
+ default 1
+ depends on BOARD_IBM_E325
+
+config MAX_PHYSICAL_CPUS
+ int
+ default 1
+ depends on BOARD_IBM_E325
+
+config HW_MEM_HOLE_SIZE_AUTO_INC
+ bool
+ default n
+ depends on BOARD_IBM_E325
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_IBM_E325
+
+config HT_CHAIN_END_UNITID_BASE
+ hex
+ default 0x6
+ depends on BOARD_IBM_E325
+
+config HT_CHAIN_UNITID_BASE
+ hex
+ default 0xa
+ depends on BOARD_IBM_E325
+
+config USE_INIT
+ bool
+ default n
+ depends on BOARD_IBM_E325
+
+config SERIAL_CPU_INIT
+ bool
+ default n
+ depends on BOARD_IBM_E325
+
+config IRQ_SLOT_COUNT
+ int
+ default 12
+ depends on BOARD_IBM_E325
diff --git a/src/mainboard/ibm/e325/Makefile.inc b/src/mainboard/ibm/e325/Makefile.inc
new file mode 100644
index 0000000000..0f9bd727b6
--- /dev/null
+++ b/src/mainboard/ibm/e325/Makefile.inc
@@ -0,0 +1,53 @@
+##
+## 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
+
+# Needed by irq_tables and mptable and acpi_tables.
+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
+
+$(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
+
diff --git a/src/mainboard/ibm/e326/Kconfig b/src/mainboard/ibm/e326/Kconfig
new file mode 100644
index 0000000000..5d3496c44d
--- /dev/null
+++ b/src/mainboard/ibm/e326/Kconfig
@@ -0,0 +1,108 @@
+config BOARD_IBM_E326
+ bool "e326"
+ select ARCH_X86
+ select CPU_AMD_K8
+ select CPU_AMD_SOCKET_940
+ select NORTHBRIDGE_AMD_AMDK8
+ select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+ select SOUTHBRIDGE_AMD_AMD8111
+ select SOUTHBRIDGE_AMD_AMD8131
+ select SUPERIO_NSC_PC87366
+ select HAVE_PIRQ_TABLE
+ select USE_PRINTK_IN_CAR
+ select USE_DCACHE_RAM
+ select HAVE_HARD_RESET
+ select IOAPIC
+ select AP_CODE_IN_CAR
+ select SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ select WAIT_BEFORE_CPUS_INIT
+
+config MAINBOARD_DIR
+ string
+ default ibm/e326
+ depends on BOARD_IBM_E326
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xcf000
+ depends on BOARD_IBM_E326
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x1000
+ depends on BOARD_IBM_E326
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x0
+ depends on BOARD_IBM_E326
+
+config APIC_ID_OFFSET
+ hex
+ default 0x8
+ depends on BOARD_IBM_E326
+
+config LB_CKS_RANGE_END
+ int
+ default 122
+ depends on BOARD_IBM_E326
+
+config LB_CKS_LOC
+ int
+ default 123
+ depends on BOARD_IBM_E326
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "E326"
+ depends on BOARD_IBM_E326
+
+config HW_MEM_HOLE_SIZEK
+ hex
+ default 0x100000
+ depends on BOARD_IBM_E326
+
+config MAX_CPUS
+ int
+ default 2
+ depends on BOARD_IBM_E326
+
+config MAX_PHYSICAL_CPUS
+ int
+ default 2
+ depends on BOARD_IBM_E326
+
+config HW_MEM_HOLE_SIZE_AUTO_INC
+ bool
+ default n
+ depends on BOARD_IBM_E326
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_IBM_E326
+
+config HT_CHAIN_END_UNITID_BASE
+ hex
+ default 0x6
+ depends on BOARD_IBM_E326
+
+config HT_CHAIN_UNITID_BASE
+ hex
+ default 0xa
+ depends on BOARD_IBM_E326
+
+config USE_INIT
+ bool
+ default n
+ depends on BOARD_IBM_E326
+
+config SERIAL_CPU_INIT
+ bool
+ default n
+ depends on BOARD_IBM_E326
+
+config IRQ_SLOT_COUNT
+ int
+ default 12
+ depends on BOARD_IBM_E326
diff --git a/src/mainboard/ibm/e326/Makefile.inc b/src/mainboard/ibm/e326/Makefile.inc
new file mode 100644
index 0000000000..0f9bd727b6
--- /dev/null
+++ b/src/mainboard/ibm/e326/Makefile.inc
@@ -0,0 +1,53 @@
+##
+## 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
+
+# Needed by irq_tables and mptable and acpi_tables.
+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
+
+$(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
+