[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