summaryrefslogtreecommitdiffstats
path: root/src/include/usr/hwas
diff options
context:
space:
mode:
authorNorman James <njames@us.ibm.com>2014-09-23 14:47:34 -0500
committerAndrew J. Geissler <andrewg@us.ibm.com>2014-12-18 09:13:52 -0600
commit492738975921b5eeab19573cc47a5536e867cb02 (patch)
tree5dbaa546c5f6b23231c75c377d99e02814ac01bb /src/include/usr/hwas
parent9e91fa4f9e2ce76c458f8839e2f573c3cbc90797 (diff)
downloadtalos-hostboot-492738975921b5eeab19573cc47a5536e867cb02.tar.gz
talos-hostboot-492738975921b5eeab19573cc47a5536e867cb02.zip
Added callout interface for parts such as PNOR and SBE
Parts supported for callout are PNOR, SBE, VRM, GPIO, etc Change-Id: I6734d58e8e44a7bfd71e87cc4f910bce9473f86d RTC: 109945 CMVC-Coreq: 945677 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13547 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwas')
-rw-r--r--src/include/usr/hwas/common/hwasCallout.H47
1 files changed, 46 insertions, 1 deletions
diff --git a/src/include/usr/hwas/common/hwasCallout.H b/src/include/usr/hwas/common/hwasCallout.H
index 2150a7ba2..36a316760 100644
--- a/src/include/usr/hwas/common/hwasCallout.H
+++ b/src/include/usr/hwas/common/hwasCallout.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -117,11 +119,23 @@ enum clockTypeEnum
OSCPCICLK_TYPE = 4,
};
+enum partTypeEnum
+{
+ FLASH_CONTROLLER_PART_TYPE = 1,
+ PNOR_PART_TYPE = 2,
+ SBE_SEEPROM_PART_TYPE = 3,
+ BOARD_VPD_PART_TYPE = 4,
+ LPC_SLAVE_PART_TYPE = 5,
+ CENTAUR_GPIO_EXPANDER_PART_TYPE = 6,
+ VOLTAGE_REGULATOR_PART_TYPE = 7,
+};
+
//
const uint8_t HW_CALLOUT = 0x01;
const uint8_t PROCEDURE_CALLOUT = 0x02;
const uint8_t BUS_CALLOUT = 0x03;
const uint8_t CLOCK_CALLOUT = 0x04;
+const uint8_t PART_CALLOUT = 0x05;
const uint8_t TARGET_IS_SENTINEL = 0xF0;
@@ -150,6 +164,12 @@ typedef struct callout_ud
GARD_ErrorType clkGardErrorType; // uint32_t
// one Target will follow
};
+ struct { // type == PART_CALLOUT
+ partTypeEnum partType; // uint32_t
+ DeconfigEnum partDeconfigState; // uint32_t
+ GARD_ErrorType partGardErrorType; // uint32_t
+ // one Target will follow
+ };
};
} callout_ud_t;
@@ -251,8 +271,33 @@ errlHndl_t platHandleClockCallout(
DeconfigEnum i_deconfigState = DECONFIG,
GARD_ErrorType i_gardErrorType = GARD_Fatal);
+/**
+ * @brief platform specific code to handle a part callout that has been
+ * found in an errlog
+ *
+ * @param[in] i_pTarget associated target
+ * @param[in] i_partType Enum indicating which type of part
+ * @param[in] i_priority Enum indicating the priority of the callout
+ * @param[in] io_errl reference to errlHnld for this errlog
+ * @param[in] i_deconfigState Enum indicating whether to deconfig or not
+ * @param[in] i_gardErrType Enum indicating the type of failure
+ *
+ * @return errlHndl_t valid errlHndl_t handle if there was an error,
+ * NULL if no errors;
+ */
+errlHndl_t platHandlePartCallout(
+ TARGETING::Target *i_pTarget,
+ partTypeEnum i_partType,
+ callOutPriority i_priority,
+ errlHndl_t &io_errl,
+ DeconfigEnum i_deconfigState = DECONFIG,
+ GARD_ErrorType i_gardErrorType = GARD_Fatal);
+
+
#endif // not PARSER
+
+
}; // end namespace
#endif
OpenPOWER on IntegriCloud