diff options
-rw-r--r-- | src/usr/hwas/common/hwas.C | 4 | ||||
-rwxr-xr-x | src/usr/i2c/i2c.C | 123 | ||||
-rw-r--r-- | src/usr/i2c/i2cTargetPres.C | 6 | ||||
-rw-r--r-- | src/usr/targeting/common/entitypath.C | 4 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 6 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_AXONE.system.xml | 728 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 48 |
7 files changed, 864 insertions, 55 deletions
diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index f48b80e94..45a88cf85 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -640,12 +640,14 @@ errlHndl_t discoverTargets() PredicateCTM predChip(CLASS_CHIP); PredicateCTM predDimm(CLASS_LOGICAL_CARD, TYPE_DIMM); PredicateCTM predMcs(CLASS_UNIT, TYPE_MCS); + PredicateCTM predPmic(CLASS_ASIC, TYPE_PMIC); // We can ignore chips of TYPE_I2C_MUX because they // were already detected above in discoverMuxTargetsAndEnable PredicateCTM predMux(CLASS_CHIP, TYPE_I2C_MUX); PredicatePostfixExpr checkExpr; checkExpr.push(&predChip).push(&predDimm).Or().push(&predEnc).Or(). - push(&predMcs).Or().push(&predMux).Not().And(); + push(&predMcs).Or().push(&predPmic).Or(). + push(&predMux).Not().And(); TargetHandleList pCheckPres; targetService().getAssociated( pCheckPres, pSys, diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C index ff8629010..63b579202 100755 --- a/src/usr/i2c/i2c.C +++ b/src/usr/i2c/i2c.C @@ -1134,7 +1134,8 @@ void i2cSetSwitches( TARGETING::Target * i_target, // i2cGetI2cMuxTarget // ------------------------------------------------------------------ errlHndl_t i2cGetI2cMuxTarget ( const TARGETING::EntityPath & i_i2cMuxPath, - TARGETING::Target * &o_target ) + TARGETING::Target * &o_target, + bool i_noError ) { errlHndl_t l_err(nullptr); @@ -1155,34 +1156,37 @@ errlHndl_t i2cGetI2cMuxTarget ( const TARGETING::EntityPath & i_i2cMuxPath, if ( nullptr == o_target ) { - TRACFCOMP( g_trac_i2c, - ERR_MRK "i2cGetI2cMuxTarget() - I2C MUX Entity Path (%s)" - " could not be converted to a target.", - l_muxPath ); + if (!i_noError) + { + TRACFCOMP( g_trac_i2c, + ERR_MRK "i2cGetI2cMuxTarget() - I2C MUX Entity Path (%s)" + " could not be converted to a target.", + l_muxPath ); - /*@ - * @errortype - * @reasoncode I2C_MUX_TARGET_NOT_FOUND - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid I2C_ACCESS_MUX - * @devdesc I2C mux path target is null - * @custdesc Unexpected boot firmware error - */ - l_err = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_UNRECOVERABLE, - I2C_ACCESS_MUX, - I2C_MUX_TARGET_NOT_FOUND, - 0, - 0, - ERRORLOG::ErrlEntry::ADD_SW_CALLOUT ); + /*@ + * @errortype + * @reasoncode I2C_MUX_TARGET_NOT_FOUND + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid I2C_ACCESS_MUX + * @devdesc I2C mux path target is null + * @custdesc Unexpected boot firmware error + */ + l_err = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_UNRECOVERABLE, + I2C_ACCESS_MUX, + I2C_MUX_TARGET_NOT_FOUND, + 0, + 0, + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT ); - // Collect the MUX entity path info - ERRORLOG::ErrlUserDetailsString(l_muxPath).addToLog(l_err); + // Collect the MUX entity path info + ERRORLOG::ErrlUserDetailsString(l_muxPath).addToLog(l_err); - l_err->collectTrace( I2C_COMP_NAME, 256); + l_err->collectTrace( I2C_COMP_NAME, 256); - break; + break; + } } // Is the target functional @@ -1192,31 +1196,34 @@ errlHndl_t i2cGetI2cMuxTarget ( const TARGETING::EntityPath & i_i2cMuxPath, !l_hwasState.present || !l_hwasState.functional ) { - TRACFCOMP( g_trac_i2c, - ERR_MRK "i2cGetI2cMuxTarget() - I2C MUX target (0x%X) " - "is non functional.", - TARGETING::get_huid(o_target) ); - /*@ - * @errortype - * @reasoncode I2C_MUX_TARGET_NON_FUNCTIONAL - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid I2C_ACCESS_MUX - * @userdata1 I2C MUX Target Huid - * @devdesc I2C mux path target is not functional - * @custdesc Unexpected boot firmware error - */ - l_err = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_UNRECOVERABLE, - I2C_ACCESS_MUX, - I2C_MUX_TARGET_NON_FUNCTIONAL, - TARGETING::get_huid(o_target), - 0, - ERRORLOG::ErrlEntry::ADD_SW_CALLOUT ); - - // Collect the MUX entity path info - ERRORLOG::ErrlUserDetailsString(l_muxPath).addToLog(l_err); - - l_err->collectTrace( I2C_COMP_NAME, 256); + if (!i_noError) + { + TRACFCOMP( g_trac_i2c, + ERR_MRK "i2cGetI2cMuxTarget() - I2C MUX target (0x%X) " + "is non functional.", + TARGETING::get_huid(o_target) ); + /*@ + * @errortype + * @reasoncode I2C_MUX_TARGET_NON_FUNCTIONAL + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid I2C_ACCESS_MUX + * @userdata1 I2C MUX Target Huid + * @devdesc I2C mux path target is not functional + * @custdesc Unexpected boot firmware error + */ + l_err = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_UNRECOVERABLE, + I2C_ACCESS_MUX, + I2C_MUX_TARGET_NON_FUNCTIONAL, + TARGETING::get_huid(o_target), + 0, + ERRORLOG::ErrlEntry::ADD_SW_CALLOUT ); + + // Collect the MUX entity path info + ERRORLOG::ErrlUserDetailsString(l_muxPath).addToLog(l_err); + + l_err->collectTrace( I2C_COMP_NAME, 256); + } // Don't return a non functional target o_target = nullptr; @@ -1264,7 +1271,7 @@ errlHndl_t i2cAccessMux( TARGETING::Target* i_masterTarget, TARGETING::TargetHandle_t l_i2cMuxTarget(nullptr); l_err = i2cGetI2cMuxTarget( i_i2cMuxPath, - l_i2cMuxTarget); + l_i2cMuxTarget, false); // If an issue getting the MUX target, then return error if (l_err) @@ -2278,6 +2285,22 @@ bool i2cPresence( TARGETING::Target * i_target, // Set the MUX selector (if there is one) for the MUX before continuing if (I2C_MUX::NOT_APPLICABLE != i_i2cMuxBusSelector) { + // Check that Mux exists first + TARGETING::TargetHandle_t l_i2cMuxTarget(nullptr); + + bool noError = true; // just return nullptr target if mux doesn't exist + err = i2cGetI2cMuxTarget( i_i2cMuxPath, + l_i2cMuxTarget, + noError ); + if (err || (l_i2cMuxTarget == nullptr)) + { + // exit early if mux does not exist + TRACFCOMP(g_trac_i2c, + ERR_MRK"i2cPresence() - XML appears to be wrong since " + "i2cMuxSelector 0x%02X != NOT_APPLICABLE for non-existent " + "I2C MUX target", i_i2cMuxBusSelector); + break; + } err = i2cAccessMux(i_target, i_i2cMuxBusSelector, i_i2cMuxPath ); if ( err ) diff --git a/src/usr/i2c/i2cTargetPres.C b/src/usr/i2c/i2cTargetPres.C index 5e7fb5d3b..c3809f099 100644 --- a/src/usr/i2c/i2cTargetPres.C +++ b/src/usr/i2c/i2cTargetPres.C @@ -295,4 +295,10 @@ DEVICE_REGISTER_ROUTE( DeviceFW::READ, TARGETING::TYPE_I2C_MUX, basicI2CPresencePerformOp ); +// Register the pmic vrm presence detect function with the device framework +DEVICE_REGISTER_ROUTE( DeviceFW::READ, + DeviceFW::PRESENT, + TARGETING::TYPE_PMIC, + basicI2CPresencePerformOp ); + } diff --git a/src/usr/targeting/common/entitypath.C b/src/usr/targeting/common/entitypath.C index ed81d1b4a..e7a13b81e 100644 --- a/src/usr/targeting/common/entitypath.C +++ b/src/usr/targeting/common/entitypath.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2018 */ +/* Contributors Listed Below - COPYRIGHT 2012,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -489,6 +489,8 @@ const char* EntityPath::pathElementTypeAsString( // return "CFAM"; // case TYPE_ENGINE: // return "Engine"; + case TYPE_PMIC: + return "PMIC"; default: return "Unknown path type"; } diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index d8df2230d..385644611 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -8146,9 +8146,13 @@ <value>77</value> </enumerator> <enumerator> - <name>LAST_IN_RANGE</name> + <name>PMIC</name> <value>78</value> </enumerator> + <enumerator> + <name>LAST_IN_RANGE</name> + <value>79</value> + </enumerator> <id>TYPE</id> </enumerationType> diff --git a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml index a5c60f943..157582ce6 100644 --- a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml @@ -43,6 +43,7 @@ * Each OMI unit connects to 1 OCMB chip * Each OCMB unit contains 1 MEM_PORT unit * Each MEM_PORT unit connects to 2 DIMMS (Only 1 dimm per mem_port in this XML) + * Each OCMB chip and its DIMMS are powered by 2 PMIC units * Each MC unit has 3 OMIC units (a total of 12 per chip) * Each OMIC unit contains 2 or 3 OMI Units (OMIC0/1/3/4 contain 3 and OMIC2/5 contain 2 for a total of 16 per chip) * OMI Units are special as they have two parents (OMIC + MCC (described above)) @@ -8546,7 +8547,7 @@ <!-- OCMB_CHIP Units --> <!-- ===================================================================== --> <targetInstance> - <id>sys0node0ocmb_chip0</id> + <id>sys0node0ocmb0</id> <type>chip-ocmb-explorer</type> <attribute> <id>AFFINITY_PATH</id> @@ -8612,7 +8613,7 @@ </targetInstance> <targetInstance> - <id>sys0node0ocmb_chip1</id> + <id>sys0node0ocmb1</id> <type>chip-ocmb-explorer</type> <attribute> <id>AFFINITY_PATH</id> @@ -9594,6 +9595,729 @@ </targetInstance> <!-- ===================================================================== --> +<!-- PMIC Units --> +<!-- ===================================================================== --> +<targetInstance> + <id>sys0node0pmic0</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360000</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-0/omi-0/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p00</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x08</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>0</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-0</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic1</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360001</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-0/omi-0/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p01</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x08</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>1</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-1</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic2</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360002</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-0/omi-1/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p02</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x09</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>2</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-2</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic3</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360003</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-0/omi-1/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p03</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x09</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>3</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-3</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic4</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360004</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-1/omi-0/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p04</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0A</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>4</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-4</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic5</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360005</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-1/omi-0/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p05</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0A</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>5</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-5</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic6</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360006</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-1/omi-1/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p06</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0B</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>6</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-6</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic7</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360007</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-0/mcc-1/omi-1/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p07</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0B</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>7</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-7</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic8</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360008</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-0/omi-0/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p08</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0C</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>8</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-8</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic9</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360009</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-0/omi-0/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p09</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0C</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>9</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-9</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic10</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000A</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-0/omi-1/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p10</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0D</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>10</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-0</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic11</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000B</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-0/omi-1/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p11</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0D</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>11</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-1</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic12</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000C</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-1/omi-0/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p12</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0E</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>12</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-0</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic13</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000D</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-1/omi-0/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p13</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0E</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>13</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-1</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic14</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000E</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-1/omi-1/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p14</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0F</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>14</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-0</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic15</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x0036000F</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-0/mi-1/mcc-1/omi-1/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p15</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>0</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0x0F</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>15</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-1</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic16</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360010</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-1/mi-0/mcc-0/omi-0/ocmb_chip-0/pmic-0</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p16</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>1</value></field> + <field><id>devAddr</id><value>0x90</value></field> + <field><id>i2cMuxBusSelector</id><value>0xFF</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>16</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-0</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>0</default> + </attribute> +</targetInstance> + +<targetInstance> + <id>sys0node0pmic17</id> + <type>pmic</type> + <attribute> + <id>HUID</id> + <default>0x00360011</default> + </attribute> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/mc-1/mi-0/mcc-0/omi-0/ocmb_chip-0/pmic-1</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>pmic:k0:n0:s0:p17</default> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + <default> + <field><id>i2cMasterPath</id><value>physical:sys-0/node-0/proc-0</value></field> + <field><id>engine</id><value>3</value></field> + <field><id>port</id><value>1</value></field> + <field><id>devAddr</id><value>0xC0</value></field> + <field><id>i2cMuxBusSelector</id><value>0xFF</value></field> + <field><id>i2cMuxPath</id><value>physical:sys-0</value></field> + </default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>17</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/pmic-1</default> + </attribute> + <attribute> + <id>REL_POS</id> + <default>1</default> + </attribute> +</targetInstance> + +<!-- ===================================================================== --> <!-- MEMPORT Units --> <!-- ===================================================================== --> <targetInstance> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 1c5f51f0b..421288d40 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -961,6 +961,14 @@ </attribute> </targetType> + <!-- This special PMIC target adapts the MRW to Hostboot's specific PMIC + target. All attributes should be declared against the parent + target. --> + <targetType> + <id>chip-vreg-generic</id> + <parent>pmic</parent> + </targetType> + <targetType> <id>enc-node-power9</id> <parent>base</parent> @@ -1353,6 +1361,46 @@ </targetType> <targetType> + <id>pmic</id> + <parent>asic</parent> + <attribute> + <default>1</default> + <id>DECONFIG_GARDABLE</id> + </attribute> + <attribute> + <id>FAPI_I2C_CONTROL_INFO</id> + </attribute> + <attribute> + <id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> + <default>0x00000031</default> + </attribute> + <attribute> + <default> + <field> + <id>childRollupAllowed</id> + <value>0</value> + </field> + <field> + <id>deconfigureParent</id> + <value>1</value> + </field> + <field> + <id>valid</id> + <value>1</value> + </field> + </default> + <id>PARENT_DECONFIG_RULES</id> + </attribute> + <attribute> + <id>REL_POS</id> + </attribute> + <attribute> + <id>TYPE</id> + <default>PMIC</default> + </attribute> + </targetType> + + <targetType> <id>power-supply</id> <parent>unit</parent> <attribute> |