summaryrefslogtreecommitdiffstats
path: root/src/usr/mmio/mmio.C
Commit message (Collapse)AuthorAgeFilesLines
* Axone 2-Proc Standalone Sim EnablementBill Hoffa2019-08-301-1/+1
| | | | | | | | | | | | | | | - XML Additions for all targets on 2nd proc Change-Id: Ib8a860e4679e08253076abbbade98f4ba172e81d RTC: 208448 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82685 Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com>
* Fix MMIO Addressing and Attributes on Non-Master ProcBill Hoffa2019-08-161-2/+13
| | | | | | | | | | | | | | | | | | | | - MMIOs to the MC/OMI space to a non-master proc were incorrectly using a base address pointing to proc0 - The OMI_INBAND_BAR_BASE_ADDR_OFFSET attribute MRW processing was incorrect for MC and OMI targets behind the 2nd proc Change-Id: Ife440541642463e11d4146157d568f8cd4440877 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82234 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Enable fapi2MmioAccessTest for axoneMatt Derksen2019-06-241-3/+9
| | | | | | | | | | | | | | | | | | Use IB_RSP_ADDR memory spot to run some valid mmio operations. Also make sure a user's invalid input does not switch the scom switch to i2c operations. Change-Id: I68da42b2fc817f7bf4b99bb9c53cdf862136c7aa RTC:201738 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79195 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add OMI BAR calculations to MRW scriptsChen Du2019-06-101-4/+4
| | | | | | | | | | | | | | | | | | | | Need to set the OMI attribute OMI_INBAND_BAR_BASE_ADDR_OFFSET The algorithm to determine this attribute is explained in src/usr/mmio/mmio.C Each OMI BAR is an offset from the base (0x0006030200000000) The offset for an even OMI is every 8 gigabytes The offset for an odd OMI is 2 gigabytes after the preceding even OMI Change-Id: I08973e0b2952a6ea32dbf4b95ad00cf5bbe92484 RTC: 210315 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77742 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* OCMB MMIO error handlingGlenn Miles2019-06-071-316/+841
| | | | | | | | | | | | | | | | | | | | | | | | | | Added the following -Error checking and FRU isolation on explorer side -Cleaned up MMIO write error handling to read an MMIO error register -Fixed and enabled MMIO test cases -Moved parameter checking and channel checkstop checking into seperate functions. -Only check for channel checkstop for the channel that an OCMB is connected to. -Switch to using I2C on first MMIO failure. Change-Id: I5e997c5177f8a68a2966f837acc9b578a4cc1897 RTC:201588 RTC:201901 RTC:202533 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77859 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Clean up traces and comments in MMIO driverChristian Geddes2019-04-251-4/+4
| | | | | | | | | | | | | | Change-Id: I10374020f777c05c8778b1081aaf079f80783f97 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76220 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Validate OMI INBAND BAR offset attributes against calculated valuesChristian Geddes2019-04-181-109/+105
| | | | | | | | | | | | | | | | | | | | | | | | | While setting up the virtual memory mapped IO to the OCMB chips we make some assumptions that the OCMB MMIO spaces will be contiguous. The p9a_omi_setup_bars HWP uses OMI_INBAND_BAR_BASE_ADDR_OFFSET to set the scom registers that determine the physical offset mapped to the IO. When setting up the Virtual addresses hostboot uses to represent the physical mmio address, we must validate that the attribute matches with what we calculated. While doing this we found that the virtual address attribute was being calculated incorrectly. It was not localizing the OCMB position relative to the MC which is required when calculating the offset into the MC bar. Change-Id: I0ebbcd38e19a238e2cc16791bb0595536788bb7f RTC: 201493 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75631 Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix getChildByAffinity call in mmio.C and add more tracesChristian Geddes2019-03-081-4/+4
| | | | | | | | | | | | | | | | | There was a bug in mmio.C where we are trying to find the ocmb targets associated with a proc. We are looking up UNITs which is wrong because OCMBs are CHIPs so this commit addresses that. Also this commit elevates some debug traces to real traces to help with bringup. Change-Id: I9c11ca4a30c24192955474148cf4e61cca16489c Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72964 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use singleton instance of TargetService in mmio.CChristian Geddes2019-02-051-1/+1
| | | | | | | | | | | | | | | | There is a bug in the function that looks up the targeting service. It is calling the constructor when it should just call the function that looks up the singleton object. Change-Id: I5ea91736e85c84927e3e0fe74352f61326e42940 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71209 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Inband MMIO access to OCMBRick Ward2018-12-131-9/+823
| | | | | | | | | | | | | | | | | | This is an untested version of the new MMIO device driver that will give access to the OCMB. It will be tested once the Axone model IPLs in Simics. Change-Id: I4bc1d2f7306f1b238d1d65c24462ac4121266b11 RTC: 189447 RTC: 189220 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66941 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
* Inband MMIO access to OCMB (skeleton)Rick Ward2018-11-091-0/+61
This is a skeleton version of the new MMIO device driver that will give access to the OCMB. It is being pushed to allow related development to progress. Change-Id: Iefec0677e63db6af29d81389c630584ba9dff16c RTC: 189447 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68489 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
OpenPOWER on IntegriCloud