summaryrefslogtreecommitdiffstats
path: root/src/usr/scom
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2013-11-12 12:33:34 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-11-13 16:07:02 -0600
commit5fbc5a59c927103b37f04e0d2055714f7aa8c93c (patch)
tree12aa82f27c00b4b5819a6043e30d7f5f84141c2e /src/usr/scom
parent7a343d53c683aad3fb8513f8015516844e901b8f (diff)
downloadtalos-hostboot-5fbc5a59c927103b37f04e0d2055714f7aa8c93c.tar.gz
talos-hostboot-5fbc5a59c927103b37f04e0d2055714f7aa8c93c.zip
Hostboot Centaur DD2.0 additional supports (SW231619)
Change-Id: I2c10860fa7b29c64579a6caf3532f316f9727e5f CMVC-Coreq:904369 CQ:SW231619 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7194 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/scom')
-rw-r--r--src/usr/scom/scomtrans.C30
-rw-r--r--src/usr/scom/scomtrans.H10
2 files changed, 32 insertions, 8 deletions
diff --git a/src/usr/scom/scomtrans.C b/src/usr/scom/scomtrans.C
index 694d1fafe..024b2cd54 100644
--- a/src/usr/scom/scomtrans.C
+++ b/src/usr/scom/scomtrans.C
@@ -414,6 +414,9 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
// SCOM_TRANS_MBA_MASK = 0xFFFFFFFF7FFFFC00,
// SCOM_TRANS_MBA_BASEADDR = 0x0000000003010400,
//
+ // SCOM_TRANS_TCM_MBA_MASK = 0xFFFFFFFFFFFFFC00
+ // SCOM_TRANS_TCM_MBA_BASEADDR = 0x0000000003010800
+ //
// In the XML.. the
// <default>physical:sys-0/node-0/membuf-10/mbs-0/mba-1</default>
//
@@ -422,8 +425,10 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
//
// 0x00000000_03010400 MBA 0 # MBA01
// 0x00000000_03010C00 MBA 1 # MBA23
- //
- //
+
+ // 0x00000000_03010880 MBA 0 # Trace for MBA01
+ // 0x00000000_030110C0 MBA 1 # Trace for MBA23
+
// 0x00000000_03011400 MBA 0 # DPHY01 (indirect addressing)
// 0x00000000_03011800 MBA 1 # DPHY23 (indirect addressing)
@@ -433,13 +438,13 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
// 0x80000000_0701143f MBA 0 # DPHY01 (indirect addressing)
// 0x80000000_0701183f MBA 1 # DPHY23 (indirect addressing)
//
+
// SCOM_TRANS_IND_MBA_MASK = 0x80000000FFFFFFFF,
// SCOM_TRANS_IND_MBA_BASEADDR = 0x800000000301143f,
-
- // check to see that the Address is in the correct direct
- // scom MBA address range.
- if ((i_addr & SCOM_TRANS_MBA_MASK) == SCOM_TRANS_MBA_BASEADDR)
+ // check to see that the Address is in the correct direct
+ // scom MBA address range.
+ if ( (i_addr & SCOM_TRANS_MBA_MASK) == SCOM_TRANS_MBA_BASEADDR )
{
l_err = scomPerformTranslate(epath,
@@ -450,6 +455,19 @@ errlHndl_t scomTranslate(DeviceFW::OperationType i_opType,
i_target,
i_addr );
}
+
+ // New TCM MBA registers for DD2.0
+ else if ( (i_addr & SCOM_TRANS_TCM_MBA_MASK) ==
+ SCOM_TRANS_TCM_MBA_BASEADDR )
+ {
+ l_instance = epath.pathElementOfType(TARGETING::TYPE_MBA).instance;
+ i_addr = i_addr + (l_instance * SCOM_TRANS_TCM_MBA_OFFSET);
+ // Call to set the target to the parent target type
+ l_err = scomfindParentTarget(epath,
+ TARGETING::TYPE_MEMBUF,
+ i_target);
+ }
+
// check to see if valid MBA 0 indirect address range
else if ((i_addr & SCOM_TRANS_IND_MBA_MASK) ==
SCOM_TRANS_IND_MBA_BASEADDR)
diff --git a/src/usr/scom/scomtrans.H b/src/usr/scom/scomtrans.H
index 473b0c6a9..d5a5413f7 100644
--- a/src/usr/scom/scomtrans.H
+++ b/src/usr/scom/scomtrans.H
@@ -5,7 +5,7 @@
/* */
/* IBM CONFIDENTIAL */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2012 */
+/* COPYRIGHT International Business Machines Corp. 2011,2013 */
/* */
/* p1 */
/* */
@@ -38,11 +38,12 @@ namespace SCOM
SCOM_TRANS_EX_MASK = 0xFFFFFFFF7F000000,
SCOM_TRANS_MCS_MASK = 0xFFFFFFFF7FFFFF80,
SCOM_TRANS_MBA_MASK = 0xFFFFFFFF7FFFFC00,
+ SCOM_TRANS_TCM_MBA_MASK = 0xFFFFFFFFFFFFFC00,
SCOM_TRANS_XBUS_MASK = 0x00000000FFFFFC00,
SCOM_TRANS_IND_MCS_DMI_MASK = 0x80000060FFFFFFFF,
SCOM_TRANS_IND_MBA_MASK = 0x80000000FFFFFFFF,
SCOM_TRANS_ABUS_MASK = 0x00000060FFFFFC00,
- SCOM_TRANS_INDIRECT_MASK = 0x8000000000000000,
+ SCOM_TRANS_INDIRECT_MASK = 0x8000000000000000,
};
enum ScomTransBaseAddr
@@ -52,6 +53,7 @@ namespace SCOM
SCOM_TRANS_MCS_DMI_BASEADDR = 0x0000000002011A00,
SCOM_TRANS_IND_MCS_BASEADDR = 0x8000006002011A00,
SCOM_TRANS_MBA_BASEADDR = 0x0000000003010400,
+ SCOM_TRANS_TCM_MBA_BASEADDR = 0x0000000003010800,
SCOM_TRANS_XBUS_BASEADDR = 0x0000000004011000,
SCOM_TRANS_ABUS_BASEADDR = 0x0000000008010C00,
SCOM_TRANS_IND_MBA_BASEADDR = 0x800000000301143f,
@@ -59,6 +61,10 @@ namespace SCOM
SCOM_TRANS_INDIRECT_ADDRESS = 0x8000000000000000,
};
+ enum ScomTransOffset
+ {
+ SCOM_TRANS_TCM_MBA_OFFSET = 0x840,
+ };
/**
OpenPOWER on IntegriCloud