summaryrefslogtreecommitdiffstats
path: root/src/include/usr/devicefw/driverif.H
Commit message (Collapse)AuthorAgeFilesLines
* Use i2c word write for NVDIMM updateMatt Derksen2019-06-121-0/+1
| | | | | | | | | | | | | | Trying to reduce the update time and this reduced teh time to about 12.3 minutes. Change-Id: I97cd29a8bcda58902089480f2cc0849381e7d2cf CQ:SW466226 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78422 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>
* HB Improvements: Fix compiler warnings on modern compilersLuis Fernandez2019-04-051-6/+16
| | | | | | | | | | | | | | | | Resolve warnings when compiling with gcc 4.8. Compiled with GCC 7.3, no more compile errors/warnings; build ends with caught exception from linker. This commit compiles with GCC 8.2, no more error/warnings; except for a linking warning. Change-Id: Ib5d7c2b5bd350edc76ee2c7de96896154cd44420 RTC: 202716 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72271 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* UCD Flash Update: Support I2C SMBUS operations for UCD flash updateNick Bofferding2019-03-081-1/+91
| | | | | | | | | | | | | | | | | - Adds I2C SMBUS operations for UCD flash update - Creates UCD component ID + trace name - Creates stub for UCD flash update entry point Change-Id: Id75cdd137b5a4924998c04bdbdce9218610a4906 RTC: 201992 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72229 Reviewed-by: Ilya Smirnov <ismirno@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: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Driver changes to support i2c muxRoland Veloz2018-12-061-19/+47
| | | | | | | | | | | | | | | | | | | | | | | | | - Updated data structures gpioAddr_t, eeprom_addr_t, misc_args_t, nvdimm_addr_t and tpm_info_t with I2C MUX data members. Also added constructors to these structures to default there data members with the correct default info. - Updated macros DEVICE_I2C_PARMS, DEVICE_I2C_ADDRESS and DEVICE_I2C_ADDRESS_OFFSET to take the I2C MUX bus selector parameter and the I2C MUX entity path. - Added method i2cAccessMux to file i2c.H/.C that will setup the call for the I2C MUX. Method i2cCommonOP calls i2cAccessMux which then calls i2cCommonOp with appropriate parameters for the I2C MUX: i2cCommonOP -> i2cAccessMux -> i2cCommonOP. - Updated i2ctest.H with new I2C MUX params to get it to pass. RTC:191352 Change-Id: I6a70860eb2286bbd23d6157d72351b8adfa21aac Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66651 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Route scom operations on OCMB chips to exp_i2c_scom interfaceChristian Geddes2018-11-151-2/+9
| | | | | | | | | | | | | | | | | | | | | | Before we get OMI targets trained we must use i2c to access scom registers on the OCMB chip. This commit does all of the plumbing so when HWP calls getScom() on a OCMB target, the hostboot platform recognizes this as a special scom and routes it to a new i2scom DD. This device driver will truncate the scom address to 32 bits and run the exp_i2c_putscom/exp_i2c_getscom interfaces to perform the operation. Eventually we need to also support MMIO scoms to the OCMB chip, the MMIO scoms will be used after the OMI training is complete. Change-Id: I0018cc8d25f74d1253b72c3112d3e344a4248416 RTC: 196806 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67976 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Tweaks to multicast scom workaroundDan Crowell2018-01-091-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Added a mode to avoid a pile of FFDC collection for the case where we expect errors could happen. Also added a couple new flags to control which chiplets get accessed as part of the workaround, one to avoid access to slave cores before they are running and the other to avoid access to the memory chiplets before they have clocks enabled. Without these changes, the code is still functionally correct but the traces get filled with pointless non-errors which makes real problems harder to find and also increases boot time. Change-Id: I834781261d16748cbbfd8511d9649ec19de53d81 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50503 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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* fix build error: return-statement with a value, in function returning 'void'Stewart Smith2017-04-101-2/+2
| | | | | | | | | | | | Change-Id: I7a4ca88c4a57f047b243a85d38de2c123328caed Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36900 Tested-by: Jenkins Server <pfd-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> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Create SBE FIFO device driverwhs2016-04-211-0/+7
| | | | | | | | | | | | | | Create SBE FIFO device driver and client code for get and put SCOM. Change-Id: I5b478f4a9a05340a61f8102c21e618f24e85c7ac RTC: 134179 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22174 Tested-by: Jenkins Server Reviewed-by: Matt Derksen <v2cibmd@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* DDR4 - Allow SPD writesaalugore2016-04-211-1/+26
| | | | | | | | | | | | | | | | | | | -DDR4 has 512-byte EEPROM with 2 256-byte pages. This commit contains the necessary page switching logic to support this. Change-Id: Iaa8e3e344def98b71d6a9e9387c5e0d9137a0397 RTC:137707 ForwardPort: yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/797 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins OP Build CI Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/871
* Initial Setup of FSI I2C Access MethodMike Baiocchi2014-09-081-11/+60
| | | | | | | | | | | | Add attributes and device driver hooks to add ability to switch between Host or FSI I2C access methods on a per target basis. Change-Id: I145f62583ddfe2d72feec1da3a76205b5191fb83 RTC: 109926 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/12998 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-11/+11
| | | | | | | Change-Id: I5664587b4f889099290ef50d50fa9ce5e580e1eb Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11167 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* New I2C Interface that adds device offset parameterMike Baiocchi2013-08-081-1/+19
| | | | | | | | | | | | | | Adding an I2C Device Driver interface that has an additional offset paramter which allows for a single operation to set both the device's internal offset and then do a read or write to the device. RTC: 73815 Change-Id: Ib77682f3b7e2088d77ce28b885c544e5cb785f6a Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5524 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Updates to I2C and EEPROM Device Drivers to work for P8Mike Baiocchi2013-07-021-10/+0
| | | | | | | | | | | | | | | There were several changes required for successful operation of the I2C and EEPROM Device Drivers based on HW Testing. There was also a need to upddate the attribute files and various testcases for processor support. Change-Id: Idd9351ffb01a992c835f99d06ef1246709eceb8b RTC: 64765 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4678 Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* update user-detail errog log parsersBrian Horton2013-03-131-1/+7
| | | | | | | | | | | | | | update errolog parsers to format the data for the following: . errludtarget . errludattribute . errludlogregister . errludcallout Change-Id: I8fddb3eefd76413e70f4e894ef19649b74682859 RTC: 41707 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3350 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* IBSCOM Good Path base supportAdam Muhle2012-12-041-23/+30
| | | | | | | | | | | | This drop contains only the base IBSCOM good path support Future Tasks will cover error path, improved test cases, enabling IBSCOM, etc. Change-Id: I8405de9c6c46b7c035b664713e5820268863210d RTC: 50369 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2337 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Errlog User Details : Hardware RegisterBrian Horton2012-06-261-22/+63
| | | | | | | | | | | | | | | | Add support for new User Details error log class that will log a hardware register. Developer can read the data and then call the errlog function to have it dumped, or can just call the errlog function to do the deviceRead go get the data. Also, fix bugs in a couple of device read functions that were too strict in their size check - input buffer size just needs to be >= size required, not ==. Change-Id: I05ba42ecd13b3fc963c56bb706d855c9c89412a3 RTC: 38497 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Support targeting code commonalityNick Bofferding2012-04-241-1/+1
| | | | | | | | | | | | | | | - Moved common targeting code to own subtrees - Updated many components with header file changes - Implemented abstract pointer class - Implemented Hostboot specific support for targeting commonality - Changed attribute VMM base address to 4 GB (From 3 GB) - Removed tabs, fixed > 80 character lines Change-Id: Ie5a6956670bfa4f262f7691b4f0ce5a20ed289fe RTC: 35569 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/909 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Prevent double registration in device frameworkDan Crowell2012-03-301-1/+2
| | | | | | | | | | | | The device framework code will log an error if more than one function is registered for the same operation/access/target combination. Change-Id: Id5136c389250ed26d7b62ff3b71116bba54ceb89 RTC: 38760 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/805 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* I2C Bad Machine Path and Cxx Testcases as well as the EEPROM device driver.Terry J. Opie2011-12-011-6/+13
| | | | | | | Change-Id: Ia89d3aecb3192a2f99ef9fbb5abe0ce1d528a481 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/506 Tested-by: Jenkins Server Reviewed-by: Terry J. Opie <opiet@us.ibm.com>
* Base FSISCOM Support and test Cases. (Story 3880)Adam Muhle2011-10-251-0/+6
| | | | | | | Change-Id: Ia65187cd475da725250a17cec59b1aa6ff805f84 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/453 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* I2C Device Driver Good Machine PathTerry J. Opie2011-10-211-3/+10
| | | | | | | | Change-Id: I88bf5ce464cdeceb3e151bde72fb51295ede07c0 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/428 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Terry J. Opie <opiet@us.ibm.com>
* Pull FSI data from real attributes (Task 3909).Dan Crowell2011-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are a group of attributes defined for FSI now. -ATTR_FSI_MASTER_CHIP -ATTR_FSI_MASTER_TYPE -ATTR_FSI_MASTER_PORT -ATTR_FSI_SLAVE_CASCADE -ATTR_FSI_OPTION_FLAGS Also includes work for Story 3996. The attributes are now broken into 3 distinct pieces: - attribute_types.xml : defines hostboot attributes - target_types.xml : defines different types of targets - XXX.system.xml : system-specific information, equivalent to what we'll get from system workbook These are then used to generic system-specific binaries, currently for 3 platforms: - simics_SALERNO_targeting.bin - simics_VENICE_targeting.bin - vbu_targeting.bin Change-Id: I2bf920cc62cceb761ab44a07df433da44249d0e0 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/426 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Added putScomUnderMask/get/put/modifyCfamRegister interfacesThi Tran2011-10-101-7/+0
| | | | | | | | | | | Updated with review comments from set 1 Updated with review comments from set 3 Change-Id: Iaea4c37fe130cb04e99ebdea872ff4c690156f4d Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/424 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
* Initialize the FSI hardware - Story 3551Dan Crowell2011-10-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | This code will initialize the FSI hardware and allow access to remote slaves. Note - current code is hardcoded to using the MFSI-0 port on the master processor wrapped back into its own CFAM. Note2 - One testcase is disabled pending integration of required fixes to the simics models. Contains work for - Task 3830 : FSI Master Regs - Task 3831 : FSI Slave Regs Change-Id: I8dd5f0e03cf083e35cf8241db22ad6d76ba85fac Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/359 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Implementing FSI driverDan Crowell2011-09-061-2/+9
| | | | | | | | | | | | | | -Initial work for FSI Device Driver (Story 3334) -Read/Write interface (Story 3550) Code is capable of basic read and write operations provided that the Simics models are updated Note: contains early work for FSI Initialization that should be ignored for now Change-Id: I08e795422de127b62c2d1629d7a4e0f12b21e348 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/287 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add copyright headers to all source files.Patrick Williams2011-08-241-0/+22
| | | | | | | Change-Id: I205f2409e56032cfc0aaf01d7e26d357f0b86373 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/277 Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Tested-by: Jenkins Server
* Allow multiple driver registrations of the same function.Patrick Williams2011-08-161-31/+33
| | | | | | | | Change-Id: I5fd9c222df4168ad6ae4f64307dd5e260141fa32 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/259 Tested-by: Jenkins Server Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com>
* I2C Device Driver SkeletonTerry J. Opie2011-08-151-0/+7
| | | | | | | Change-Id: I0b092ea67e5bb8789378041c8c3a6a3f5cf3025e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/242 Reviewed-by: Terry J. Opie <opiet@us.ibm.com> Tested-by: Jenkins Server
* Migrate device framework to use targeting.Patrick Williams2011-06-211-20/+12
| | | | | | | Change-Id: I1ae855406e3061f10505eeccbcb2766a15581189 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/153 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com>
* Initial XSCOM deliveryThi Tran2011-06-171-0/+7
| | | | | | | | Change-Id: I80278bf2e03b4e6403d9a36b8782b225dba29fe3 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/144 Tested-by: Jenkins Server Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Errl support for device framework.Patrick Williams2011-06-021-16/+16
| | | | | | | Change-Id: I7849df2994312c6e91d9f86431c2d084c26b21cf Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/99 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com>
* Device Framework support.Patrick Williams2011-06-021-0/+250
Change-Id: I133f58df309c7fc3a7faa261699eba66a6bae4be Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/98 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
OpenPOWER on IntegriCloud