#ifndef __QG_H__ #define __QG_H__ #define MAX_FIFO_LENGTH 16 enum qg { QG_SOC, QG_OCV_UV, QG_RBAT_MOHM, QG_PON_OCV_UV, QG_GOOD_OCV_UV, QG_ESR, QG_CHARGE_COUNTER, QG_FIFO_TIME_DELTA, QG_BATT_SOC, QG_CC_SOC, QG_RESERVED_3, QG_RESERVED_4, QG_RESERVED_5, QG_RESERVED_6, QG_RESERVED_7, QG_RESERVED_8, QG_RESERVED_9, QG_RESERVED_10, QG_MAX, }; #define QG_BATT_SOC QG_BATT_SOC #define QG_CC_SOC QG_CC_SOC struct fifo_data { unsigned int v; unsigned int i; unsigned int count; unsigned int interval; }; struct qg_param { unsigned int data; bool valid; }; struct qg_kernel_data { unsigned int seq_no; unsigned int fifo_time; unsigned int fifo_length; struct fifo_data fifo[MAX_FIFO_LENGTH]; struct qg_param param[QG_MAX]; }; struct qg_user_data { struct qg_param param[QG_MAX]; }; #endif