/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _INTEL_NHM_H
#define _INTEL_NHM_H
#ifdef __cplusplus
extern "C" {
#endif
0x4c, reg);
reg);
0x4c, 0)
0x60, 0)
/*
* MC_CONTROL
*/
/*
* MC_STATUS
*/
/*
* MC_CHANNEL_DIMM_INIT_PARAMS
*/
/*
* MC_DOD_CH
*/
/*
* MC_SAG_CH
*/
/* SAG offset covers SA[39:16] so granularity is 2^16 = 64KB */
/* 24-bit mask for TTMAD_CR_SAG_CH*.OFFSET */
/* 16-bit mask for lower bits not covered by CREG value (SA[15:0]) */
/*
* MC_RIR_LIMIT_CH
*/
/*
* MC_RIR_WAY_CH
*/
>> 54)
/*
* MC_RAS_ENABLES
*/
/*
* MC_RAS_STATUS
*/
/*
* MC_SSRSTATUS
*/
/*
* MC_SSR_CONTROL
*/
#define SSR_IDLE 0
/*
* MC_SCRUB_CONTROL
*/
/*
* MC_DIMM_CLK_RATIO_STATUS
*/
/*
* MC_SMI_SPARE_DIMM_ERROR_STATUS_RD
*/
/*
* SAD_DRAM_RULE
*/
/*
* from SAD_DRAM_RULE*.MODE
*/
#define DIRECT 0
/*
* TAD_DRAM_RULE
*/
typedef struct sad {
char mode;
char enable;
char interleave;
} sad_t;
typedef struct tad {
char mode;
char enable;
char interleave;
} tad_t;
typedef struct sag_ch {
char divby3;
char remove6;
char remove7;
char remove8;
} sag_ch_t;
typedef struct rir_way {
} way_t;
typedef struct rir {
char interleave;
} rir_t;
typedef struct dod_type {
int NUMCol;
int NUMRow;
int NUMRank;
int NUMBank;
int DIMMPresent;
int RankOffset;
} dod_t;
/*
* MC_CHANNEL_MAPPER
*/
extern int max_bus_number;
#ifdef __cplusplus
}
#endif
#endif /* _INTEL_NHM_H */