Skip to content

Commit

Permalink
minerva-ag: Support log trigger cause up to 7 types (#2160)
Browse files Browse the repository at this point in the history
Summary:
- Modify log trigger cause to support up to 7 types

Pull Request resolved: #2160

Test Plan: - Build code: PASS

Reviewed By: waffle2k

Differential Revision: D67889584

fbshipit-source-id: d83741c286f80f492c9b7cc4e029fc14e3b06beb
  • Loading branch information
Victor-Jhong authored and facebook-github-bot committed Jan 16, 2025
1 parent d9312d8 commit 6b4ad19
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 56 deletions.
3 changes: 2 additions & 1 deletion meta-facebook/minerva-ag/src/platform/plat_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ bool vr_error_callback(aegis_cpld_info *cpld_info, uint8_t *current_cpld_value)
}

// Dynamically generate the error code
uint16_t error_code = 0x8000 | (bit << 8) | cpld_info->cpld_offset;
uint16_t error_code = (CPLD_UNEXPECTED_VAL_TRIGGER_CAUSE << 13) | (bit << 8) |
cpld_info->cpld_offset;

LOG_ERR("Generated error code: 0x%04X (bit %d, CPLD offset 0x%02X)", error_code,
bit, cpld_info->cpld_offset);
Expand Down
61 changes: 6 additions & 55 deletions meta-facebook/minerva-ag/src/platform/plat_log.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@

#define AEGIS_FRU_LOG_SIZE sizeof(plat_err_log_mapping)

#define LOG_ASSERT 1
#define LOG_DEASSERT 0

uint16_t error_log_count(void);
void init_load_eeprom_log(void);

Expand All @@ -37,61 +40,9 @@ typedef struct __attribute__((packed)) _plat_err_log_mapping {
uint8_t cpld_dump[96];
} plat_err_log_mapping;

enum LOG_ERROR_CODE {
LEAK_CHASSIS_0 = 0x0A,
LEAK_CHASSIS_1 = 0x0B,
LEAK_CHASSIS_2 = 0x0C,
LEAK_CHASSIS_3 = 0x0D,
LEAK_RPU_INT = 0x0E,
LEAK_RPU_EXT = 0x0F,
LEAK_MAN_HOT = 0x10,
LEAK_MAN_COLD = 0x11,
LEAK_MAN_PAN_GPO = 0x6E,
LEAK_MAN_FLOOR_GPO = 0x6F,
LEAK_MAN_PAN_RELAY = 0x70,
LEAK_MAN_FLOOR_RELAY = 0x71,
LOW_WATER_LEVEL = 0x02,
PUMP_1_SPEED_ABNORMAL = 0x1F,
PUMP_2_SPEED_ABNORMAL = 0x20,
PUMP_3_SPEED_ABNORMAL = 0x21,
PUMP_1_SPEED_RECOVER = 0x29,
PUMP_2_SPEED_RECOVER = 0x2A,
PUMP_3_SPEED_RECOVER = 0x2B,
HIGH_PRESS_DETECTED = 0xA0,
FLOW_RATE_SENSOR_TRIGGERED = 0xA1,
EMERGENCY_BUTTON_TRIGGERED = 0xA2,
};

typedef struct _err_sensor_mapping {
uint16_t err_code;
uint8_t err_num;
} err_sensor_mapping;

#define LOG_ASSERT 1
#define LOG_DEASSERT 0

enum err_number {
// VR fault error number mapping to sensor number

// other error number start form here
DC_ON_STATUS_FAULT = 0xA0,
DC_OFF_STATUS_FAULT,
ASIC_FAULT,
enum LOG_ERROR_TRIGGER_CAUSE {
CPLD_UNEXPECTED_VAL_TRIGGER_CAUSE = 0b100,
MAX_TRIGGER_CAUSE = 0b1000, //trigger cause maxium 3 bit
};

enum err_type {
VR_FAULT_ASSERT,
VR_FAULT_DEASSERT,
DC_ON_STATUS_FAULT_ASSERT,
DC_ON_STATUS_FAULT_DEASSERT,
DC_OFF_STATUS_FAULT_ASSERT,
DC_OFF_STATUS_FAULT_DEASSERT,
ASIC_FAULT_ASSERT,
ASIC_FAULT_DEASSERT,
ERROR_TYPE_MAX,
};

extern const err_sensor_mapping minerva_ag_sensor_err_codes[];
extern const err_sensor_mapping minerva_ag_sensor_normal_codes[];

#endif

0 comments on commit 6b4ad19

Please sign in to comment.