summaryrefslogtreecommitdiff
path: root/src/mainboard/broadcom
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/broadcom')
-rw-r--r--src/mainboard/broadcom/Kconfig9
-rw-r--r--src/mainboard/broadcom/blast/Kconfig105
-rw-r--r--src/mainboard/broadcom/blast/Makefile.inc35
3 files changed, 148 insertions, 1 deletions
diff --git a/src/mainboard/broadcom/Kconfig b/src/mainboard/broadcom/Kconfig
index 792d600548..bf956ecdb3 100644
--- a/src/mainboard/broadcom/Kconfig
+++ b/src/mainboard/broadcom/Kconfig
@@ -1 +1,8 @@
-#
+choice
+ prompt "Mainboard model"
+ depends on VENDOR_BROADCOM
+
+source "src/mainboard/broadcom/blast/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/broadcom/blast/Kconfig b/src/mainboard/broadcom/blast/Kconfig
new file mode 100644
index 0000000000..2cd56f1580
--- /dev/null
+++ b/src/mainboard/broadcom/blast/Kconfig
@@ -0,0 +1,105 @@
+config BOARD_BROADCOM_BLAST
+ bool "Blast"
+ select ARCH_X86
+ select CPU_AMD_K8
+ select CPU_AMD_SOCKET_940
+ select NORTHBRIDGE_AMD_AMDK8
+ select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
+ select SOUTHBRIDGE_BROADCOM_BCM5780
+ select SOUTHBRIDGE_BROADCOM_BCM5785
+ select SUPERIO_NSC_PC87417
+ select HAVE_PIRQ_TABLE
+ select USE_PRINTK_IN_CAR
+ select USE_DCACHE_RAM
+ select HAVE_HARD_RESET
+ select IOAPIC
+
+config MAINBOARD_DIR
+ string
+ default broadcom/blast
+ depends on BOARD_BROADCOM_BLAST
+
+config DCACHE_RAM_BASE
+ hex
+ default 0xcf000
+ depends on BOARD_BROADCOM_BLAST
+
+config DCACHE_RAM_SIZE
+ hex
+ default 0x01000
+ depends on BOARD_BROADCOM_BLAST
+
+config DCACHE_RAM_GLOBAL_VAR_SIZE
+ hex
+ default 0x0
+ depends on BOARD_BROADCOM_BLAST
+
+config APIC_ID_OFFSET
+ hex
+ default 0x10
+ depends on BOARD_BROADCOM_BLAST
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_BROADCOM_BLAST
+
+config SB_HT_CHAIN_UNITID_OFFSET_ONLY
+ bool
+ default n
+ depends on BOARD_BROADCOM_BLAST
+
+config LB_CKS_RANGE_END
+ int
+ default 122
+ depends on BOARD_BROADCOM_BLAST
+
+config LB_CKS_LOC
+ int
+ default 123
+ depends on BOARD_BROADCOM_BLAST
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "BLAST"
+ depends on BOARD_BROADCOM_BLAST
+
+config HW_MEM_HOLE_SIZEK
+ hex
+ default 0x100000
+ depends on BOARD_BROADCOM_BLAST
+
+config MAX_CPUS
+ int
+ default 4
+ depends on BOARD_BROADCOM_BLAST
+
+config MAX_PHYSICAL_CPUS
+ int
+ default 2
+ depends on BOARD_BROADCOM_BLAST
+
+config HT_CHAIN_END_UNITID_BASE
+ hex
+ default 0x0
+ depends on BOARD_BROADCOM_BLAST
+
+config HT_CHAIN_UNITID_BASE
+ hex
+ default 0x0
+ depends on BOARD_BROADCOM_BLAST
+
+config USE_INIT
+ bool
+ default n
+ depends on BOARD_BROADCOM_BLAST
+
+config SB_HT_CHAIN_ON_BUS0
+ int
+ default 2
+ depends on BOARD_BROADCOM_BLAST
+
+config IRQ_SLOT_COUNT
+ int
+ default 11
+ depends on BOARD_BROADCOM_BLAST
diff --git a/src/mainboard/broadcom/blast/Makefile.inc b/src/mainboard/broadcom/blast/Makefile.inc
new file mode 100644
index 0000000000..09a594ee00
--- /dev/null
+++ b/src/mainboard/broadcom/blast/Makefile.inc
@@ -0,0 +1,35 @@
+driver-y += mainboard.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
+
+driver-y += ../../../drivers/i2c/i2cmux2/i2cmux2.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
+