summaryrefslogtreecommitdiffstats
path: root/src/usr/xscom
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2015-11-10 07:33:39 -0600
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 13:56:27 -0600
commit1d7b38ba816f52b12e0c131ec5daf86b00886c63 (patch)
treef2ad0a1036582ac20abc1d6c931f78a135acd4ea /src/usr/xscom
parent90245203585d4212f507770094183aca1f73c4e6 (diff)
downloadtalos-hostboot-1d7b38ba816f52b12e0c131ec5daf86b00886c63.tar.gz
talos-hostboot-1d7b38ba816f52b12e0c131ec5daf86b00886c63.zip
Establish a working P9 Hostboot and Simics base
Includes changes for nimbus.por Making recent Simics usable by Hostboot Removing portions of code not yet ready Basic LPC read/write Change-Id: Ic40a9613934fab7bb6a28a8100685496246bb5ea RTC:132170 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21931 Tested-by: Jenkins Server Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com> Reviewed-by: Christian Geddes <crgeddes@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/xscom')
-rw-r--r--src/usr/xscom/piberror.C7
-rw-r--r--src/usr/xscom/xscom.C3
-rw-r--r--src/usr/xscom/xscom.H18
3 files changed, 17 insertions, 11 deletions
diff --git a/src/usr/xscom/piberror.C b/src/usr/xscom/piberror.C
index 5208604df..abcc4b24a 100644
--- a/src/usr/xscom/piberror.C
+++ b/src/usr/xscom/piberror.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -46,6 +48,9 @@ void addFruCallouts(TARGETING::Target* i_target,
uint64_t i_scomAddr,
errlHndl_t& io_errl)
{
+ // @todo RTC:137627 - Remove for p9 bringup
+ return;
+
switch (i_pibErrStatus)
{
case PIB::PIB_CHIPLET_OFFLINE: //b010
diff --git a/src/usr/xscom/xscom.C b/src/usr/xscom/xscom.C
index 3291ce476..a3d8e28dc 100644
--- a/src/usr/xscom/xscom.C
+++ b/src/usr/xscom/xscom.C
@@ -592,6 +592,9 @@ uint64_t* getCpuIdVirtualAddress()
void resetScomEngine(TARGETING::Target* i_target,
uint64_t* i_virtAddr)
{
+ // @todo-RTC:128077 XSCOM support for P9
+ return;
+
errlHndl_t l_err = NULL;
HMER l_hmer;
uint64_t io_buffer = 0;
diff --git a/src/usr/xscom/xscom.H b/src/usr/xscom/xscom.H
index df49b1ac0..0cd7e60a8 100644
--- a/src/usr/xscom/xscom.H
+++ b/src/usr/xscom/xscom.H
@@ -41,7 +41,7 @@
* @brief The (fixed) base address value for master proc
*/
// @todo-RTC:128077 XSCOM support for P9
-#define MASTER_PROC_XSCOM_BASE_ADDR 0x0006010000000000
+#define MASTER_PROC_XSCOM_BASE_ADDR 0x000603FC00000000
/**
* @brief Type definition for XSCom address and Chip ID
@@ -196,13 +196,12 @@ class XSComP8Address
uint64_t mMmioAddress; // mMmio address
struct
{
- uint64_t mReserved1:18; // Not currently used (0:17)
- uint64_t mBaseAddress:5; // Base address (18:22)
- uint64_t mNodeId:3; // Node where target resides (23:25)
- uint64_t mChipId:3; // Targeted chip ID (26:28)
- uint64_t mSComAddrHi:27; // PCB Address High (29:55)
- uint64_t mCacheLine:1; // Cached line (56)
- uint64_t mSComAddrLo:4; // PCB Address low (57:60)
+ uint64_t mReserved1:8; // Not currently used (0:7)
+ uint64_t mBaseAddrHi:7; // Base address [8:14] (8:14)
+ uint64_t mNodeId:4; // Node where target resides (15:18)
+ uint64_t mChipId:3; // Targeted chip ID (19:21)
+ uint64_t mBaseAddrLo:8; // Base address [22:29] (22:29)
+ uint64_t mSComAddr:31; // PIB Address (30:60)
uint64_t mAlign:3; // Align (61:63)
} mAddressParts;
};
@@ -221,8 +220,7 @@ XSComP8Address::XSComP8Address(const XSComAddress_t i_addr)
// Relative address of Node 0, chip 0
// The chip's nodeId and chip id will be taken into account
// when calculating its XSCOM base address
- mAddressParts.mSComAddrHi = i_addr >> 4; // Get 27-bits
- mAddressParts.mSComAddrLo = i_addr; // Get 4 bits
+ mAddressParts.mSComAddr = i_addr;
}
////////////////////////////////////////////////////////////////////////////
OpenPOWER on IntegriCloud