mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
7868f1ed84
Add new UV-specific header files. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
267 lines
10 KiB
C
267 lines
10 KiB
C
/*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* SGI UV MMR definitions
|
|
*
|
|
* Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __ASM_IA64_UV_MMRS__
|
|
#define __ASM_IA64_UV_MMRS__
|
|
|
|
/*
|
|
* AUTO GENERATED - Do not edit
|
|
*/
|
|
|
|
#define UV_MMR_ENABLE (1UL << 63)
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_NODE_ID */
|
|
/* ========================================================================= */
|
|
#define UVH_NODE_ID 0x0UL
|
|
|
|
#define UVH_NODE_ID_FORCE1_SHFT 0
|
|
#define UVH_NODE_ID_FORCE1_MASK 0x0000000000000001UL
|
|
#define UVH_NODE_ID_MANUFACTURER_SHFT 1
|
|
#define UVH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
|
|
#define UVH_NODE_ID_PART_NUMBER_SHFT 12
|
|
#define UVH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
|
|
#define UVH_NODE_ID_REVISION_SHFT 28
|
|
#define UVH_NODE_ID_REVISION_MASK 0x00000000f0000000UL
|
|
#define UVH_NODE_ID_NODE_ID_SHFT 32
|
|
#define UVH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
|
|
#define UVH_NODE_ID_NODES_PER_BIT_SHFT 48
|
|
#define UVH_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL
|
|
#define UVH_NODE_ID_NI_PORT_SHFT 56
|
|
#define UVH_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL
|
|
|
|
union uvh_node_id_u {
|
|
unsigned long v;
|
|
struct uvh_node_id_s {
|
|
unsigned long force1 : 1; /* RO */
|
|
unsigned long manufacturer : 11; /* RO */
|
|
unsigned long part_number : 16; /* RO */
|
|
unsigned long revision : 4; /* RO */
|
|
unsigned long node_id : 15; /* RW */
|
|
unsigned long rsvd_47 : 1; /* */
|
|
unsigned long nodes_per_bit : 7; /* RW */
|
|
unsigned long rsvd_55 : 1; /* */
|
|
unsigned long ni_port : 4; /* RO */
|
|
unsigned long rsvd_60_63 : 4; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */
|
|
/* ========================================================================= */
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
|
|
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
|
|
|
|
union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
|
|
unsigned long v;
|
|
struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
|
|
unsigned long rsvd_0_23 : 24; /* */
|
|
unsigned long dest_base : 22; /* RW */
|
|
unsigned long rsvd_46_63: 18; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */
|
|
/* ========================================================================= */
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
|
|
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
|
|
|
|
union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
|
|
unsigned long v;
|
|
struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
|
|
unsigned long rsvd_0_23 : 24; /* */
|
|
unsigned long dest_base : 22; /* RW */
|
|
unsigned long rsvd_46_63: 18; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */
|
|
/* ========================================================================= */
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
|
|
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
|
|
#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
|
|
|
|
union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
|
|
unsigned long v;
|
|
struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
|
|
unsigned long rsvd_0_23 : 24; /* */
|
|
unsigned long dest_base : 22; /* RW */
|
|
unsigned long rsvd_46_63: 18; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */
|
|
/* ========================================================================= */
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
|
|
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 46
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_MASK 0x0000400000000000UL
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
|
|
#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
|
|
|
|
union uvh_rh_gam_gru_overlay_config_mmr_u {
|
|
unsigned long v;
|
|
struct uvh_rh_gam_gru_overlay_config_mmr_s {
|
|
unsigned long rsvd_0_27: 28; /* */
|
|
unsigned long base : 18; /* RW */
|
|
unsigned long gr4 : 1; /* RW */
|
|
unsigned long rsvd_47_51: 5; /* */
|
|
unsigned long n_gru : 4; /* RW */
|
|
unsigned long rsvd_56_62: 7; /* */
|
|
unsigned long enable : 1; /* RW */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */
|
|
/* ========================================================================= */
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
|
|
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
|
|
#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
|
|
|
|
union uvh_rh_gam_mmr_overlay_config_mmr_u {
|
|
unsigned long v;
|
|
struct uvh_rh_gam_mmr_overlay_config_mmr_s {
|
|
unsigned long rsvd_0_25: 26; /* */
|
|
unsigned long base : 20; /* RW */
|
|
unsigned long dual_hub : 1; /* RW */
|
|
unsigned long rsvd_47_62: 16; /* */
|
|
unsigned long enable : 1; /* RW */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_RTC */
|
|
/* ========================================================================= */
|
|
#define UVH_RTC 0x28000UL
|
|
|
|
#define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
|
|
#define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
|
|
|
|
union uvh_rtc_u {
|
|
unsigned long v;
|
|
struct uvh_rtc_s {
|
|
unsigned long real_time_clock : 56; /* RW */
|
|
unsigned long rsvd_56_63 : 8; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_SI_ADDR_MAP_CONFIG */
|
|
/* ========================================================================= */
|
|
#define UVH_SI_ADDR_MAP_CONFIG 0xc80000UL
|
|
|
|
#define UVH_SI_ADDR_MAP_CONFIG_M_SKT_SHFT 0
|
|
#define UVH_SI_ADDR_MAP_CONFIG_M_SKT_MASK 0x000000000000003fUL
|
|
#define UVH_SI_ADDR_MAP_CONFIG_N_SKT_SHFT 8
|
|
#define UVH_SI_ADDR_MAP_CONFIG_N_SKT_MASK 0x0000000000000f00UL
|
|
|
|
union uvh_si_addr_map_config_u {
|
|
unsigned long v;
|
|
struct uvh_si_addr_map_config_s {
|
|
unsigned long m_skt : 6; /* RW */
|
|
unsigned long rsvd_6_7: 2; /* */
|
|
unsigned long n_skt : 4; /* RW */
|
|
unsigned long rsvd_12_63: 52; /* */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_SI_ALIAS0_OVERLAY_CONFIG */
|
|
/* ========================================================================= */
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG 0xc80008UL
|
|
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_SHFT 24
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_SHFT 48
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_SHFT 63
|
|
#define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
|
|
|
|
union uvh_si_alias0_overlay_config_u {
|
|
unsigned long v;
|
|
struct uvh_si_alias0_overlay_config_s {
|
|
unsigned long rsvd_0_23: 24; /* */
|
|
unsigned long base : 8; /* RW */
|
|
unsigned long rsvd_32_47: 16; /* */
|
|
unsigned long m_alias : 5; /* RW */
|
|
unsigned long rsvd_53_62: 10; /* */
|
|
unsigned long enable : 1; /* RW */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_SI_ALIAS1_OVERLAY_CONFIG */
|
|
/* ========================================================================= */
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG 0xc80010UL
|
|
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_SHFT 24
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_SHFT 48
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_SHFT 63
|
|
#define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
|
|
|
|
union uvh_si_alias1_overlay_config_u {
|
|
unsigned long v;
|
|
struct uvh_si_alias1_overlay_config_s {
|
|
unsigned long rsvd_0_23: 24; /* */
|
|
unsigned long base : 8; /* RW */
|
|
unsigned long rsvd_32_47: 16; /* */
|
|
unsigned long m_alias : 5; /* RW */
|
|
unsigned long rsvd_53_62: 10; /* */
|
|
unsigned long enable : 1; /* RW */
|
|
} s;
|
|
};
|
|
|
|
/* ========================================================================= */
|
|
/* UVH_SI_ALIAS2_OVERLAY_CONFIG */
|
|
/* ========================================================================= */
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG 0xc80018UL
|
|
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_SHFT 24
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_SHFT 48
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_SHFT 63
|
|
#define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
|
|
|
|
union uvh_si_alias2_overlay_config_u {
|
|
unsigned long v;
|
|
struct uvh_si_alias2_overlay_config_s {
|
|
unsigned long rsvd_0_23: 24; /* */
|
|
unsigned long base : 8; /* RW */
|
|
unsigned long rsvd_32_47: 16; /* */
|
|
unsigned long m_alias : 5; /* RW */
|
|
unsigned long rsvd_53_62: 10; /* */
|
|
unsigned long enable : 1; /* RW */
|
|
} s;
|
|
};
|
|
|
|
|
|
#endif /* __ASM_IA64_UV_MMRS__ */
|