2 * This file is part of the coreboot project.
4 * Copyright (C) 2007-2008 Advanced Micro Devices, Inc.
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.
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.
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
20 /* FIXME: this file should be moved to include/cpu/amd/amddefs.h */
22 /* Public Revisions - USE THESE VERSIONS TO MAKE COMPARE WITH CPULOGICALID RETURN VALUE*/
23 #define AMD_SAFEMODE 0x80000000 /* Unknown future revision - SAFE MODE */
24 #define AMD_NPT_F0 0x00000001 /* F0 stepping */
25 #define AMD_NPT_F1 0x00000002 /* F1 stepping */
26 #define AMD_NPT_F2C 0x00000004
27 #define AMD_NPT_F2D 0x00000008
28 #define AMD_NPT_F2E 0x00000010 /* F2 stepping E */
29 #define AMD_NPT_F2G 0x00000020 /* F2 stepping G */
30 #define AMD_NPT_F2J 0x00000040
31 #define AMD_NPT_F2K 0x00000080
32 #define AMD_NPT_F3L 0x00000100 /* F3 Stepping */
33 #define AMD_NPT_G0A 0x00000200 /* G0 stepping */
34 #define AMD_NPT_G1B 0x00000400 /* G1 stepping */
35 #define AMD_DR_A0A 0x00010000 /* Barcelona A0 */
36 #define AMD_DR_A1B 0x00020000 /* Barcelona A1 */
37 #define AMD_DR_A2 0x00040000 /* Barcelona A2 */
38 #define AMD_DR_B0 0x00080000 /* Barcelona B0 */
39 #define AMD_DR_B1 0x00100000 /* Barcelona B1 */
40 #define AMD_DR_B2 0x00200000 /* Barcelona B2 */
41 #define AMD_DR_BA 0x00400000 /* Barcelona BA */
42 #define AMD_DR_B3 0x00800000 /* Barcelona B3 */
45 * Groups - Create as many as you wish, from the above public values
47 #define AMD_NPT_F2 (AMD_NPT_F2C | AMD_NPT_F2D | AMD_NPT_F2E | AMD_NPT_F2G | AMD_NPT_F2J | AMD_NPT_F2K)
48 #define AMD_NPT_F3 (AMD_NPT_F3L)
49 #define AMD_NPT_Fx (AMD_NPT_F0 | AMD_NPT_F1 | AMD_NPT_F2 | AMD_NPT_F3)
50 #define AMD_NPT_Gx (AMD_NPT_G0A | AMD_NPT_G1B)
51 #define AMD_NPT_ALL (AMD_NPT_Fx | AMD_NPT_Gx)
52 #define AMD_FINEDELAY (AMD_NPT_F0 | AMD_NPT_F1 | AMD_NPT_F2)
53 #define AMD_GT_F0 (AMD_NPT_ALL AND NOT AMD_NPT_F0)
54 #define AMD_DR_Ax (AMD_DR_A0A + AMD_DR_A1B + AMD_DR_A2)
55 #define AMD_DR_Bx (AMD_DR_B0 | AMD_DR_B1 | AMD_DR_B2 | AMD_DR_B3 | AMD_DR_BA)
56 #define AMD_DR_LT_B3 (AMD_DR_B0 | AMD_DR_B1 | AMD_DR_B2 | AMD_DR_BA)
57 #define AMD_DR_GT_B0 (AMD_DR_ALL & ~(AMD_DR_B0))
58 #define AMD_DR_ALL (AMD_DR_Bx)
61 * Public Platforms - USE THESE VERSIONS TO MAKE COMPARE WITH CPUPLATFORMTYPE RETURN VALUE
63 #define AMD_PTYPE_DSK 0x001 /* Desktop/DTR/UP */
64 #define AMD_PTYPE_MOB 0x002 /* Mobile/Cool-n-quiet */
65 #define AMD_PTYPE_SVR 0x004 /* Workstation/Server/Multicore DT */
66 #define AMD_PTYPE_UC 0x008 /* Single Core */
67 #define AMD_PTYPE_DC 0x010 /* Dual Core */
68 #define AMD_PTYPE_MC 0x020 /* Multi Core (>2) */
69 #define AMD_PTYPE_UMA 0x040 /* UMA required */
72 * Groups - Create as many as you wish, from the above public values
74 #define AMD_PTYPE_ALL 0xFFFFFFFF /* A mask for all */
78 * CPU PCI HT PHY REGISTER, LINK TYPES - PRIVATE
80 #define HTPHY_LINKTYPE_HT3 0x00000001
81 #define HTPHY_LINKTYPE_HT1 0x00000002
82 #define HTPHY_LINKTYPE_COHERENT 0x00000004
83 #define HTPHY_LINKTYPE_NONCOHERENT 0x00000008
84 #define HTPHY_LINKTYPE_CONNECTED (HTPHY_LINKTYPE_COHERENT | HTPHY_LINKTYPE_NONCOHERENT)
85 #define HTPHY_LINKTYPE_GANGED 0x00000010
86 #define HTPHY_LINKTYPE_UNGANGED 0x00000020
87 #define HTPHY_LINKTYPE_ALL 0x7FFFFFFF
91 * CPU HT PHY REGISTERS, FIELDS, AND MASKS
93 #define HTPHY_OFFSET_MASK 0xE00001FF
94 #define HTPHY_WRITE_CMD 0x40000000
95 #define HTPHY_IS_COMPLETE_MASK 0x80000000
96 #define HTPHY_DIRECT_MAP 0x20000000
97 #define HTPHY_DIRECT_OFFSET_MASK 0xE000FFFF
103 #define CPUID_EXT_PM 0x80000007
104 #define CPUID_MODEL 1
105 #define MCG_CAP 0x00000179
107 #define MC0_CTL 0x00000400
108 #define MC0_STA MC0_CTL + 1
109 #define FS_Base 0xC0000100
110 #define SYSCFG 0xC0010010
111 #define HWCR 0xC0010015
112 #define NB_CFG 0xC001001F
113 #define FidVidStatus 0xC0010042
114 #define MC4_CTL_MASK 0xC0010048
115 #define OSVW_ID_Length 0xC0010140
116 #define OSVW_Status 0xC0010141
117 #define CPUIDFEATURES 0xC0011004
118 #define LS_CFG 0xC0011020
119 #define DC_CFG 0xC0011022
120 #define BU_CFG 0xC0011023
121 #define BU_CFG2 0xC001102A