diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2015-01-12 10:26:06 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-11 12:27:46 -0600 |
commit | 52561adeaa1c8d846e363d8386ca99a1ad89196b (patch) | |
tree | d4df89c98939044536f0262bd08ae8fa4c0dbb0d /src/usr/devtree/devtree.C | |
parent | 35019a5b9b1916840c5551acd758bcded0596dc9 (diff) | |
download | talos-hostboot-52561adeaa1c8d846e363d8386ca99a1ad89196b.tar.gz talos-hostboot-52561adeaa1c8d846e363d8386ca99a1ad89196b.zip |
Report I2C devices in devtree
Report all I2C masters, busses and end devices in the devtree.
Current support includes the following devices:
-Processor module vpd (primary and backup)
-Processor SBE SEEPROM (x2)
-Memory buffer VPD
-DIMM SPD
Change-Id: Ic0e08c208331ce9701de27111cc2e9f54a81fcf7
RTC: 117996
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15203
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/devtree/devtree.C')
-rw-r--r-- | src/usr/devtree/devtree.C | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/usr/devtree/devtree.C b/src/usr/devtree/devtree.C index c514f7970..6bdeff33a 100644 --- a/src/usr/devtree/devtree.C +++ b/src/usr/devtree/devtree.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -31,6 +31,11 @@ extern trace_desc_t *g_trac_devtree; +#define DEBUGOUT(msg...) +#define DEBUGOUTB(data,len,msg...) +//#define DEBUGOUT(msg...) TRACFCOMP(g_trac_devtree,msg) +//#define DEBUGOUTB(data,len,msg...) DEBUGOUT(msg);TRACFBIN(g_trac_devtree,"",data,len); + namespace DEVTREE { @@ -223,6 +228,7 @@ dtOffset_t devTree::findNode(const char* nodePath) dtOffset_t devTree::addNode(dtOffset_t parentNodeOffset, const char* nodeName) { + DEBUGOUT("DT> addNode:%s",nodeName); uint32_t* curWord = getStructSectionAtOffset(parentNodeOffset); int skipWords = getNodeTagAndNameWords(parentNodeOffset); @@ -288,12 +294,14 @@ void devTree::addProperty(dtOffset_t parentNodeOffset, const char* propertyName) *curWord++ = DT_PROP; *curWord++ = 0; *curWord++ = addString(propertyName); + DEBUGOUT("DT> addProperty:%s",propertyName); } void devTree::addPropertyString(dtOffset_t parentNodeOffset, const char* propertyName, const char* propertyData) { + DEBUGOUT("DT> addPropertyString:%s=%s",propertyName,propertyData); uint32_t* curWord = getStructSectionAtOffset(parentNodeOffset); int skipWords = getNodeTagAndNameWords(parentNodeOffset); @@ -329,6 +337,7 @@ void devTree::addPropertyBytes(dtOffset_t parentNodeOffset, const uint8_t* propertyData, uint32_t numBytes) { + DEBUGOUTB(propertyData,numBytes,"DT> addPropertyBytes:%s=",propertyName); uint32_t* curWord = getStructSectionAtOffset(parentNodeOffset); int skipWords = getNodeTagAndNameWords(parentNodeOffset); @@ -385,6 +394,7 @@ void devTree::addPropertyStrings(dtOffset_t parentNodeOffset, *curWord++ = DT_PROP; *curWord++ = newPropertyDataLength ; *curWord++ = addString(propertyName); + DEBUGOUT("DT> addPropertyStrings:%s",propertyName); for(int i = 0; i < newPropertyDataWords; ++i) { @@ -394,6 +404,7 @@ void devTree::addPropertyStrings(dtOffset_t parentNodeOffset, char* target = (char*)curWord; for(int stringIndex = 0; stringIndex < numStrings; stringIndex++) { + DEBUGOUT("DT> %s",propertyData[stringIndex]); size_t curStringLen = strlen(propertyData[stringIndex]); memcpy(target, propertyData[stringIndex], curStringLen); target += curStringLen + 1; @@ -432,9 +443,11 @@ void devTree::addPropertyCells32(dtOffset_t parentNodeOffset, *curWord++ = DT_PROP; *curWord++ = newPropertyDataLength; *curWord++ = addString(propertyName); + DEBUGOUT("DT> addPropertyCells32:%s",propertyName); for(uint32_t i = 0; i < numCells; ++i) { + DEBUGOUT("DT> %.8X",cells[i]); *curWord++ = cells[i]; } } @@ -455,9 +468,11 @@ void devTree::addPropertyCells64(dtOffset_t parentNodeOffset, *curWord++ = DT_PROP; *curWord++ = newPropertyDataLength; *curWord++ = addString(propertyName); + DEBUGOUT("DT> addPropertyCells32:%s",propertyName); for(uint32_t i = 0; i < numCells; ++i) { + DEBUGOUT("DT> %.16X",cells[i]); *curWord++ = cells[i] >> 32; *curWord++ = cells[i]; } |