summaryrefslogtreecommitdiffstats
path: root/src/usr/scom
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2016-07-27 11:54:05 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-07-28 10:34:02 -0400
commit7985119ccf8c6ddd89f4481117106fa71e5874d5 (patch)
treeb6ee4fbfdc13c231f63d751383b72636f45953dd /src/usr/scom
parentc03003723f00e8d9200b4a03bf55495c48cb0d77 (diff)
downloadtalos-hostboot-7985119ccf8c6ddd89f4481117106fa71e5874d5.tar.gz
talos-hostboot-7985119ccf8c6ddd89f4481117106fa71e5874d5.zip
Add TYPE_CAPP as scommable type
Change-Id: Ic1f279dbe2d692bbb20a0d9e90b8d4174420e4da RTC: 158390 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27516 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/scom')
-rw-r--r--src/usr/scom/scomtrans.C10
-rw-r--r--src/usr/scom/test/scomtest.H12
2 files changed, 17 insertions, 5 deletions
diff --git a/src/usr/scom/scomtrans.C b/src/usr/scom/scomtrans.C
index f0923ae43..4b5987fb3 100644
--- a/src/usr/scom/scomtrans.C
+++ b/src/usr/scom/scomtrans.C
@@ -161,7 +161,10 @@ DEVICE_REGISTER_ROUTE(DeviceFW::WILDCARD,
TARGETING::TYPE_OCC,
startScomProcess);
-
+DEVICE_REGISTER_ROUTE(DeviceFW::WILDCARD,
+ DeviceFW::SCOM,
+ TARGETING::TYPE_CAPP,
+ startScomProcess);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -630,6 +633,11 @@ bool getChipUnit (TARGETING::TYPE i_type,
o_chipUnit = PU_OCC_CHIPUNIT;
break;
}
+ case(TARGETING::TYPE_CAPP) :
+ {
+ o_chipUnit = PU_CAPP_CHIPUNIT;
+ break;
+ }
//Need to add centaur support for Cumulus
//@TODO RTC: 139953
default:
diff --git a/src/usr/scom/test/scomtest.H b/src/usr/scom/test/scomtest.H
index 2b5a0b3c9..edfa21260 100644
--- a/src/usr/scom/test/scomtest.H
+++ b/src/usr/scom/test/scomtest.H
@@ -625,7 +625,7 @@ public:
} test_data[] = {
{ scom_targets[myPROC0], 0x900003210D010BEE, 0x0004432112344321, false}, // Form 1
{ scom_targets[myPROC0], 0x9000012307011BEE, 0x000443211234ABAB, false }, // Form 1
- { scom_targets[myPROC0], 0x9000000007011BEE, 0x123443211234ABAB, true }, // Form 1
+ { scom_targets[myPROC0], 0x9000000007011BEE, 0x123443211234ABAB, true }, // Form 1
{ scom_targets[myPROC0], 0x9FEEDB0B0DEADBEE, 0x000443211234ABAB, true }, // Form 1
};
const uint64_t NUM_ADDRS = sizeof(test_data)/sizeof(test_data[0]);
@@ -648,7 +648,7 @@ public:
&(test_data[x].data),
op_size,
DEVICE_SCOM_ADDRESS(test_data[x].addr) );
-
+
if(!test_data[x].isFail && l_err )
{
TRACFCOMP(g_trac_scom, "ScomTest::test_IndirectScomForm1_proc> [%d] Write: Error from device : addr=0x%X, RC=%X", x, test_data[x].addr, l_err->reasonCode() );
@@ -713,8 +713,8 @@ public:
{
TRACFCOMP(g_trac_scom, "ScomTest::test_IndirectScomreadWriteForm1_proc> [%d] Read: Data miss-match : addr=0x%X, read_form1data=0x%llx, write_data=0x%llx", x, read_addresses[x].addr, read_form1data[x], test_data[x].data);
TS_FAIL( "ScomTest::test_IndirectScomreadWriteForm1_proc> ERROR : Data miss-match between read and expected data" );
- fails++;
- }
+ fails++;
+ }
}
// allocate space for read data
@@ -798,6 +798,7 @@ public:
myOCC1,
mySBE0,
mySBE1,
+ myCAPP0,
NUM_TARGETS
};
@@ -1021,6 +1022,8 @@ public:
// remove SBE1 target
epath.removeLast();
+ epath.addLast(TARGETING::TYPE_CAPP,0);
+ scom_targets[myCAPP0] = TARGETING::targetService().toTarget(epath);
struct {
TARGETING::Target* target;
uint64_t initAddr;
@@ -1094,6 +1097,7 @@ public:
{ scom_targets[myNV1], 0x050110D4, 0x050110F4,false},
{ scom_targets[myNV0], 0x12012826, 0x12012826, true},
{ scom_targets[myNV1], 0x24030008, 0x24030008, true},
+ { scom_targets[myCAPP0],0x2010803, 0x2010803, false},
};
int numOfAddr = sizeof test_data / sizeof(test_data[0]);
OpenPOWER on IntegriCloud