Fix CS5535 build for kconfig, more kconfig boards (lippert, artec)

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4748 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/mainboard/artecgroup/Kconfig b/src/mainboard/artecgroup/Kconfig
index 792d600..5f1a6e9 100644
--- a/src/mainboard/artecgroup/Kconfig
+++ b/src/mainboard/artecgroup/Kconfig
@@ -1 +1,8 @@
-#
+choice
+	prompt "Mainboard model"
+	depends on VENDOR_ARTEC_GROUP
+        
+source "src/mainboard/artecgroup/dbe61/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/artecgroup/dbe61/Kconfig b/src/mainboard/artecgroup/dbe61/Kconfig
new file mode 100644
index 0000000..6caef7b
--- /dev/null
+++ b/src/mainboard/artecgroup/dbe61/Kconfig
@@ -0,0 +1,47 @@
+config BOARD_ARTECGROUP_DBE61
+	bool "dbe61"
+	select ARCH_X86
+	select CPU_AMD_LX
+	select NORTHBRIDGE_AMD_LX
+	select SOUTHBRIDGE_AMD_CS5536
+	select HAVE_PIRQ_TABLE
+	select PIRQ_ROUTE
+	select UDELAY_TSC
+	select TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+	select USE_DCACHE_RAM
+	select USE_PRINTK_IN_CAR
+
+config MAINBOARD_DIR
+	string
+	default artecgroup/dbe61
+	depends on BOARD_ARTECGROUP_DBE61
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "DBE61"
+	depends on BOARD_ARTECGROUP_DBE61
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_ARTECGROUP_DBE61
+
+config IRQ_SLOT_COUNT
+	int
+	default 3
+	depends on BOARD_ARTECGROUP_DBE61
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xc8000
+	depends on BOARD_ARTECGROUP_DBE61
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_ARTECGROUP_DBE61
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_ARTECGROUP_DBE61
diff --git a/src/mainboard/artecgroup/dbe61/Makefile.inc b/src/mainboard/artecgroup/dbe61/Makefile.inc
new file mode 100644
index 0000000..90b154a
--- /dev/null
+++ b/src/mainboard/artecgroup/dbe61/Makefile.inc
@@ -0,0 +1,31 @@
+driver-y += mainboard.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+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/model_lx/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/lippert/Kconfig b/src/mainboard/lippert/Kconfig
index 792d600..82c0b28 100644
--- a/src/mainboard/lippert/Kconfig
+++ b/src/mainboard/lippert/Kconfig
@@ -1 +1,10 @@
-#
+choice
+	prompt "Mainboard model"
+	depends on VENDOR_LIPPERT
+        
+source "src/mainboard/lippert/frontrunner/Kconfig"
+source "src/mainboard/lippert/roadrunner-lx/Kconfig"
+source "src/mainboard/lippert/spacerunner-lx/Kconfig"
+
+endchoice
+
diff --git a/src/mainboard/lippert/frontrunner/Kconfig b/src/mainboard/lippert/frontrunner/Kconfig
new file mode 100644
index 0000000..6b41928
--- /dev/null
+++ b/src/mainboard/lippert/frontrunner/Kconfig
@@ -0,0 +1,34 @@
+config BOARD_LIPPERT_FRONTRUNNER
+	bool "Frontrunner"
+	select ARCH_X86
+	select CPU_AMD_GX2
+	select NORTHBRIDGE_AMD_GX2
+	select SOUTHBRIDGE_AMD_CS5535
+	select UDELAY_TSC
+	select TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+	select HAVE_PIRQ_TABLE
+
+config MAINBOARD_DIR
+	string
+	default lippert/frontrunner
+	depends on BOARD_LIPPERT_FRONTRUNNER
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "Frontrunner"
+	depends on BOARD_LIPPERT_FRONTRUNNER
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_LIPPERT_FRONTRUNNER
+
+config IRQ_SLOT_COUNT
+	int
+	default 2
+	depends on BOARD_LIPPERT_FRONTRUNNER
+
+config USE_INIT
+	bool
+	default n
+	depends on BOARD_LIPPERT_FRONTRUNNER
diff --git a/src/mainboard/lippert/frontrunner/Makefile.inc b/src/mainboard/lippert/frontrunner/Makefile.inc
new file mode 100644
index 0000000..377edf5
--- /dev/null
+++ b/src/mainboard/lippert/frontrunner/Makefile.inc
@@ -0,0 +1,2 @@
+ROMCCFLAGS=-mcpu=i386 -O
+include $(src)/mainboard/Makefile.romccboard.inc
diff --git a/src/mainboard/lippert/roadrunner-lx/Kconfig b/src/mainboard/lippert/roadrunner-lx/Kconfig
new file mode 100644
index 0000000..2e9594f
--- /dev/null
+++ b/src/mainboard/lippert/roadrunner-lx/Kconfig
@@ -0,0 +1,48 @@
+config BOARD_LIPPERT_ROADRUNNER_LX
+	bool "RoadRunner-LX"
+	select ARCH_X86
+	select CPU_AMD_LX
+	select NORTHBRIDGE_AMD_LX
+	select SOUTHBRIDGE_AMD_CS5536
+	select SUPERIO_ITE_IT8712F
+	select HAVE_PIRQ_TABLE
+	select PIRQ_ROUTE
+	select UDELAY_TSC
+	select TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+	select USE_DCACHE_RAM
+	select USE_PRINTK_IN_CAR
+
+config MAINBOARD_DIR
+	string
+	default lippert/roadrunner-lx
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "ROADRUNNERLX"
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config IRQ_SLOT_COUNT
+	int
+	default 7
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xc8000
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_LIPPERT_ROADRUNNER_LX
diff --git a/src/mainboard/lippert/roadrunner-lx/Makefile.inc b/src/mainboard/lippert/roadrunner-lx/Makefile.inc
new file mode 100644
index 0000000..eac4755
--- /dev/null
+++ b/src/mainboard/lippert/roadrunner-lx/Makefile.inc
@@ -0,0 +1,31 @@
+driver-y += mainboard.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+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/model_lx/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
+	$(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/lippert/spacerunner-lx/Kconfig b/src/mainboard/lippert/spacerunner-lx/Kconfig
new file mode 100644
index 0000000..bf7471c
--- /dev/null
+++ b/src/mainboard/lippert/spacerunner-lx/Kconfig
@@ -0,0 +1,48 @@
+config BOARD_LIPPERT_SPACERUNNER_LX
+	bool "SpaceRunner-LX"
+	select ARCH_X86
+	select CPU_AMD_LX
+	select NORTHBRIDGE_AMD_LX
+	select SOUTHBRIDGE_AMD_CS5536
+	select SUPERIO_ITE_IT8712F
+	select HAVE_PIRQ_TABLE
+	select PIRQ_ROUTE
+	select UDELAY_TSC
+	select TSC_X86RDTSC_CALIBRATE_WITH_TIMER2
+	select USE_DCACHE_RAM
+	select USE_PRINTK_IN_CAR
+
+config MAINBOARD_DIR
+	string
+	default lippert/spacerunner-lx
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config MAINBOARD_PART_NUMBER
+	string
+	default "SPACERUNNERLX"
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config HAVE_OPTION_TABLE
+	bool
+	default n
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config IRQ_SLOT_COUNT
+	int
+	default 7
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config DCACHE_RAM_BASE
+	hex
+	default 0xc8000
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config DCACHE_RAM_SIZE
+	hex
+	default 0x8000
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
+
+config RAMBASE
+	hex
+	default 0x4000
+	depends on BOARD_LIPPERT_SPACERUNNER_LX
diff --git a/src/mainboard/lippert/spacerunner-lx/Makefile.inc b/src/mainboard/lippert/spacerunner-lx/Makefile.inc
new file mode 100644
index 0000000..eac4755
--- /dev/null
+++ b/src/mainboard/lippert/spacerunner-lx/Makefile.inc
@@ -0,0 +1,31 @@
+driver-y += mainboard.o
+
+# Needed by irq_tables and mptable and acpi_tables.
+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/model_lx/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
+	$(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/southbridge/amd/cs5535/chip.h b/src/southbridge/amd/cs5535/chip.h
index 3e9be99..1a02d59 100644
--- a/src/southbridge/amd/cs5535/chip.h
+++ b/src/southbridge/amd/cs5535/chip.h
@@ -1,9 +1,9 @@
-#ifndef _SOUTHBRIDGE_AMD_CS5536
-#define _SOUTHBRIDGE_AMD_CS5536
+#ifndef _SOUTHBRIDGE_AMD_CS5535
+#define _SOUTHBRIDGE_AMD_CS5535
 
-extern struct chip_operations southbridge_amd_cs5536_ops;
+extern struct chip_operations southbridge_amd_cs5535_ops;
 
-struct southbridge_amd_cs5536_config {
+struct southbridge_amd_cs5535_config {
 	int none;
 };
 
diff --git a/src/southbridge/amd/cs5535/cs5535.c b/src/southbridge/amd/cs5535/cs5535.c
index 6f351ec..17bd902 100644
--- a/src/southbridge/amd/cs5535/cs5535.c
+++ b/src/southbridge/amd/cs5535/cs5535.c
@@ -108,3 +108,11 @@
 	.vendor = PCI_VENDOR_ID_NS,
 	.device = PCI_DEVICE_ID_NS_CS5535
 };
+
+struct chip_operations southbridge_amd_cs5535_ops = {
+        CHIP_NAME("AMD Geode CS5535 Southbridge")
+            /* This is only called when this device is listed in the
+             * static device tree.
+             */
+            .enable_dev = southbridge_enable,
+};