OpenBIC
OpenSource Bridge-IC
plat_adc.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
17enum {
18 ADC_IDX_MEDHA0_1 = 0, // 20ms
23};
24
25enum {
29};
30
31#define ADC_AVERGE_TIMES_MIN 1
32#define ADC_AVERGE_TIMES_MAX 1000
33
34#define ADI_AD4058 0x0
35#define TIC_ADS7066 0x1
36
37void plat_adc_init(void);
38void adc_set_poll_flag(uint8_t onoff);
40float adc_raw_mv_to_apms(uint16_t v, float vref);
41uint16_t get_adc_averge_val(uint8_t idx);
42void adc_set_averge_times(uint8_t idx, uint16_t time);
43uint16_t get_adc_averge_times(uint8_t idx);
44uint16_t get_adc_ucr(uint8_t idx);
45void set_adc_ucr(uint8_t idx, uint16_t ucr);
46bool get_adc_ucr_status(uint8_t idx);
47void plat_adc_rainbow_init(void);
50uint8_t get_adc_type();
51float get_ads7066_vref();
52float get_ad4058_vref();
53float get_adc_vr_pwr(uint8_t idx);
54uint16_t float_voltage_transfer_to_uint16(float temp_voltage_value);
55uint16_t *get_adc_buf(uint16_t idx);
56float uint16_voltage_transfer_to_float(uint16_t temp_voltage_value);
57int ads7066_read_reg(uint8_t reg, uint8_t idx);
58int ads7066_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx);
59int ad4058_read_reg(uint8_t reg, uint8_t idx);
60int ad4058_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx);
61uint16_t *get_vr_buf(uint16_t idx);
62void read_adc_info();
uint8_t idx
Definition: plat_util.c:42
void get_ads7066_voltage()
Definition: plat_adc.c:663
float adc_raw_mv_to_apms(uint16_t v, float vref)
Definition: plat_adc.c:148
void set_adc_ucr(uint8_t idx, uint16_t ucr)
Definition: plat_adc.c:134
uint16_t * get_vr_buf(uint16_t idx)
Definition: plat_adc.c:111
int ad4058_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx)
Definition: plat_adc.c:523
bool adc_get_poll_flag()
Definition: plat_adc.c:257
bool get_adc_ucr_status(uint8_t idx)
Definition: plat_adc.c:139
float get_ad4058_vref()
Definition: plat_adc.c:97
void read_adc_info()
Definition: plat_adc.c:268
void plat_adc_rainbow_init(void)
Definition: plat_adc.c:744
uint8_t get_adc_type()
Definition: plat_adc.c:275
@ ADC_RB_IDX_MEDHA0
Definition: plat_adc.h:26
@ ADC_RB_IDX_MEDHA1
Definition: plat_adc.h:27
@ ADC_RB_IDX_MAX
Definition: plat_adc.h:28
int ad4058_read_reg(uint8_t reg, uint8_t idx)
Definition: plat_adc.c:463
void plat_adc_init(void)
void adc_set_poll_flag(uint8_t onoff)
Definition: plat_adc.c:261
void get_ad4058_voltage()
Definition: plat_adc.c:669
float get_adc_vr_pwr(uint8_t idx)
Definition: plat_adc.c:280
float uint16_voltage_transfer_to_float(uint16_t temp_voltage_value)
Definition: plat_adc.c:198
uint16_t float_voltage_transfer_to_uint16(float temp_voltage_value)
Definition: plat_adc.c:187
@ ADC_IDX_MAX
Definition: plat_adc.h:22
@ ADC_IDX_MEDHA1_2
Definition: plat_adc.h:21
@ ADC_IDX_MEDHA1_1
Definition: plat_adc.h:19
@ ADC_IDX_MEDHA0_2
Definition: plat_adc.h:20
@ ADC_IDX_MEDHA0_1
Definition: plat_adc.h:18
int ads7066_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx)
Definition: plat_adc.c:344
int ads7066_read_reg(uint8_t reg, uint8_t idx)
Definition: plat_adc.c:284
uint16_t get_adc_averge_val(uint8_t idx)
Definition: plat_adc.c:101
uint16_t get_adc_averge_times(uint8_t idx)
Definition: plat_adc.c:116
uint16_t get_adc_ucr(uint8_t idx)
Definition: plat_adc.c:130
float get_ads7066_vref()
Definition: plat_adc.c:92
void adc_set_averge_times(uint8_t idx, uint16_t time)
Definition: plat_adc.c:120
uint16_t * get_adc_buf(uint16_t idx)
Definition: plat_adc.c:106