On 6/20/10 10:04 AM, Joseph Smith wrote:
Hello,
This patch adds a new socket for FCPGA370 and PGA370 CPU's. This new socket (called socket_FC_PGA370) will make the CAR transition alot easier. When done transitioning all the boards and cpu's the old socket_PGA370 (kind of misleading for the FC's) can be deleted as well as model_6xx. I will be testing a bunch of 370 cpu's this week so hopefully the model_6xx will be no longer needed. This patch also includes first CAR support for model_68x FCPGA CPU's.

Build and boot tested.

Signed-off by: Joseph Smith <joe@settoplinux.org>
with two caveats:

Acked-by: Stefan Reinauer <stepan@coresystems.de>

Index: src/cpu/intel/Kconfig
===================================================================
--- src/cpu/intel/Kconfig	(revision 5634)
+++ src/cpu/intel/Kconfig	(working copy)
  
@@ -17,6 +18,7 @@
 source src/cpu/intel/bga956/Kconfig
 source src/cpu/intel/slot_2/Kconfig
 source src/cpu/intel/slot_1/Kconfig
+source src/cpu/intel/socket_FC_PGA370/Kconfig
  
FCPGA
Index: src/cpu/intel/Makefile.inc
===================================================================
--- src/cpu/intel/Makefile.inc	(revision 5634)
+++ src/cpu/intel/Makefile.inc	(working copy)
@@ -6,6 +6,7 @@
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_441) += socket_441
 subdirs-$(CONFIG_CPU_INTEL_SOCKET_BGA956) += bga956
 subdirs-$(CONFIG_CPU_INTEL_EP80579) += ep80579
+subdirs-$(CONFIG_CPU_INTEL_SOCKET_FC_PGA370) += socket_FC_PGA370
  
FCPGA
Index: src/cpu/intel/socket_FC_PGA370/Kconfig
===================================================================
--- src/cpu/intel/socket_FC_PGA370/Kconfig	(revision 0)
+++ src/cpu/intel/socket_FC_PGA370/Kconfig	(revision 0)
  

+
+config CPU_INTEL_SOCKET_FC_PGA370
  
FCPGA

Index: src/cpu/intel/socket_FC_PGA370/socket_FC_PGA370.c
===================================================================
--- src/cpu/intel/socket_FC_PGA370/socket_FC_PGA370.c	(revision 0)
+++ src/cpu/intel/socket_FC_PGA370/socket_FC_PGA370.c	(revision 0)
@@ -0,0 +1,26 @@
  

+
+#include <device/device.h>
+#include "chip.h"
+
+struct chip_operations cpu_intel_socket_FC_PGA370_ops = {
  
FCPGA
+	CHIP_NAME("(FC)PGA370 CPU")
+};
Index: src/cpu/intel/socket_FC_PGA370/Makefile.inc
===================================================================
--- src/cpu/intel/socket_FC_PGA370/Makefile.inc	(revision 0)
+++ src/cpu/intel/socket_FC_PGA370/Makefile.inc	(revision 0)
@@ -0,0 +1,30 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2010 Joseph Smith <joe@settoplinux.org>
+##
+## 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
+##
+
+obj-y += socket_FC_PGA370.o
  
FCPGA

+
+extern struct chip_operations cpu_intel_socket_FC_PGA370_ops;
+
+struct cpu_intel_socket_FC_PGA370_config {
+};
  
This should be FCPGA370 or mFCPGA370

Index: src/cpu/intel/model_68x/model_68x_init.c
===================================================================
--- src/cpu/intel/model_68x/model_68x_init.c	(revision 0)
+++ src/cpu/intel/model_68x/model_68x_init.c	(revision 0)
  
[..]

+
+static struct cpu_device_id cpu_table[] = {
  
Do add 680 here too. In fact, if you add 680 all the others can be omitted.
+	{ X86_VENDOR_INTEL, 0x0681 },
+	{ X86_VENDOR_INTEL, 0x0683 },
+	{ X86_VENDOR_INTEL, 0x0686 },
+	{ X86_VENDOR_INTEL, 0x068a },
+	{ 0, 0 },
+};
+
+static const struct cpu_driver driver __cpu_driver = {
+	.ops      = &cpu_dev_ops,
+	.id_table = cpu_table,
+};
+