diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2015-11-10 07:33:39 -0600 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2015-12-11 13:56:27 -0600 |
commit | 1d7b38ba816f52b12e0c131ec5daf86b00886c63 (patch) | |
tree | f2ad0a1036582ac20abc1d6c931f78a135acd4ea /src/usr/xscom | |
parent | 90245203585d4212f507770094183aca1f73c4e6 (diff) | |
download | talos-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.C | 7 | ||||
-rw-r--r-- | src/usr/xscom/xscom.C | 3 | ||||
-rw-r--r-- | src/usr/xscom/xscom.H | 18 |
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; } //////////////////////////////////////////////////////////////////////////// |