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

Stefan Reinauer stefan.reinauer at coresystems.de
Sun Jun 20 14:52:40 CEST 2010


On 20.06.2010, at 14:44, Joseph Smith <joe at settoplinux.org> wrote:

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

Hm ok

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

Afaik the m in mfcpga means micro

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

Yes. It will mask the ID with fff0


>
>>> +    { 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