OpenBIC
OpenSource Bridge-IC
sensor.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef SENSOR_H
18#define SENSOR_H
19
20#include <stdbool.h>
21#include <stdint.h>
22#include <kernel.h>
23
24#include "plat_def.h"
25#include "sdr.h"
26#include "pldm_monitor.h"
27#include "libutil.h"
28#include "sensor_shell.h"
29
30#define sensor_name_to_num(x) #x,
31
32#define SENSOR_POLL_STACK_SIZE 4096
33#define NONE 0
34
35#define GET_FROM_CACHE 0x00
36#define GET_FROM_SENSOR 0x01
37
38#define SENSOR_NULL 0xFF
39#define SENSOR_FAIL 0xFF
40#define SENSOR_NUM_MAX 0xFF
41#define SENSOR_NOT_SUPPORT 0xFF
42#define DIMM_NOT_PRESENT 0xFF
43
44#define DEBUG_SENSOR 0
45
46#define SAMPLE_COUNT_DEFAULT 1
47
48#define POLL_TIME_DEFAULT 1
49
59};
60
65};
66
79};
80
90};
91
102};
103
107};
108
110 ADS112C_MUX_1_CON = 0x80, //AINP = AIN0, AINN = AVSS
111 ADS112C_MUX_2_CON = 0x90, //AINP = AIN1, AINN = AVSS
112 ADS112C_MUX_3_CON = 0xA0, //AINP = AIN2, AINN = AVSS
113 ADS112C_MUX_4_CON = 0xA1, //AINP = AIN3, AINN = AVSS
114};
115
116// The sequence needs to same with table sensor_drive_tbl
202
206};
207
208typedef struct _sensor_val {
209 int16_t integer;
210 int16_t fraction;
212
213struct tca9548 {
214 uint8_t addr;
215 uint8_t chan;
216};
217
218static inline int calculate_accurate_MBR(uint8_t sensor_num, int val)
219{ // for better accuracy, enlarge SDR to two byte scale
220 if (SDR_M(sensor_num) == 0) {
221 return ((val << 8) * SDR_Rexp(sensor_num));
222 }
223 return ((val << 8) / SDR_M(sensor_num) * SDR_Rexp(sensor_num));
224}
225
226static inline int calculate_MBR(uint8_t sensor_num, int val)
227{
228 if (SDR_M(sensor_num) == 0) {
229 return (val * SDR_Rexp(sensor_num) + round_add(sensor_num, val));
230 }
231 return (val * SDR_Rexp(sensor_num) / SDR_M(sensor_num) + round_add(sensor_num, val));
232}
233
234static inline float convert_MBR_to_reading(uint8_t sensor_num, uint8_t val)
235{
236 if (SDR_M(sensor_num) == 0) {
237 return (val - round_add(sensor_num, val)) / SDR_Rexp(sensor_num);
238 }
239
240 return (val - round_add(sensor_num, val)) * SDR_M(sensor_num) / SDR_Rexp(sensor_num);
241}
242
243enum {
247 SENSOR_NOT_ACCESSIBLE, // Only use to check sensor access fail
261};
262
264
265typedef struct _sensor_cfg_ {
266 uint8_t num;
267 uint8_t type;
268 uint8_t port; // port, bus, channel, etc.
269 uint8_t target_addr;
270 uint16_t offset;
271 bool (*access_checker)(uint8_t);
272 int arg0;
273 int arg1;
275 int64_t poll_time; // sec
277 int cache;
279 bool (*pre_sensor_read_hook)(struct _sensor_cfg_ *, void *);
281 bool (*post_sensor_read_hook)(struct _sensor_cfg_ *, void *, int *);
284
285 /* if there is new parameter should be added, please add on above */
287 uint8_t retry;
288 uint8_t (*init)(uint8_t, int *);
289 uint8_t (*read)(struct _sensor_cfg_ *, int *);
292
295 uint8_t cfg_count;
296 bool (*access_checker)(uint8_t);
298 bool (*pre_monitor)(uint8_t, void *);
299 bool (*post_monitor)(uint8_t, void *);
304
305typedef struct _sensor_drive_api {
307 uint8_t (*init)(struct _sensor_cfg_ *);
309
310typedef struct _sensor_poll_time_cfg {
311 uint8_t sensor_num;
314
315typedef struct _vr_page_cfg {
316 uint8_t vr_page;
318
319/* INIT arg */
320typedef struct _isl28022_init_arg {
321 /* value to set configuration register */
322 union {
323 uint16_t value;
324 struct {
325 uint16_t MODE : 3;
326 uint16_t SADC : 4;
327 uint16_t BADC : 4;
328 uint16_t PG : 2;
329 uint16_t BRNG : 2;
330 uint16_t RST : 1;
333
336 /* The threshold of Volts */
340
343 union {
344 uint16_t value;
345 struct {
346 /* External Clock Divider bits*/
347 uint16_t ExtCLKDiv : 6;
348 /* External Clock Enable bit */
349 uint16_t ExtClkEn : 1;
350 /* Interrupt Enable bit*/
351 uint16_t INTREN : 1;
352 /* Force Interrupt bit */
353 uint16_t FORCEINTR : 1;
354 uint16_t resv : 7;
358
359 /* R_shunt valus, unit: milliohm */
360 uint32_t r_shunt;
361 /* used when read current/power */
363 /* Initialize function will set following arguments, no need to give value */
365
367
368typedef struct _adc_asd_deglitch_arg {
369 uint16_t upper_bound;
370 uint16_t lower_bound;
373
374typedef struct _adc_asd_init_arg {
378
379typedef struct _adm1278_init_arg {
380 /* value to set configuration register */
381 union {
382 uint16_t value;
383 struct {
384 uint16_t RSV1 : 1;
385 uint16_t VOUT_EN : 1;
386 uint16_t VIN_EN : 1;
387 uint16_t TEMP1_EN : 1;
388 uint16_t PMON_MODE : 1;
389 uint16_t RSV2 : 3;
390 uint16_t VI_AVG : 3;
391 uint16_t PWR_AVG : 3;
392 uint16_t SIMULTANEOUS : 1;
393 uint16_t TSFILT : 1;
396 /* Rsense valus, unit: milliohm */
397 float r_sense;
398
399 /* Initialize function will set following arguments, no need to give value */
401
403
404typedef struct _pex89000_init_arg {
405 uint8_t idx;
406 struct k_mutex brcm_pciesw;
407
408 /* Initialize function will set following arguments, no need to give value */
410
412
413typedef struct _pex90144_init_arg {
414 uint8_t idx;
415 struct k_mutex brcm_pciesw;
416
417 /* Initialize function will set following arguments, no need to give value */
419
421
422typedef struct _ltc4282_init_arg {
423 /* value to get/set ILIM ADJUST register */
424 union {
425 uint8_t value;
426 struct {
427 uint8_t _16_bit : 1;
428 uint8_t gpio_mode : 1;
429 uint8_t vsource_vdd : 1;
430 uint8_t foldback_mode : 2;
431 uint8_t ilim_adjust : 3;
434
435 /* Rsense valus, unit: milliohm */
437
438 /* Initialize function will set following arguments, no need to give value */
440
441 /* Initialized chip registers if it's needed
442 * bit 0 - ilim adjust register setting
443 * bit 1 to 7 are reserved
444 */
447
448typedef struct _ltc4286_init_arg {
449 /* value to get/set MFR CONFIG 1 register */
450 union {
451 uint16_t value;
452 struct {
453 uint16_t vpwr_select : 1;
454 uint16_t vrange_select : 1;
455 uint16_t reserved_1 : 8; // bit[9:2] are reserved.
456 uint16_t ilim : 4;
457 uint16_t reserved_2 : 2; // bit[15:14] are reserved.
460 /* Rsense valus, unit: milliohm */
462 /* Initailize function will set following arguments, no need to give value */
465
466typedef struct _mp5990_init_arg {
467 /* value to sets the gain for output current reporting */
469 /* value to sets the IMON based total over current fault limit */
471 /* value to sets the SCREF and OCWREF voltage level. */
472 uint16_t ocw_sc_ref;
473
474 /* Initialize function will set following arguments, no need to give value */
476
478
479typedef struct _tps25990_init_arg {
482
483typedef struct _rs31380r_init_arg {
484 /* value to sets the gain for output current reporting */
486 /* value to sets the IMON based total over current fault limit */
488 /* value to sets the SCREF and OCWREF voltage level. */
489 uint16_t ocw_sc_ref;
490
491 /* Initialize function will set following arguments, no need to give value */
493
495
496typedef struct _pmic_init_arg {
499 uint8_t smbus_addr;
501
502typedef struct _rtq6056_init_arg_ {
505 float r_shunt;
507
508typedef struct _vistara_init_arg_ {
511
512typedef struct _ina233_init_arg_ {
515 float r_shunt;
517 /* value to get/set MFR CONFIG register */
518 union {
519 uint16_t value;
520 struct {
521 uint16_t operating_mode : 3;
522 uint16_t shunt_volt_time : 3;
523 uint16_t bus_volt_time : 3;
524 uint16_t aver_mode : 3;
525 uint16_t rsvd : 4; // bit[15:12] are reserved.
526 };
529 union {
530 uint8_t value;
531 struct {
532 uint8_t apol : 1;
533 uint8_t alert_behavior : 1;
534 uint8_t ein_autoclear : 1;
535 uint8_t i2c_filt : 1;
536 uint8_t ein_accum : 2;
537 uint8_t rsvd : 1;
538 uint8_t ein_status : 1;
539 };
547
548typedef struct _max16550a_init_arg_ {
549 float r_load;
551
552typedef struct _ina230_init_arg {
553 /* value to set configuration register */
554 union {
555 uint16_t value;
556 struct {
557 uint16_t MODE : 3;
558 uint16_t VSH_CT : 3;
559 uint16_t VBUS_CT : 3;
560 uint16_t AVG : 3;
561 uint16_t reserved : 3;
562 uint16_t RST : 1;
563 };
565
566 /* Shunt resistor value. Unit: Ohm. */
567 double r_shunt;
568
569 /* Alert value.
570 * The unit is Volt or Watt, depending on the alert function.
571 */
573
574 /* value to set alert register */
575 union {
576 uint16_t value;
577 struct {
578 uint16_t LEN : 1;
579 uint16_t APOL : 1;
580 uint16_t OVF : 1;
581 uint16_t CVRF : 1;
582 uint16_t AFF : 1;
583 uint16_t reserved : 5;
584 uint16_t CNVR : 1;
585 uint16_t POL : 1; // Lowest priority
586 uint16_t BUL : 1;
587 uint16_t BOL : 1;
588 uint16_t SUL : 1;
589 uint16_t SOL : 1; // Highest priority
590 };
592
593 /* Expected maximum current */
594 double i_max;
595
596 /* The current/power value per 1 bit.
597 * The unit is Amp or Watt, depending on the respective register.
598 */
599 double cur_lsb;
600 double pwr_lsb;
601
602 /* Initialize function will set following arguments, no need to give value */
604
606
608 uint32_t data;
609 uint8_t retry;
611
612typedef struct _pm8702_dimm_init_arg {
614 uint8_t dimm_id;
616
617typedef struct _ddr5_init_power_arg_ {
618 uint8_t HID_code;
619 uint8_t port_number;
621
622typedef struct _ddr5_init_temp_arg_ {
623 uint8_t HID_code;
624 uint8_t port_number;
625 float ts0_temp;
626 float ts1_temp;
628
629typedef struct _adm1272_init_arg {
630 union {
631 uint16_t value;
632 struct {
633 uint16_t IRANGE : 1;
634 uint16_t VOUT_EN : 1;
635 uint16_t VIN_EN : 1;
636 uint16_t TEMP1_EN : 1;
637 uint16_t PMON_MODE : 1;
638 uint16_t VRANGE : 1;
639 uint16_t RSV2 : 2;
640 uint16_t VI_AVG : 3;
641 uint16_t PWR_AVG : 3;
642 uint16_t SIMULTANEOUS : 1;
643 uint16_t TSFILT : 1;
646
647 /* Initialize function will set following arguments, no need to give value */
651
652#ifdef MORE_THAN_ONE_ADM1272
653 bool is_record_ein;
654 uint32_t last_energy;
655 uint32_t last_rollover;
656 uint32_t last_sample;
657#endif
659
660typedef struct _sq52205_init_arg_ {
663 float r_shunt;
664 union {
665 uint16_t value;
666 struct {
667 uint16_t operating_mode : 3;
668 uint16_t shunt_volt_time : 3;
669 uint16_t bus_volt_time : 3;
670 uint16_t aver_mode : 3;
671 uint16_t rsvd : 3; // bit[14:12] are reserved.
672 uint16_t reset_bit : 1;
673 };
675
677 union {
678 uint16_t value;
679 struct {
680 uint8_t clear_ein : 1;
681 uint8_t switch_ein_mode : 1;
682 uint8_t rsvd : 5;
683 uint8_t timer : 3;
684 uint8_t ein_auto_clear : 1;
685 uint8_t switch_adc_mode : 1;
686 uint8_t ein_accum : 2;
687 uint8_t accum_mode : 1;
688 uint8_t ein_status : 1;
689 };
691
693 union {
694 // Only use 5-bit for setting alert bit
695 uint8_t value;
696 struct {
697 uint8_t power_over_bit : 1;
698 uint8_t bus_voltage_uv : 1;
699 uint8_t bus_voltage_ov : 1;
700 uint8_t shunt_voltage_uv : 1;
701 uint8_t shunt_voltage_ov : 1;
702 uint8_t resv : 3;
703 };
707
708typedef struct _ltc2991_init_arg_ {
710 union {
711 int value;
712 struct {
714 uint8_t V1_V2_TEMPERATURE : 1;
715 uint8_t T1_KELVIN : 1;
716 uint8_t V1_V2_FILT : 1;
718 uint8_t V3_V4_TEMPERATURE : 1;
719 uint8_t T2_KELVIN : 1;
720 uint8_t V3_V4_FILT : 1;
723 union {
724 int value;
725 struct {
727 uint8_t V5_V6_TEMPERATURE : 1;
728 uint8_t T3_KELVIN : 1;
729 uint8_t V5_V6_FILT : 1;
731 uint8_t V7_V8_TEMPERATURE : 1;
732 uint8_t T4_KELVIN : 1;
733 uint8_t V7_V8_FILT : 1;
737
738typedef struct _nct7718w_init_arg_ {
742 uint8_t alert_mask;
747
748typedef struct _g788p81u_init_arg_ {
751 uint8_t alert_mode;
752 uint8_t alert_mask;
757
758typedef struct _pt5161l_init_arg_ {
759 uint8_t temp_cal_code_pma_a[4]; // temp calibration codes for PMA A
760 uint8_t temp_cal_code_pma_b[4]; // temp calibration codes for PMA B
761 uint8_t temp_cal_code_avg; // average temp calibration code
764
765typedef struct _mp2985_init_arg {
768
769typedef struct _cx7_init_arg {
771 uint8_t endpoint;
772 uint16_t sensor_id;
773 void (*re_init_eid_fn)(void);
775
776typedef struct _max11617_init_arg {
778 uint8_t mode;
779 uint8_t setup_byte;
780 uint8_t config_byte;
781 float scalefactor[12];
783
784typedef struct _nv_satmc_init_arg {
786 uint8_t endpoint;
787 uint16_t sensor_id;
788 uint8_t state_sensor_idx; //only used for state sensor
789 pldm_sensor_pdr_parm parm; //only used for numeric sensor
791
792typedef struct _adc128d818_init_arg {
795 float vref;
796 float scalefactor[8];
798
799typedef struct mp2971_init_args {
802
803typedef struct isl69259_init_args {
807
808typedef struct mpc12109_init_args {
809 float iout_lsb;
810 float pout_lsb;
812
824};
825
826extern bool enable_sensor_poll_thread;
828// Mapping sensor number to sensor config index
830extern uint8_t sensor_config_count;
832extern uint16_t sensor_monitor_count;
833extern const char *const sensor_type_name[];
835
837uint8_t get_sensor_reading(sensor_cfg *cfg_table, uint8_t cfg_count, uint8_t sensor_num,
838 int *reading, uint8_t read_mode);
839void pal_set_sensor_poll_interval(int *interval_ms);
840bool stby_access(uint8_t sensor_num);
841bool dc_access(uint8_t sensor_num);
842bool e1s_pwrgd_access(uint8_t sensor_num);
843bool post_access(uint8_t sensor_num);
844bool me_access(uint8_t sensor_num);
845bool vr_access(uint8_t sensor_num);
846bool vr_stby_access(uint8_t sensor_num);
847bool sensor_init(void);
849void enable_sensor_poll();
851void pal_extend_sensor_config(void);
853void add_sensor_config(sensor_cfg config);
855bool pal_is_time_to_poll(uint8_t sensor_num, int poll_time);
856uint8_t plat_get_config_size();
857void load_sensor_config(void);
858void control_sensor_polling(uint8_t sensor_num, uint8_t optional, uint8_t cache_status);
863sensor_cfg *find_sensor_cfg_via_sensor_num(sensor_cfg *cfg_table, uint8_t cfg_count,
864 uint8_t sensor_num);
867uint8_t common_tbl_sen_reinit(uint8_t sen_num);
869
870#endif
uint32_t val
Definition: plat_util.c:43
uint8_t reading[1]
Definition: pldm_monitor.h:3
#define SDR_M(sensor_num)
Definition: sdr.h:457
#define SDR_Rexp(sensor_num)
Definition: sdr.h:461
struct _sensor_val sensor_val
uint8_t sensor_config_count
Definition: sensor.c:73
struct _ddr5_init_temp_arg_ ddr5_init_temp_arg
sensor_monitor_table_info * sensor_monitor_table
Definition: sensor.c:75
sensor_cfg * get_common_sensor_cfg_info(uint8_t sensor_num)
Definition: sensor.c:852
struct _ltc2991_init_arg_ ltc2991_init_arg
bool check_reading_pointer_null_is_allowed(sensor_cfg *cfg)
Definition: sensor.c:1545
struct _adm1278_init_arg adm1278_init_arg
struct _sensor_cfg_ sensor_cfg
struct _ina230_init_arg ina230_init_arg
struct _apml_mailbox_init_arg_ apml_mailbox_init_arg
struct _rs31380r_init_arg rs31380r_init_arg
bool check_sensor_num_exist(uint8_t sensor_num)
void pal_extend_sensor_config(void)
Definition: sensor.c:1163
struct _max16550a_init_arg_ max16550a_init_arg
TEMP_THRESHOLD_TYPE_E
Definition: sensor.h:813
@ REMOTE_1_LOW_LIMIT
Definition: sensor.h:817
@ TEMP_THRESHOLD_TYPE_E_MAX
Definition: sensor.h:823
@ REMOTE_2_HIGH_LIMIT
Definition: sensor.h:818
@ LOCAL_THERM_LIMIT
Definition: sensor.h:820
@ REMOTE_1_THERM_LIMIT
Definition: sensor.h:821
@ REMOTE_2_LOW_LIMIT
Definition: sensor.h:819
@ LOCAL_LOW_LIMIT
Definition: sensor.h:815
@ REMOTE_2_THERM_LIMIT
Definition: sensor.h:822
@ LOCAL_HIGH_LIMIT
Definition: sensor.h:814
@ REMOTE_1_HIGH_LIMIT
Definition: sensor.h:816
G788P81U_OFFSET
Definition: sensor.h:92
@ G788P81U_ALERT_MODE_OFFSET
Definition: sensor.h:101
@ G788P81U_REMOTE_TEMP_THERM_LIMIT_OFFSET
Definition: sensor.h:99
@ G788P81U_LOCAL_TEMP_THERM_LIMIT_OFFSET
Definition: sensor.h:100
@ G788P81U_REMOTE_THIGH_LIMIT_OFFSET
Definition: sensor.h:96
@ G788P81U_REMOTE_TEMP_OFFSET
Definition: sensor.h:94
@ G788P81U_REMOTE_TEMP_EXT_OFFSET
Definition: sensor.h:97
@ G788P81U_CONFIGURATION_OFFSET
Definition: sensor.h:95
@ G788P81U_ALERT_MASK_OFFSET
Definition: sensor.h:98
@ G788P81U_LOCAL_TEMP_OFFSET
Definition: sensor.h:93
struct _adc128d818_init_arg adc128d818_init_arg
void disable_sensor_poll()
Definition: sensor.c:1033
ADM1278_OFFSET
Definition: sensor.h:61
@ ADM1278_PEAK_IOUT_OFFSET
Definition: sensor.h:62
@ ADM1278_PEAK_PIN_OFFSET
Definition: sensor.h:63
@ ADM1278_EIN_EXT_OFFSET
Definition: sensor.h:64
@ SENSOR_INIT_SUCCESS
Definition: sensor.h:263
@ SENSOR_INIT_UNSPECIFIED_ERROR
Definition: sensor.h:263
uint8_t sensor_config_index_map[SENSOR_NUM_MAX]
Definition: sensor.c:60
struct _ltc4286_init_arg ltc4286_init_arg
struct _sensor_poll_time_cfg sensor_poll_time_cfg
NCT7718W_OFFSET
Definition: sensor.h:67
@ NCT7718W_CONFIGURATION_OFFSET
Definition: sensor.h:70
@ NCT7718W_RT1_CRITICAL_TEMP_OFFSET
Definition: sensor.h:74
@ NCT7718W_LOCAL_TEMP_OFFSET
Definition: sensor.h:68
@ NCT7718W_ALERT_MASK_OFFSET
Definition: sensor.h:73
@ NCT7718W_RT_FILTER_ALERT_MODE_OFFSET
Definition: sensor.h:76
@ NCT7718W_CHIP_ID_OFFSET
Definition: sensor.h:77
@ NCT7718W_RT1_HIGH_ALERT_TEMP_OFFSET
Definition: sensor.h:71
@ NCT7718W_REMOTE_TEMP_LSB_OFFSET
Definition: sensor.h:72
@ NCT7718W_REMOTE_TEMP_MSB_OFFSET
Definition: sensor.h:69
@ NCT7718W_LT_CRITICAL_TEMP_OFFSET
Definition: sensor.h:75
@ NCT7718W_VENDOR_ID_OFFSET
Definition: sensor.h:78
struct _pt5161l_init_arg_ pt5161l_init_arg
ADS112C_OFFSET
Definition: sensor.h:109
@ ADS112C_MUX_3_CON
Definition: sensor.h:112
@ ADS112C_MUX_2_CON
Definition: sensor.h:111
@ ADS112C_MUX_1_CON
Definition: sensor.h:110
@ ADS112C_MUX_4_CON
Definition: sensor.h:113
struct _adc_asd_deglitch_arg adc_asd_deglitch_arg
struct _pm8702_dimm_init_arg pm8702_dimm_init_arg
bool vr_access(uint8_t sensor_num)
Definition: sensor.c:1240
void control_sensor_polling(uint8_t sensor_num, uint8_t optional, uint8_t cache_status)
Definition: sensor.c:1528
const char *const sensor_type_name[]
Definition: sensor.c:80
void plat_sensor_poll_post()
Definition: sensor.c:1048
CONTROL_SENSOR_POLLING_OPTION
Definition: sensor.h:203
@ ENABLE_SENSOR_POLLING
Definition: sensor.h:205
@ DISABLE_SENSOR_POLLING
Definition: sensor.h:204
struct _sensor_drive_api sensor_drive_api
bool e1s_pwrgd_access(uint8_t sensor_num)
Definition: sensor.c:1218
void clear_unaccessible_sensor_cache(sensor_cfg *cfg)
Definition: sensor.c:891
struct isl69259_init_args isl69259_init_arg
bool init_drive_type_delayed(sensor_cfg *cfg)
Definition: sensor.c:1560
struct _mp2985_init_arg mp2985_init_arg
sensor_drive_api sensor_drive_tbl[]
Definition: sensor.c:407
@ SENSOR_PRE_READ_ERROR
Definition: sensor.h:252
@ SENSOR_READ_API_UNREGISTER
Definition: sensor.h:254
@ SENSOR_NOT_ACCESSIBLE
Definition: sensor.h:247
@ SENSOR_UNAVAILABLE
Definition: sensor.h:259
@ SENSOR_FAIL_TO_ACCESS
Definition: sensor.h:248
@ SENSOR_READ_4BYTE_ACUR_SUCCESS
Definition: sensor.h:255
@ SENSOR_NOT_FOUND
Definition: sensor.h:246
@ SENSOR_PARAMETER_NOT_VALID
Definition: sensor.h:258
@ SENSOR_UNSPECIFIED_ERROR
Definition: sensor.h:250
@ SENSOR_INIT_STATUS
Definition: sensor.h:249
@ SENSOR_READ_SUCCESS
Definition: sensor.h:244
@ SENSOR_OPEN_CIRCUIT
Definition: sensor.h:260
@ SENSOR_POLLING_DISABLE
Definition: sensor.h:251
@ SENSOR_POST_READ_ERROR
Definition: sensor.h:253
@ SENSOR_READ_ACUR_SUCCESS
Definition: sensor.h:245
@ SENSOR_PEC_ERROR
Definition: sensor.h:257
@ SENSOR_NOT_PRESENT
Definition: sensor.h:256
bool get_sensor_init_done_flag()
Definition: sensor.c:1585
struct _vr_page_cfg vr_page_cfg
struct _g788p81u_init_arg_ g788p81u_init_arg
struct _rtq6056_init_arg_ rtq6056_init_arg
void plat_fill_monitor_sensor_table()
Definition: sensor.c:1183
uint16_t sensor_monitor_count
Definition: sensor.c:76
struct mp2971_init_args mp2971_init_arg
void enable_sensor_poll()
Definition: sensor.c:1038
struct _pmic_init_arg pmic_init_arg
struct _isl28022_init_arg isl28022_init_arg
sensor_cfg * sensor_config
Definition: sensor.c:72
void add_sensor_config(sensor_cfg config)
Definition: sensor.c:1273
struct _sensor_monitor_table_info sensor_monitor_table_info
struct _pex90144_init_arg pex90144_init_arg
bool sensor_init(void)
Definition: sensor.c:1458
DIMM_RELATED_OFFSET
Definition: sensor.h:104
@ DIMM_PMIC_SWA_PWR
Definition: sensor.h:105
@ DIMM_SPD_TEMP
Definition: sensor.h:106
struct _mp5990_init_arg mp5990_init_arg
struct _adc_asd_init_arg adc_asd_init_arg
bool me_access(uint8_t sensor_num)
Definition: sensor.c:1228
bool check_is_sensor_ready()
Definition: sensor.c:1510
struct _tps25990_init_arg tps25990_init_arg
SENSOR_DEV
Definition: sensor.h:117
@ sensor_dev_isl69259
Definition: sensor.h:121
@ sensor_dev_mp2985
Definition: sensor.h:160
@ sensor_dev_raa229621
Definition: sensor.h:139
@ sensor_dev_vistara
Definition: sensor.h:165
@ sensor_dev_mp2856gut
Definition: sensor.h:146
@ sensor_dev_ina238
Definition: sensor.h:171
@ sensor_dev_ast_adc
Definition: sensor.h:119
@ sensor_dev_m88rt51632
Definition: sensor.h:161
@ sensor_dev_intel_peci
Definition: sensor.h:120
@ sensor_dev_ads1015
Definition: sensor.h:178
@ sensor_dev_pex89000
Definition: sensor.h:127
@ sensor_dev_amd_tsi
Definition: sensor.h:142
@ sensor_dev_xdpe15284
Definition: sensor.h:129
@ sensor_dev_isl69254iraz_t
Definition: sensor.h:135
@ sensor_dev_xdpe12284c
Definition: sensor.h:138
@ sensor_dev_nct7363
Definition: sensor.h:168
@ sensor_dev_ddr5_temp
Definition: sensor.h:148
@ sensor_dev_tps25990
Definition: sensor.h:199
@ sensor_dev_ltc4286
Definition: sensor.h:141
@ sensor_dev_hdc1080
Definition: sensor.h:170
@ sensor_dev_nct214
Definition: sensor.h:172
@ sensor_dev_plat_def_sensor
Definition: sensor.h:179
@ sensor_dev_nct7718w
Definition: sensor.h:140
@ sensor_dev_mp5990
Definition: sensor.h:125
@ sensor_dev_ina233
Definition: sensor.h:134
@ sensor_dev_max16550a
Definition: sensor.h:136
@ sensor_dev_lx6301
Definition: sensor.h:194
@ sensor_dev_ddr5_power
Definition: sensor.h:147
@ sensor_dev_nv_satmc
Definition: sensor.h:167
@ sensor_dev_mp29816a
Definition: sensor.h:187
@ sensor_dev_mp2891
Definition: sensor.h:183
@ sensor_dev_xdp710
Definition: sensor.h:174
@ sensor_dev_apml_mailbox
Definition: sensor.h:143
@ sensor_dev_adm1278
Definition: sensor.h:122
@ sensor_dev_ast_fan
Definition: sensor.h:131
@ sensor_dev_max
Definition: sensor.h:200
@ sensor_dev_bmr313
Definition: sensor.h:182
@ sensor_dev_ads7830
Definition: sensor.h:195
@ sensor_dev_rtq6056
Definition: sensor.h:186
@ sensor_dev_tmp75
Definition: sensor.h:118
@ sensor_dev_bmr316
Definition: sensor.h:193
@ sensor_dev_xdpe19283b
Definition: sensor.h:144
@ sensor_dev_pmic
Definition: sensor.h:133
@ sensor_dev_tps53689
Definition: sensor.h:128
@ sensor_dev_pch
Definition: sensor.h:124
@ sensor_dev_max11617
Definition: sensor.h:166
@ sensor_dev_sq52205
Definition: sensor.h:154
@ sensor_dev_cx7
Definition: sensor.h:164
@ sensor_dev_tmp461
Definition: sensor.h:159
@ sensor_dev_raa228238
Definition: sensor.h:184
@ sensor_dev_bmr4922302_803
Definition: sensor.h:189
@ sensor_dev_tmp421
Definition: sensor.h:192
@ sensor_dev_ads112c
Definition: sensor.h:169
@ sensor_dev_ast_tach
Definition: sensor.h:173
@ sensor_dev_bcm85658
Definition: sensor.h:191
@ sensor_dev_raa228249
Definition: sensor.h:188
@ sensor_dev_emc1412
Definition: sensor.h:155
@ sensor_dev_rs31380r
Definition: sensor.h:176
@ sensor_dev_octeon
Definition: sensor.h:198
@ sensor_dev_i3c_dimm
Definition: sensor.h:156
@ sensor_dev_ltc2991
Definition: sensor.h:153
@ sensor_dev_adc128d818
Definition: sensor.h:177
@ sensor_dev_adm1272
Definition: sensor.h:149
@ sensor_dev_u50su4p180pmdafc
Definition: sensor.h:181
@ sensor_dev_e50sn12051
Definition: sensor.h:180
@ sensor_dev_s54ss4p180pmdafc
Definition: sensor.h:196
@ sensor_dev_ina230
Definition: sensor.h:137
@ sensor_dev_ds160pt801
Definition: sensor.h:175
@ sensor_dev_pex90144
Definition: sensor.h:197
@ sensor_dev_mpro
Definition: sensor.h:162
@ sensor_dev_tmp431
Definition: sensor.h:132
@ sensor_dev_mp2971
Definition: sensor.h:151
@ sensor_dev_emc1413
Definition: sensor.h:190
@ sensor_dev_ltc4282
Definition: sensor.h:130
@ sensor_dev_pm8702
Definition: sensor.h:152
@ sensor_dev_lm75bd118
Definition: sensor.h:158
@ sensor_dev_nvme
Definition: sensor.h:123
@ sensor_dev_mpc12109
Definition: sensor.h:185
@ sensor_dev_q50sn120a1
Definition: sensor.h:150
@ sensor_dev_isl28022
Definition: sensor.h:126
@ sensor_dev_g788p81u
Definition: sensor.h:145
@ sensor_dev_bmr351
Definition: sensor.h:163
@ sensor_dev_pt5161l
Definition: sensor.h:157
#define SENSOR_NUM_MAX
Definition: sensor.h:40
void load_sensor_config(void)
Definition: sensor.c:1520
bool enable_sensor_poll_thread
Definition: sensor.c:63
bool get_sensor_poll_enable_flag()
Definition: sensor.c:1043
uint8_t pal_get_monitor_sensor_count()
Definition: sensor.c:1178
struct mpc12109_init_args mpc12109_init_arg
bool pal_is_time_to_poll(uint8_t sensor_num, int poll_time)
Definition: sensor.c:1152
uint8_t get_sensor_reading(sensor_cfg *cfg_table, uint8_t cfg_count, uint8_t sensor_num, int *reading, uint8_t read_mode)
Definition: sensor.c:901
bool stby_access(uint8_t sensor_num)
Definition: sensor.c:1208
struct _max11617_init_arg max11617_init_arg
bool post_access(uint8_t sensor_num)
Definition: sensor.c:1223
struct _adm1272_init_arg adm1272_init_arg
uint8_t common_tbl_sen_reinit(uint8_t sen_num)
Definition: sensor.c:1363
struct _ina233_init_arg_ ina233_init_arg
bool vr_stby_access(uint8_t sensor_num)
Definition: sensor.c:1248
void pal_set_sensor_poll_interval(int *interval_ms)
Definition: sensor.c:1157
struct _cx7_init_arg cx7_init_arg
sensor_cfg * find_sensor_cfg_via_sensor_num(sensor_cfg *cfg_table, uint8_t cfg_count, uint8_t sensor_num)
Definition: sensor.c:867
struct _sq52205_init_arg_ sq52205_init_arg
struct _vistara_init_arg_ vistara_init_arg
struct _pex89000_init_arg pex89000_init_arg
struct _nct7718w_init_arg_ nct7718w_init_arg
bool dc_access(uint8_t sensor_num)
Definition: sensor.c:1213
LTC4282_OFFSET
Definition: sensor.h:50
@ LTC4282_POWER_OFFSET
Definition: sensor.h:53
@ LTC4282_VSOURCE_OFFSET
Definition: sensor.h:54
@ LTC4282_ADC_CONTROL_OFFSET
Definition: sensor.h:55
@ LTC4282_STATUS_OFFSET_BYTE2
Definition: sensor.h:58
@ LTC4282_ILIM_ADJUST_OFFSET
Definition: sensor.h:51
@ LTC4282_STATUS_OFFSET_BYTE1
Definition: sensor.h:57
@ LTC4282_VSENSE_OFFSET
Definition: sensor.h:52
@ LTC4282_ENERGY_OFFSET
Definition: sensor.h:56
struct _nv_satmc_init_arg nv_satmc_init_arg
uint8_t plat_get_config_size()
Definition: sensor.c:1515
struct _ddr5_init_power_arg_ ddr5_init_power_arg
struct _ltc4282_init_arg ltc4282_init_arg
INA230_OFFSET
Definition: sensor.h:81
@ INA230_ALT_OFFSET
Definition: sensor.h:89
@ INA230_PWR_OFFSET
Definition: sensor.h:85
@ INA230_CFG_OFFSET
Definition: sensor.h:82
@ INA230_CUR_OFFSET
Definition: sensor.h:86
@ INA230_VSH_VOL_OFFSET
Definition: sensor.h:83
@ INA230_BUS_VOL_OFFSET
Definition: sensor.h:84
@ INA230_CAL_OFFSET
Definition: sensor.h:87
@ INA230_MSK_OFFSET
Definition: sensor.h:88
#define MAX_SENSOR_NAME_LENGTH
Definition: sensor_shell.h:23
uint8_t sensor_num
Definition: storage_handler.h:6
Definition: sensor.h:792
bool external_vref
Definition: sensor.h:794
bool is_init
Definition: sensor.h:793
float scalefactor[8]
Definition: sensor.h:796
float vref
Definition: sensor.h:795
Definition: sensor.h:368
uint16_t lower_bound
Definition: sensor.h:370
uint16_t upper_bound
Definition: sensor.h:369
bool deglitch_en
Definition: sensor.h:371
Definition: sensor.h:374
bool is_init
Definition: sensor.h:375
adc_asd_deglitch_arg deglitch[8]
Definition: sensor.h:376
Definition: sensor.h:629
bool is_need_set_pwr_cfg
Definition: sensor.h:649
uint16_t TSFILT
Definition: sensor.h:643
uint16_t IRANGE
Definition: sensor.h:633
bool is_init
Definition: sensor.h:648
uint16_t SIMULTANEOUS
Definition: sensor.h:642
uint16_t VRANGE
Definition: sensor.h:638
uint16_t VOUT_EN
Definition: sensor.h:634
uint16_t VIN_EN
Definition: sensor.h:635
uint16_t value
Definition: sensor.h:631
uint16_t PWR_AVG
Definition: sensor.h:641
uint16_t VI_AVG
Definition: sensor.h:640
uint16_t RSV2
Definition: sensor.h:639
union _adm1272_init_arg::@124 pwr_monitor_cfg
uint16_t PMON_MODE
Definition: sensor.h:637
uint16_t TEMP1_EN
Definition: sensor.h:636
float r_sense_mohm
Definition: sensor.h:650
struct _adm1272_init_arg::@124::@125 fields
Definition: sensor.h:379
uint16_t PMON_MODE
Definition: sensor.h:388
uint16_t RSV2
Definition: sensor.h:389
uint16_t VI_AVG
Definition: sensor.h:390
uint16_t RSV1
Definition: sensor.h:384
uint16_t value
Definition: sensor.h:382
bool is_init
Definition: sensor.h:400
uint16_t SIMULTANEOUS
Definition: sensor.h:392
uint16_t TSFILT
Definition: sensor.h:393
uint16_t PWR_AVG
Definition: sensor.h:391
uint16_t VIN_EN
Definition: sensor.h:386
union _adm1278_init_arg::@106 config
uint16_t VOUT_EN
Definition: sensor.h:385
struct _adm1278_init_arg::@106::@107 fields
uint16_t TEMP1_EN
Definition: sensor.h:387
float r_sense
Definition: sensor.h:397
Definition: sensor.h:607
uint8_t retry
Definition: sensor.h:609
uint32_t data
Definition: sensor.h:608
Definition: sensor.h:769
uint16_t sensor_id
Definition: sensor.h:772
void(* re_init_eid_fn)(void)
Definition: sensor.h:773
uint8_t endpoint
Definition: sensor.h:771
bool is_init
Definition: sensor.h:770
Definition: sensor.h:617
uint8_t port_number
Definition: sensor.h:619
uint8_t HID_code
Definition: sensor.h:618
Definition: sensor.h:622
float ts1_temp
Definition: sensor.h:626
float ts0_temp
Definition: sensor.h:625
uint8_t HID_code
Definition: sensor.h:623
uint8_t port_number
Definition: sensor.h:624
Definition: sensor.h:748
bool is_init
Definition: sensor.h:749
uint8_t alert_mode
Definition: sensor.h:751
uint8_t local_temp_therm_limit
Definition: sensor.h:755
uint8_t alert_mask
Definition: sensor.h:752
uint8_t remote_temp_therm_limit
Definition: sensor.h:754
uint8_t configuration
Definition: sensor.h:753
uint8_t remote_T_high_limit
Definition: sensor.h:750
Definition: sensor.h:552
double cur_lsb
Definition: sensor.h:599
double i_max
Definition: sensor.h:594
uint16_t CVRF
Definition: sensor.h:581
uint16_t AVG
Definition: sensor.h:560
union _ina230_init_arg::@119 alt_cfg
uint16_t LEN
Definition: sensor.h:578
union _ina230_init_arg::@118 config
uint16_t POL
Definition: sensor.h:585
uint16_t CNVR
Definition: sensor.h:584
uint16_t BUL
Definition: sensor.h:586
double r_shunt
Definition: sensor.h:567
uint16_t reserved
Definition: sensor.h:561
double alert_value
Definition: sensor.h:572
double pwr_lsb
Definition: sensor.h:600
uint16_t VBUS_CT
Definition: sensor.h:559
uint16_t RST
Definition: sensor.h:562
uint16_t SUL
Definition: sensor.h:588
uint16_t value
Definition: sensor.h:555
uint16_t MODE
Definition: sensor.h:557
uint16_t AFF
Definition: sensor.h:582
uint16_t APOL
Definition: sensor.h:579
uint16_t OVF
Definition: sensor.h:580
uint16_t VSH_CT
Definition: sensor.h:558
bool is_init
Definition: sensor.h:603
uint16_t BOL
Definition: sensor.h:587
uint16_t SOL
Definition: sensor.h:589
Definition: sensor.h:512
bool is_init
Definition: sensor.h:513
uint8_t rsvd
Definition: sensor.h:537
float r_shunt
Definition: sensor.h:515
uint16_t rsvd
Definition: sensor.h:525
uint16_t shunt_volt_time
Definition: sensor.h:522
uint8_t ein_status
Definition: sensor.h:538
uint16_t vin_ov_warn_limit
Definition: sensor.h:543
uint16_t value
Definition: sensor.h:519
uint8_t apol
Definition: sensor.h:532
union _ina233_init_arg_::@113 mfr_device_config
uint8_t alert_behavior
Definition: sensor.h:533
uint8_t i2c_filt
Definition: sensor.h:535
float current_lsb
Definition: sensor.h:514
uint16_t operating_mode
Definition: sensor.h:521
uint16_t iout_oc_warn_limit
Definition: sensor.h:542
bool is_need_set_alert_threshold
Definition: sensor.h:541
uint8_t ein_autoclear
Definition: sensor.h:534
uint8_t value
Definition: sensor.h:530
union _ina233_init_arg_::@112 mfr_config
uint16_t pin_op_warn_limit
Definition: sensor.h:545
uint16_t aver_mode
Definition: sensor.h:524
bool mfr_config_init
Definition: sensor.h:516
uint16_t vin_uv_warn_limit
Definition: sensor.h:544
uint16_t bus_volt_time
Definition: sensor.h:523
uint8_t ein_accum
Definition: sensor.h:536
bool is_need_mfr_device_config_init
Definition: sensor.h:528
uint16_t FORCEINTR
Definition: sensor.h:353
uint16_t value
Definition: sensor.h:344
bool do_config
Definition: sensor.h:342
union _isl28022_init_arg::aux_control_config::@104 config
uint16_t resv
Definition: sensor.h:354
uint16_t ExtClkEn
Definition: sensor.h:349
uint16_t ExtCLKDiv
Definition: sensor.h:347
uint16_t INTREN
Definition: sensor.h:351
struct _isl28022_init_arg::aux_control_config::@104::@105 fields
float min_threshold_limit
Definition: sensor.h:337
float max_threshold_limit
Definition: sensor.h:338
bool do_config
Definition: sensor.h:335
Definition: sensor.h:320
struct _isl28022_init_arg::@102::@103 fields
uint16_t MODE
Definition: sensor.h:325
union _isl28022_init_arg::@102 config
bool is_init
Definition: sensor.h:364
uint16_t SADC
Definition: sensor.h:326
uint16_t BADC
Definition: sensor.h:327
struct _isl28022_init_arg::bus_volt_threshold_config bus_volt_threshold_config
uint16_t BRNG
Definition: sensor.h:329
uint16_t PG
Definition: sensor.h:328
uint16_t value
Definition: sensor.h:323
float current_LSB
Definition: sensor.h:362
uint32_t r_shunt
Definition: sensor.h:360
struct _isl28022_init_arg::aux_control_config aux_control_config
uint16_t RST
Definition: sensor.h:330
Definition: sensor.h:708
uint8_t V5_V6_TEMPERATURE
Definition: sensor.h:727
bool is_init
Definition: sensor.h:709
uint8_t V5_V6_DIFFERENTIAL
Definition: sensor.h:726
uint8_t V7_V8_TEMPERATURE
Definition: sensor.h:731
uint8_t T4_KELVIN
Definition: sensor.h:732
uint8_t V3_V4_DIFFERENTIAL
Definition: sensor.h:717
union _ltc2991_init_arg_::@135 v1_v4_control_operation
uint8_t V1_V2_DIFFERENTIAL
Definition: sensor.h:713
struct _ltc2991_init_arg_::@135::@137 fields
uint8_t V5_V6_FILT
Definition: sensor.h:729
uint8_t T1_KELVIN
Definition: sensor.h:715
uint8_t V3_V4_TEMPERATURE
Definition: sensor.h:718
uint8_t T3_KELVIN
Definition: sensor.h:728
uint8_t V1_V2_TEMPERATURE
Definition: sensor.h:714
uint8_t V7_V8_DIFFERENTIAL
Definition: sensor.h:730
int value
Definition: sensor.h:711
union _ltc2991_init_arg_::@136 v5_v8_control_operation
uint8_t V3_V4_FILT
Definition: sensor.h:720
uint8_t T2_KELVIN
Definition: sensor.h:719
uint8_t V7_V8_FILT
Definition: sensor.h:733
uint8_t V1_V2_FILT
Definition: sensor.h:716
Definition: sensor.h:422
uint8_t _16_bit
Definition: sensor.h:427
uint8_t value
Definition: sensor.h:425
uint8_t gpio_mode
Definition: sensor.h:428
bool is_init
Definition: sensor.h:439
float r_sense_mohm
Definition: sensor.h:436
uint8_t vsource_vdd
Definition: sensor.h:429
uint8_t ilim_adjust
Definition: sensor.h:431
uint8_t foldback_mode
Definition: sensor.h:430
uint8_t is_register_setting_needed
Definition: sensor.h:445
struct _ltc4282_init_arg::@108::@109 fields
Definition: sensor.h:448
uint16_t value
Definition: sensor.h:451
uint16_t reserved_2
Definition: sensor.h:457
uint16_t ilim
Definition: sensor.h:456
uint16_t reserved_1
Definition: sensor.h:455
union _ltc4286_init_arg::@110 mfr_config_1
bool is_init
Definition: sensor.h:463
float r_sense_mohm
Definition: sensor.h:461
struct _ltc4286_init_arg::@110::@111 fields
uint16_t vrange_select
Definition: sensor.h:454
uint16_t vpwr_select
Definition: sensor.h:453
Definition: sensor.h:776
uint8_t mode
Definition: sensor.h:778
bool is_init
Definition: sensor.h:777
uint8_t config_byte
Definition: sensor.h:780
float scalefactor[12]
Definition: sensor.h:781
uint8_t setup_byte
Definition: sensor.h:779
Definition: sensor.h:548
float r_load
Definition: sensor.h:549
Definition: sensor.h:765
bool is_init
Definition: sensor.h:766
Definition: sensor.h:466
uint16_t iout_cal_gain
Definition: sensor.h:468
bool is_init
Definition: sensor.h:475
uint16_t iout_oc_fault_limit
Definition: sensor.h:470
uint16_t ocw_sc_ref
Definition: sensor.h:472
Definition: sensor.h:738
uint8_t rt1_critical_temperature
Definition: sensor.h:744
uint8_t alert_mask
Definition: sensor.h:742
uint8_t configuration
Definition: sensor.h:743
uint8_t rt_filter_alert_mode
Definition: sensor.h:741
bool is_init
Definition: sensor.h:739
uint8_t lt_critical_temperature
Definition: sensor.h:745
uint8_t rt1_high_alert_temp
Definition: sensor.h:740
Definition: sensor.h:784
uint8_t state_sensor_idx
Definition: sensor.h:788
uint8_t endpoint
Definition: sensor.h:786
pldm_sensor_pdr_parm parm
Definition: sensor.h:789
bool is_init
Definition: sensor.h:785
uint16_t sensor_id
Definition: sensor.h:787
Definition: sensor.h:404
uint8_t idx
Definition: sensor.h:405
struct k_mutex brcm_pciesw
Definition: sensor.h:406
bool is_init
Definition: sensor.h:409
Definition: sensor.h:413
bool is_init
Definition: sensor.h:418
uint8_t idx
Definition: sensor.h:414
struct k_mutex brcm_pciesw
Definition: sensor.h:415
Definition: pldm_monitor.h:203
Definition: sensor.h:612
uint8_t dimm_id
Definition: sensor.h:614
bool is_init
Definition: sensor.h:613
Definition: sensor.h:496
uint8_t smbus_addr
Definition: sensor.h:499
uint8_t smbus_bus_identifier
Definition: sensor.h:498
bool is_init
Definition: sensor.h:497
Definition: sensor.h:758
bool is_init
Definition: sensor.h:762
uint8_t temp_cal_code_pma_b[4]
Definition: sensor.h:760
uint8_t temp_cal_code_avg
Definition: sensor.h:761
uint8_t temp_cal_code_pma_a[4]
Definition: sensor.h:759
Definition: sensor.h:483
uint16_t iout_oc_fault_limit
Definition: sensor.h:487
bool is_init
Definition: sensor.h:492
uint16_t ocw_sc_ref
Definition: sensor.h:489
uint16_t iout_cal_gain
Definition: sensor.h:485
Definition: sensor.h:502
float current_lsb
Definition: sensor.h:504
bool is_init
Definition: sensor.h:503
float r_shunt
Definition: sensor.h:505
Definition: sensor.h:265
bool(* pre_sensor_read_hook)(struct _sensor_cfg_ *, void *)
Definition: sensor.h:279
uint8_t num
Definition: sensor.h:266
uint8_t target_addr
Definition: sensor.h:269
int cache
Definition: sensor.h:277
bool(* post_sensor_read_hook)(struct _sensor_cfg_ *, void *, int *)
Definition: sensor.h:281
int sample_count
Definition: sensor.h:274
uint8_t(* read)(struct _sensor_cfg_ *, int *)
Definition: sensor.h:289
uint8_t(* init)(uint8_t, int *)
Definition: sensor.h:288
bool is_initialized
Definition: sensor.h:290
int64_t poll_time
Definition: sensor.h:275
uint16_t offset
Definition: sensor.h:270
uint8_t port
Definition: sensor.h:268
int arg0
Definition: sensor.h:272
void * post_sensor_read_args
Definition: sensor.h:282
void * priv_data
Definition: sensor.h:286
uint8_t cache_status
Definition: sensor.h:278
void * init_args
Definition: sensor.h:283
void * pre_sensor_read_args
Definition: sensor.h:280
bool(* access_checker)(uint8_t)
Definition: sensor.h:271
uint8_t type
Definition: sensor.h:267
bool is_enable_polling
Definition: sensor.h:276
uint8_t retry
Definition: sensor.h:287
int arg1
Definition: sensor.h:273
Definition: sensor.h:305
uint8_t(* init)(struct _sensor_cfg_ *)
Definition: sensor.h:307
enum SENSOR_DEV dev
Definition: sensor.h:306
Definition: sensor.h:293
bool(* post_monitor)(uint8_t, void *)
Definition: sensor.h:299
uint8_t cfg_count
Definition: sensor.h:295
uint8_t access_checker_arg
Definition: sensor.h:297
void * pre_post_monitor_arg
Definition: sensor.h:300
char table_name[MAX_SENSOR_NAME_LENGTH]
Definition: sensor.h:302
bool(* pre_monitor)(uint8_t, void *)
Definition: sensor.h:298
bool(* access_checker)(uint8_t)
Definition: sensor.h:296
void * priv_data
Definition: sensor.h:301
sensor_cfg * monitor_sensor_cfg
Definition: sensor.h:294
Definition: sensor.h:310
uint8_t sensor_num
Definition: sensor.h:311
int64_t last_access_time
Definition: sensor.h:312
Definition: sensor.h:208
int16_t fraction
Definition: sensor.h:210
int16_t integer
Definition: sensor.h:209
Definition: sensor.h:660
union _sq52205_init_arg_::@128 alert_mask_config
uint16_t aver_mode
Definition: sensor.h:670
uint16_t value
Definition: sensor.h:665
uint8_t bus_voltage_ov
Definition: sensor.h:699
uint8_t ein_accum
Definition: sensor.h:686
uint8_t shunt_voltage_ov
Definition: sensor.h:701
float current_lsb
Definition: sensor.h:662
uint16_t shunt_volt_time
Definition: sensor.h:668
uint8_t switch_ein_mode
Definition: sensor.h:681
uint16_t alert_threshold
Definition: sensor.h:705
uint8_t resv
Definition: sensor.h:702
union _sq52205_init_arg_::@127 accum_config
uint8_t ein_auto_clear
Definition: sensor.h:684
uint8_t shunt_voltage_uv
Definition: sensor.h:700
uint8_t value
Definition: sensor.h:695
float r_shunt
Definition: sensor.h:663
uint16_t reset_bit
Definition: sensor.h:672
bool is_need_accum_config_init
Definition: sensor.h:676
uint8_t timer
Definition: sensor.h:683
uint8_t rsvd
Definition: sensor.h:682
bool is_init
Definition: sensor.h:661
uint8_t switch_adc_mode
Definition: sensor.h:685
uint8_t accum_mode
Definition: sensor.h:687
bool is_need_set_alert_threshold
Definition: sensor.h:692
uint8_t bus_voltage_uv
Definition: sensor.h:698
uint16_t rsvd
Definition: sensor.h:671
union _sq52205_init_arg_::@126 config
uint16_t bus_volt_time
Definition: sensor.h:669
uint8_t clear_ein
Definition: sensor.h:680
uint8_t ein_status
Definition: sensor.h:688
uint16_t operating_mode
Definition: sensor.h:667
uint8_t power_over_bit
Definition: sensor.h:697
Definition: sensor.h:479
bool is_init
Definition: sensor.h:480
Definition: sensor.h:508
bool is_cached
Definition: sensor.h:509
Definition: sensor.h:315
uint8_t vr_page
Definition: sensor.h:316
Definition: sensor.h:803
float vout_scale
Definition: sensor.h:805
bool vout_scale_enable
Definition: sensor.h:804
Definition: sensor.h:799
bool vout_scale_enable
Definition: sensor.h:800
Definition: sensor.h:808
float iout_lsb
Definition: sensor.h:809
float pout_lsb
Definition: sensor.h:810
Definition: sensor.h:213
uint8_t addr
Definition: sensor.h:214
uint8_t chan
Definition: sensor.h:215