diff options
author | Doug Gilbert <dgilbert@us.ibm.com> | 2017-11-10 06:01:29 -0600 |
---|---|---|
committer | Martha Broyles <mbroyles@us.ibm.com> | 2017-12-18 11:42:27 -0500 |
commit | 0bf193d8d4f98934d4f539b1950e8b46c03a2716 (patch) | |
tree | b429746ff2533b2fc95178cfc7342457c0b46ed0 /src/occ_405/dcom | |
parent | fce2d94a9bc94e9468bce173b11fd0b96ef36c1f (diff) | |
download | talos-occ-0bf193d8d4f98934d4f539b1950e8b46c03a2716.tar.gz talos-occ-0bf193d8d4f98934d4f539b1950e8b46c03a2716.zip |
APSS Reset Support
Change-Id: I23dd10a7bc78841ecd4382e8ac8667afbb7c2ddd
RTC: 163601
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49871
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/dcom')
-rwxr-xr-x | src/occ_405/dcom/dcom.h | 4 | ||||
-rw-r--r-- | src/occ_405/dcom/dcomMasterTx.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/occ_405/dcom/dcom.h b/src/occ_405/dcom/dcom.h index 109b4ef..3bbfcda 100755 --- a/src/occ_405/dcom/dcom.h +++ b/src/occ_405/dcom/dcom.h @@ -273,8 +273,10 @@ typedef struct uint16_t adc[MAX_APSS_ADC_CHANNELS]; // 32 bytes // Time of Day Clock from the last APSS reading uint64_t tod; // 8 bytes + // Apss reset in progress + uint8_t apss_recovery_in_progress; // 1 byte // Reserved - uint8_t _reserved_1[51]; // 51 bytes + uint8_t _reserved_1[50]; // 50 bytes // Counter in case we want to determine sequence errors uint8_t magic_counter; // 1 byte // Magic Number for denoting the end of the packet diff --git a/src/occ_405/dcom/dcomMasterTx.c b/src/occ_405/dcom/dcomMasterTx.c index a65dc31..7ba80e3 100644 --- a/src/occ_405/dcom/dcomMasterTx.c +++ b/src/occ_405/dcom/dcomMasterTx.c @@ -183,6 +183,7 @@ uint32_t dcom_build_slv_inbox(void) G_dcom_slv_inbox_doorbell_tx.gpio[0] = G_apss_pwr_meas.gpio[0]; G_dcom_slv_inbox_doorbell_tx.gpio[1] = G_apss_pwr_meas.gpio[1]; G_dcom_slv_inbox_doorbell_tx.tod = G_apss_pwr_meas.tod; + G_dcom_slv_inbox_doorbell_tx.apss_recovery_in_progress = G_apss_recovery_requested; G_dcom_slv_inbox_doorbell_tx.magic_counter++; G_dcom_slv_inbox_doorbell_tx.magic2 = PBAX_MAGIC_NUMBER_32B; @@ -245,7 +246,9 @@ void task_dcom_tx_slv_inbox( task_t *i_self) { // If we are in standby or no APSS present, we need to fake out // the APSS data since we aren't talking to APSS. - if( (OCC_STATE_STANDBY == CURRENT_STATE()) || (G_pwr_reading_type != PWR_READING_TYPE_APSS) ) + if( (OCC_STATE_STANDBY == CURRENT_STATE()) || + (G_pwr_reading_type != PWR_READING_TYPE_APSS) || + G_apss_recovery_requested ) { G_ApssPwrMeasCompleted = TRUE; } |