OpenBIC
OpenSource Bridge-IC
ltc2991.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 LTC2991_H
18#define LTC2991_H
19
20#define LTC2991_DATA_SIGN_BIT BIT(6)
21#define LTC2991_DATA_VALID_BIT BIT(7)
22#define LTC2991_ENABLE_CHANNEL_V1_V2 BIT(4)
23#define LTC2991_ENABLE_CHANNEL_V3_V4 BIT(5)
24#define LTC2991_ENABLE_CHANNEL_V5_V6 BIT(6)
25#define LTC2991_ENABLE_CHANNEL_V7_V8 BIT(7)
26
27#define LTC2991_READ_VOLTAGE 0
28#define LTC2991_READ_TEMPERATURE BIT(3)
29#define LTC2991_KEEP_DEFAULT_SETTING -1
30#define LTC2991_DATA_NOT_READY_DELAY_MS 10
31#define LTC2991_VOLTAGE_LSB 0.00030517578125
32#define LTC2991_TEMPERATURE_LSB 0.0625
33
43};
44
46 /* Use bit3 to indicate the read type */
59};
60
82};
83
84int ltc2991_read_optional_to_register(uint8_t read_optional, uint8_t *msb_register,
85 uint8_t *lsb_register, float *parameter, uint8_t *channel);
86
87#endif
int ltc2991_read_optional_to_register(uint8_t read_optional, uint8_t *msb_register, uint8_t *lsb_register, float *parameter, uint8_t *channel)
Definition: ltc2991.c:28
LTC2991_REGISTER
Definition: ltc2991.h:61
@ LTC2991_V3_MSB_REG
Definition: ltc2991.h:70
@ LTC2991_V3_LSB_REG
Definition: ltc2991.h:71
@ LTC2991_V6_LSB_REG
Definition: ltc2991.h:77
@ LTC2991_V5_MSB_REG
Definition: ltc2991.h:74
@ LTC2991_V4_MSB_REG
Definition: ltc2991.h:72
@ LTC2991_V1_V4_CONTROL_REG
Definition: ltc2991.h:63
@ LTC2991_V4_LSB_REG
Definition: ltc2991.h:73
@ LTC2991_V6_MSB_REG
Definition: ltc2991.h:76
@ LTC2991_V7_LSB_REG
Definition: ltc2991.h:79
@ LTC2991_V1_MSB_REG
Definition: ltc2991.h:66
@ LTC2991_VCC_TEMP_CONTROL_REG
Definition: ltc2991.h:65
@ LTC2991_V2_MSB_REG
Definition: ltc2991.h:68
@ LTC2991_V1_LSB_REG
Definition: ltc2991.h:67
@ LTC2991_ENABLE_CHANNEL_REG
Definition: ltc2991.h:62
@ LTC2991_V2_LSB_REG
Definition: ltc2991.h:69
@ LTC2991_V7_MSB_REG
Definition: ltc2991.h:78
@ LTC2991_V8_MSB_REG
Definition: ltc2991.h:80
@ LTC2991_V5_V8_CONTROL_REG
Definition: ltc2991.h:64
@ LTC2991_V8_LSB_REG
Definition: ltc2991.h:81
@ LTC2991_V5_LSB_REG
Definition: ltc2991.h:75
LTC2991_READ_OPTIONAL
Definition: ltc2991.h:45
@ LTC2991_READ_V7_V8_TEMPERATURE
Definition: ltc2991.h:58
@ LTC2991_READ_V6_VOLTAGE
Definition: ltc2991.h:52
@ LTC2991_READ_V8_VOLTAGE
Definition: ltc2991.h:54
@ LTC2991_READ_V1_V2_TEMPERATURE
Definition: ltc2991.h:55
@ LTC2991_READ_V7_VOLTAGE
Definition: ltc2991.h:53
@ LTC2991_READ_V3_VOLTAGE
Definition: ltc2991.h:49
@ LTC2991_READ_V5_VOLTAGE
Definition: ltc2991.h:51
@ LTC2991_READ_V1_VOLTAGE
Definition: ltc2991.h:47
@ LTC2991_READ_V2_VOLTAGE
Definition: ltc2991.h:48
@ LTC2991_READ_V4_VOLTAGE
Definition: ltc2991.h:50
@ LTC2991_READ_V3_V4_TEMPERATURE
Definition: ltc2991.h:56
@ LTC2991_READ_V5_V6_TEMPERATURE
Definition: ltc2991.h:57
LTC2991_VOLTAGE_CHANNEL
Definition: ltc2991.h:34
@ LTC2991_VOLTAGE_CHANNEL_2
Definition: ltc2991.h:36
@ LTC2991_VOLTAGE_CHANNEL_8
Definition: ltc2991.h:42
@ LTC2991_VOLTAGE_CHANNEL_6
Definition: ltc2991.h:40
@ LTC2991_VOLTAGE_CHANNEL_1
Definition: ltc2991.h:35
@ LTC2991_VOLTAGE_CHANNEL_4
Definition: ltc2991.h:38
@ LTC2991_VOLTAGE_CHANNEL_3
Definition: ltc2991.h:37
@ LTC2991_VOLTAGE_CHANNEL_7
Definition: ltc2991.h:41
@ LTC2991_VOLTAGE_CHANNEL_5
Definition: ltc2991.h:39
#define LTC2991_READ_TEMPERATURE
Definition: ltc2991.h:28
#define LTC2991_READ_VOLTAGE
Definition: ltc2991.h:27
uint8_t parameter
Definition: plat_ncsi.h:3