11772Sjl139090 /* 21772Sjl139090 * CDDL HEADER START 31772Sjl139090 * 41772Sjl139090 * The contents of this file are subject to the terms of the 51772Sjl139090 * Common Development and Distribution License (the "License"). 61772Sjl139090 * You may not use this file except in compliance with the License. 71772Sjl139090 * 81772Sjl139090 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 91772Sjl139090 * or http://www.opensolaris.org/os/licensing. 101772Sjl139090 * See the License for the specific language governing permissions 111772Sjl139090 * and limitations under the License. 121772Sjl139090 * 131772Sjl139090 * When distributing Covered Code, include this CDDL HEADER in each 141772Sjl139090 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 151772Sjl139090 * If applicable, add the following below this CDDL HEADER, with the 161772Sjl139090 * fields enclosed by brackets "[]" replaced with your own identifying 171772Sjl139090 * information: Portions Copyright [yyyy] [name of copyright owner] 181772Sjl139090 * 191772Sjl139090 * CDDL HEADER END 201772Sjl139090 */ 211772Sjl139090 /* 22*10923SEvan.Yan@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 231772Sjl139090 * Use is subject to license terms. 241772Sjl139090 */ 251772Sjl139090 261772Sjl139090 #ifndef _SYS_OBERON_REGS_H 271772Sjl139090 #define _SYS_OBERON_REGS_H 281772Sjl139090 291772Sjl139090 #ifdef __cplusplus 301772Sjl139090 extern "C" { 311772Sjl139090 #endif 321772Sjl139090 331772Sjl139090 341772Sjl139090 #define UBC_ERROR_LOG_ENABLE 0x471000 351772Sjl139090 #define UBC_ERROR_STATUS_CLEAR 0x471018 361772Sjl139090 #define UBC_INTERRUPT_ENABLE 0x471008 371772Sjl139090 #define UBC_INTERRUPT_STATUS 0x471010 381772Sjl139090 #define UBC_INTERRUPT_STATUS_DMARDUEA_P 0 391772Sjl139090 #define UBC_INTERRUPT_STATUS_DMAWTUEA_P 1 401772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMRDAXA_P 2 411772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMWTAXA_P 3 421772Sjl139090 #define UBC_INTERRUPT_STATUS_DMARDUEB_P 8 431772Sjl139090 #define UBC_INTERRUPT_STATUS_DMAWTUEB_P 9 441772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMRDAXB_P 10 451772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMWTAXB_P 11 461772Sjl139090 #define UBC_INTERRUPT_STATUS_PIOWTUE_P 16 471772Sjl139090 #define UBC_INTERRUPT_STATUS_PIOWBEUE_P 17 481772Sjl139090 #define UBC_INTERRUPT_STATUS_PIORBEUE_P 18 491772Sjl139090 #define UBC_INTERRUPT_STATUS_DMARDUEA_S 32 501772Sjl139090 #define UBC_INTERRUPT_STATUS_DMAWTUEA_S 33 511772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMRDAXA_S 34 521772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMWTAXA_S 35 531772Sjl139090 #define UBC_INTERRUPT_STATUS_DMARDUEB_S 40 541772Sjl139090 #define UBC_INTERRUPT_STATUS_DMAWTUEB_S 41 551772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMRDAXB_S 42 561772Sjl139090 #define UBC_INTERRUPT_STATUS_MEMWTAXB_S 43 571772Sjl139090 #define UBC_INTERRUPT_STATUS_PIOWTUE_S 48 581772Sjl139090 #define UBC_INTERRUPT_STATUS_PIOWBEUE_S 49 591772Sjl139090 #define UBC_INTERRUPT_STATUS_PIORBEUE_S 50 601772Sjl139090 #define UBC_ERROR_STATUS_SET 0x471020 611772Sjl139090 #define UBC_PERFORMANCE_COUNTER_SELECT 0x472000 621772Sjl139090 #define UBC_PERFORMANCE_COUNTER_ZERO 0x472008 631772Sjl139090 #define UBC_PERFORMANCE_COUNTER_ONE 0x472010 641772Sjl139090 #define UBC_PERFORMANCE_COUNTER_SEL_MASKS 0x3f3f 651772Sjl139090 #define UBC_MEMORY_UE_LOG 0x471028 661772Sjl139090 #define UBC_MEMORY_UE_LOG_EID 60 671772Sjl139090 #define UBC_MEMORY_UE_LOG_EID_MASK 0x3 681772Sjl139090 #define UBC_MEMORY_UE_LOG_MARKED 48 691772Sjl139090 #define UBC_MEMORY_UE_LOG_MARKED_MASK 0x3fff 701772Sjl139090 #define UBC_MARKED_MAX_CPUID_MASK 0x1ff 711772Sjl139090 /* 721772Sjl139090 * Class qualifiers on errors for which EID is valid. 731772Sjl139090 */ 741772Sjl139090 #define UBC_EID_MEM 0 751772Sjl139090 #define UBC_EID_CHANNEL 1 761772Sjl139090 #define UBC_EID_CPU 2 771772Sjl139090 #define UBC_EID_PATH 3 785168Sarutz /* 795168Sarutz * Mask within UBC_INTERRUPT_STATUS for Leaf-A errors 805168Sarutz */ 815168Sarutz #define UBC_INTERRUPT_STATUS_LEAFA \ 825168Sarutz ((1UL << UBC_INTERRUPT_STATUS_DMARDUEA_P) |\ 835168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMAWTUEA_P) |\ 845168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMRDAXA_P) |\ 855168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMWTAXA_P) |\ 865168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMARDUEA_S) |\ 875168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMAWTUEA_S) |\ 885168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMRDAXA_S) |\ 895168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMWTAXA_S)) 905168Sarutz /* 915168Sarutz * Mask within UBC_INTERRUPT_STATUS for Leaf-B errors 925168Sarutz */ 935168Sarutz #define UBC_INTERRUPT_STATUS_LEAFB \ 945168Sarutz ((1UL << UBC_INTERRUPT_STATUS_DMARDUEB_P) |\ 955168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMAWTUEB_P) |\ 965168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMRDAXB_P) |\ 975168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMWTAXB_P) |\ 985168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMARDUEB_S) |\ 995168Sarutz (1UL << UBC_INTERRUPT_STATUS_DMAWTUEB_S) |\ 1005168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMRDAXB_S) |\ 1015168Sarutz (1UL << UBC_INTERRUPT_STATUS_MEMWTAXB_S)) 1021772Sjl139090 1031772Sjl139090 #define OBERON_UBC_ID_MAX 64 1041772Sjl139090 #define OBERON_UBC_ID_IOC 0 1051772Sjl139090 #define OBERON_UBC_ID_LSB 2 1061772Sjl139090 1075168Sarutz #define OBERON_PORT_ID_LEAF 0 1085168Sarutz #define OBERON_PORT_ID_LEAF_MASK 0x1 1091772Sjl139090 #define OBERON_PORT_ID_IOC 1 1101772Sjl139090 #define OBERON_PORT_ID_IOC_MASK 0x03 1111772Sjl139090 #define OBERON_PORT_ID_LSB 4 1121772Sjl139090 #define OBERON_PORT_ID_LSB_MASK 0x0F 1131772Sjl139090 1145168Sarutz /* values for OBERON_PORT_ID_LEAF field */ 1155168Sarutz #define OBERON_PORT_ID_LEAF_A 0 1165168Sarutz #define OBERON_PORT_ID_LEAF_B 1 1175168Sarutz 1181772Sjl139090 #define INTERRUPT_MAPPING_ENTRIES_T_DESTID 21 1191772Sjl139090 #define INTERRUPT_MAPPING_ENTRIES_T_DESTID_MASK 0x3ff 1201772Sjl139090 1211772Sjl139090 #define OBERON_TLU_CONTROL_DRN_TR_DIS 35 1221772Sjl139090 #define OBERON_TLU_CONTROL_CPLEP_DEN 34 1231772Sjl139090 #define OBERON_TLU_CONTROL_ECRCCHK_DIS 33 1241772Sjl139090 #define OBERON_TLU_CONTROL_ECRCGEN_DIS 32 1251772Sjl139090 1261772Sjl139090 #define TLU_SLOT_CAPABILITIES_HP 6 1271772Sjl139090 #define TLU_SLOT_CAPABILITIES_HPSUP 5 1281772Sjl139090 #define TLU_SLOT_CAPABILITIES_PWINDP 4 1291772Sjl139090 #define TLU_SLOT_CAPABILITIES_ATINDP 3 1301772Sjl139090 #define TLU_SLOT_CAPABILITIES_MRLSP 2 1311772Sjl139090 #define TLU_SLOT_CAPABILITIES_PWCNTLP 1 1321772Sjl139090 #define TLU_SLOT_CAPABILITIES_ATBTNP 0 1331772Sjl139090 1341772Sjl139090 #define DLU_INTERRUPT_MASK 0xe2048 1351772Sjl139090 #define DLU_INTERRUPT_MASK_MSK_INTERRUPT_EN 31 1361772Sjl139090 #define DLU_INTERRUPT_MASK_MSK_LINK_LAYER 5 1371772Sjl139090 #define DLU_INTERRUPT_MASK_MSK_PHY_ERROR 4 1381772Sjl139090 #define DLU_LINK_LAYER_CONFIG 0xe2200 1391772Sjl139090 #define DLU_LINK_LAYER_CONFIG_VC0_EN 8 1401772Sjl139090 #define DLU_LINK_LAYER_CONFIG_TLP_XMIT_FC_EN 3 1411772Sjl139090 #define DLU_LINK_LAYER_CONFIG_FREQ_ACK_ENABLE 2 1421772Sjl139090 #define DLU_LINK_LAYER_CONFIG_RETRY_DISABLE 1 1431983Sjj156685 #define DLU_LINK_LAYER_STATUS 0xe2208 1441983Sjj156685 #define DLU_LINK_LAYER_STATUS_LNK_STATE_MACH_STS_MASK 0x7 1451983Sjj156685 #define DLU_LINK_LAYER_STATUS_LNK_STATE_MACH_STS_DL_INACTIVE 0x1 1461983Sjj156685 #define DLU_LINK_LAYER_STATUS_LNK_STATE_MACH_STS_DL_INIT 0x2 1471983Sjj156685 #define DLU_LINK_LAYER_STATUS_LNK_STATE_MACH_STS_DL_ACTIVE 0x4 1481983Sjj156685 #define DLU_LINK_LAYER_STATUS_DLUP_STS 3 1491983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS 4 1501983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS_MASK 0x3 1511983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS_FC_IDLE 0x0 1521983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS_FC_INIT_1 0x1 1531983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS_FC_INIT_2 0x3 1541983Sjj156685 #define DLU_LINK_LAYER_STATUS_INIT_FC_SM_STS_FC_INIT_DONE 0x2 1551772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_AND_STATUS 0xe2210 1561772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_AND_STATUS_INT_LINK_ERR_ACT 31 1571772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_AND_STATUS_INT_PARABUS_PE 23 1581772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_AND_STATUS_INT_UNSPRTD_DLLP 22 1591772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_AND_STATUS_INT_SRC_ERR_TLP 17 1601772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_MASK 0xe2220 1611772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_MASK_MSK_LINK_ERR_ACT 31 1621772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_MASK_MSK_PARABUS_PE 23 1631772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_MASK_MSK_UNSPRTD_DLLP 22 1641772Sjl139090 #define DLU_LINK_LAYER_INTERRUPT_MASK_MSK_SRC_ERR_TLP 17 1651772Sjl139090 #define DLU_FLOW_CONTROL_UPDATE_CONTROL 0xe2240 1661772Sjl139090 #define DLU_FLOW_CONTROL_UPDATE_CONTROL_FC0_U_C_EN 2 1671772Sjl139090 #define DLU_FLOW_CONTROL_UPDATE_CONTROL_FC0_U_NP_EN 1 1681772Sjl139090 #define DLU_FLOW_CONTROL_UPDATE_CONTROL_FC0_U_P_EN 0 1691772Sjl139090 #define DLU_TXLINK_REPLAY_TIMER_THRESHOLD 0xe2410 1701772Sjl139090 #define DLU_TXLINK_REPLAY_TIMER_THRESHOLD_RPLAY_TMR_THR 0 1711772Sjl139090 #define DLU_TXLINK_REPLAY_TIMER_THRESHOLD_RPLAY_TMR_THR_MASK 0xfffff 1721772Sjl139090 #define DLU_TXLINK_REPLAY_TIMER_THRESHOLD_DEFAULT 0xc9 1731772Sjl139090 #define DLU_PORT_CONTROL 0xe2b00 1741772Sjl139090 #define DLU_PORT_CONTROL_CK_EN 0 1751772Sjl139090 #define DLU_PORT_STATUS 0xe2b08 1761772Sjl139090 1771772Sjl139090 #define MMU_INTERRUPT_STATUS_TTC_DUE_P 8 1781772Sjl139090 #define MMU_INTERRUPT_STATUS_TTC_DUE_S 40 1791772Sjl139090 #define ILU_INTERRUPT_STATUS_IHB_UE_P 4 1801772Sjl139090 #define ILU_INTERRUPT_STATUS_IHB_UE_S 36 1811772Sjl139090 #define TLU_UNCORRECTABLE_ERROR_STATUS_CLEAR_ECRC_P 19 1821772Sjl139090 #define TLU_UNCORRECTABLE_ERROR_STATUS_CLEAR_ECRC_S 51 1831772Sjl139090 #define TLU_UNCORRECTABLE_ERROR_STATUS_CLEAR_POIS_P 12 1841772Sjl139090 #define TLU_UNCORRECTABLE_ERROR_STATUS_CLEAR_POIS_S 44 1851772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EIUE_P 0 1861772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EIUE_S 32 1871772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_ERBUE_P 1 1881772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_ERBUE_S 33 1891772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_TLUEITMO_P 7 1901772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_TLUEITMO_S 39 1911772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EHBUE_P 12 1921772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EHBUE_S 44 1931772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EDBUE_P 12 1941772Sjl139090 #define TLU_OTHER_EVENT_STATUS_CLEAR_EDBUE_S 44 1951772Sjl139090 1961772Sjl139090 #define TLU_CONTROL_DRN_TR_DIS 35 1971772Sjl139090 1981772Sjl139090 #define TLU_SLOT_CONTROL 0x90038 1991772Sjl139090 #define TLU_SLOT_CONTROL_PWFDEN 1 2001772Sjl139090 #define TLU_SLOT_STATUS 0x90040 2011772Sjl139090 #define TLU_SLOT_STATUS_PSD 6 2021772Sjl139090 #define TLU_SLOT_STATUS_MRLS 5 2031772Sjl139090 #define TLU_SLOT_STATUS_CMDCPLT 4 2041772Sjl139090 #define TLU_SLOT_STATUS_PSDC 3 2051772Sjl139090 #define TLU_SLOT_STATUS_MRLC 2 2061772Sjl139090 #define TLU_SLOT_STATUS_PWFD 1 2071772Sjl139090 #define TLU_SLOT_STATUS_ABTN 0 2081772Sjl139090 2091983Sjj156685 #define FLP_PORT_LINK_CONTROL 0xe5008 2101983Sjj156685 #define FLP_PORT_LINK_CONTROL_RETRAIN 5 2111983Sjj156685 2121772Sjl139090 #define FLP_PORT_CONTROL 0xe5200 2131772Sjl139090 #define FLP_PORT_CONTROL_PORT_DIS 0 2141772Sjl139090 2151983Sjj156685 #define FLP_PORT_ACTIVE_STATUS 0xe5240 2161983Sjj156685 #define FLP_PORT_ACTIVE_STATUS_TRAIN_ERROR 1 2171983Sjj156685 2181772Sjl139090 #define HOTPLUG_CONTROL 0x88000 2191772Sjl139090 #define HOTPLUG_CONTROL_SLOTPON 3 2201772Sjl139090 #define HOTPLUG_CONTROL_PWREN 2 2211772Sjl139090 #define HOTPLUG_CONTROL_CLKEN 1 2221772Sjl139090 #define HOTPLUG_CONTROL_N_PERST 0 2231772Sjl139090 2242476Sdwoods #define DRAIN_CONTROL_STATUS 0x51100 2252476Sdwoods #define DRAIN_CONTROL_STATUS_DRAIN 0 2262476Sdwoods 2271772Sjl139090 #ifdef __cplusplus 2281772Sjl139090 } 2291772Sjl139090 #endif 2301772Sjl139090 2311772Sjl139090 #endif /* _SYS_OBERON_REGS_H */ 232