summaryrefslogtreecommitdiffstats
path: root/src/usr/devtree/devtree.C
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2015-01-12 10:26:06 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-11 12:27:46 -0600
commit52561adeaa1c8d846e363d8386ca99a1ad89196b (patch)
treed4df89c98939044536f0262bd08ae8fa4c0dbb0d /src/usr/devtree/devtree.C
parent35019a5b9b1916840c5551acd758bcded0596dc9 (diff)
downloadtalos-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.C17
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];
}
OpenPOWER on IntegriCloud