[coreboot] [PATCH] New Socket370 and Model 68x for CAR

Joseph Smith joe at settoplinux.org
Sun Jun 20 14:44:14 CEST 2010


On 06/20/2010 07:46 AM, Stefan Reinauer wrote:
> 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 at settoplinux.org>
> with two caveats:
>
> Acked-by: Stefan Reinauer <stepan at 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

I wanted to keep them separated because Socket 370 supports PGA370 and 
FCPGA370 processors, this way they are both covered.


>> 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 at 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

No, "m" means mobile chip. Socket 370 is not a mobile chip.
>
>> 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.
ok, why? 680 will cover everything?

>> +	{ 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,
>> +};
>> +
>


-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org




More information about the coreboot mailing list