amdfam10: add phenom II as known cpu
[coreboot.git] / src / northbridge / amd / amdfam10 / raminit.h
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2007 Advanced Micro Devices, Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2 of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18  */
19
20 #ifndef RAMINIT_H
21 #define RAMINIT_H
22
23 #if 0
24 #if CONFIG_DIMM_SUPPORT==0x0110
25 //FBDIMM REG
26 /* each channel can have 8 fbdimm */
27 #define DIMM_SOCKETS 8
28 struct mem_controller {
29         u32 node_id;
30         device_t f0, f1, f2, f3, f4, f5;
31         /* channelA, channelB belong to DCT0,
32          * channelC, channelD belong to DCT1
33          * Each DCT may support one ganged logical FBDIMM ---> 128 bit
34          *                       or a single unganged channel --->64 bit
35          * a DCT can not support 2 unganged channels
36          * two DCTs can not be ganged
37          */
38         u8 spd_switch_addr;
39         u8 spd_addr[DIMM_SOCKETS*4];
40 };
41
42 #endif
43 #endif
44
45 //#if (CONFIG_DIMM_SUPPORT & 0x00ff)==0x0004
46 //DDR2 REG and unbuffered : Socket F 1027 and AM3
47 /* every channel have 4 DDR2 DIMM for socket F
48  *                     2 for socket M2/M3
49  *                     1 for socket s1g1
50  */
51 #define DIMM_SOCKETS 4
52 struct mem_controller {
53         u32 node_id;
54         device_t f0, f1, f2, f3, f4, f5;
55         /* channel0 is DCT0 --- channelA
56          * channel1 is DCT1 --- channelB
57          * can be ganged, a single dual-channel DCT ---> 128 bit
58          *       or unganged a two single-channel DCTs ---> 64bit
59          * When the DCTs are ganged, the writes to DCT1 set of registers
60          * (F2x1XX) are ignored and reads return all 0's
61          * The exception is the DCT phy registers, F2x[1,0]98, F2x[1,0]9C,
62          * and all the associated indexed registers, are still
63          * independently accessiable
64          */
65         /* FIXME: I will only support ganged mode for easy support */
66         u8 spd_switch_addr;
67         u8 spd_addr[DIMM_SOCKETS*2];
68 };
69
70 //#endif
71
72
73 #endif