diff options
Diffstat (limited to 'board/zinger')
-rw-r--r-- | board/zinger/board.c | 2 | ||||
-rw-r--r-- | board/zinger/usb_pd_policy.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/board/zinger/board.c b/board/zinger/board.c index cf703296a7..7130f68572 100644 --- a/board/zinger/board.c +++ b/board/zinger/board.c @@ -6,6 +6,7 @@ #include "common.h" #include "debug.h" +#include "ec_commands.h" #include "registers.h" #include "rsa.h" #include "sha256.h" @@ -65,6 +66,7 @@ static int check_rw_valid(void *rw_hash) good = rsa_verify(&pkey, (void *)rw_sig, rw_hash, rsa_workbuf); if (!good) { debug_printf("RSA FAILED\n"); + pd_log_event(PD_EVENT_ACC_RW_FAIL, 0, 0, NULL); return 0; } diff --git a/board/zinger/usb_pd_policy.c b/board/zinger/usb_pd_policy.c index a228712290..70258e73a5 100644 --- a/board/zinger/usb_pd_policy.c +++ b/board/zinger/usb_pd_policy.c @@ -7,6 +7,7 @@ #include "common.h" #include "console.h" #include "debug.h" +#include "ec_commands.h" #include "hooks.h" #include "registers.h" #include "system.h" @@ -340,6 +341,7 @@ int pd_board_checks(void) if (fault == FAULT_FAST_OCP) { debug_printf("Fast OCP\n"); + pd_log_event(PD_EVENT_PS_FAULT, 0, PS_FAULT_FAST_OCP, NULL); fault = FAULT_OCP; /* reset over-current after 1 second */ fault_deadline.val = get_time().val + OCP_TIMEOUT; @@ -357,6 +359,7 @@ int pd_board_checks(void) debug_printf("OCP %d mA\n", vbus_amp * VDDA_MV / CURR_GAIN * 1000 / R_SENSE / ADC_SCALE); + pd_log_event(PD_EVENT_PS_FAULT, 0, PS_FAULT_OCP, NULL); fault = FAULT_OCP; /* reset over-current after 1 second */ fault_deadline.val = get_time().val + OCP_TIMEOUT; @@ -383,9 +386,11 @@ int pd_board_checks(void) if ((output_is_enabled() && (vbus_volt > voltages[ovp_idx].ovp)) || (fault && (vbus_volt > voltages[ovp_idx].ovp_rec))) { - if (!fault) + if (!fault) { debug_printf("OVP %d mV\n", ADC_TO_VOLT_MV(vbus_volt)); + pd_log_event(PD_EVENT_PS_FAULT, 0, PS_FAULT_OVP, NULL); + } fault = FAULT_OVP; /* no timeout */ fault_deadline.val = get_time().val; @@ -404,6 +409,7 @@ int pd_board_checks(void) adc_enable_watchdog(ADC_CH_A_SENSE, MAX_CURRENT_FAST, 0); debug_printf("Disch FAIL %d mV\n", ADC_TO_VOLT_MV(vbus_volt)); + pd_log_event(PD_EVENT_PS_FAULT, 0, PS_FAULT_DISCH, NULL); fault = FAULT_DISCHARGE; /* reset it after 1 second */ fault_deadline.val = get_time().val + OCP_TIMEOUT; |