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
37uint8_t get_adc_good_status(uint8_t idx);
38uint8_t get_final_ucr_status();
39void adc_poll_init();
40void plat_adc_init(void);
41void adc_set_poll_flag(uint8_t onoff);
43float adc_raw_mv_to_apms(uint16_t v, float vref);
44uint16_t get_adc_averge_val(uint8_t idx);
45void adc_set_averge_times(uint8_t idx, uint16_t time);
46uint16_t get_adc_averge_times(uint8_t idx);
47uint16_t get_adc_ucr(uint8_t idx);
48void set_adc_ucr(uint8_t idx, uint16_t ucr);
49bool get_adc_ucr_status(uint8_t idx);
50void plat_adc_rainbow_init(void);
51uint8_t get_adc_type();
52float get_ads7066_vref();
53float get_ad4058_vref();
54float get_adc_vr_pwr(uint8_t idx);
55float get_vr_vol_sum(uint8_t idx);
56uint16_t float_voltage_transfer_to_uint16(float temp_voltage_value);
57uint16_t *get_adc_buf(uint16_t idx);
58float uint16_voltage_transfer_to_float(uint16_t temp_voltage_value);
59int ads7066_read_reg(uint8_t reg, uint8_t idx, uint8_t *out_data);
60int ads7066_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx);
61int ad4058_read_reg(uint8_t reg, uint8_t idx, uint8_t *out_data);
62int ad4058_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx);
63uint16_t *get_vr_buf(uint16_t idx);
64void read_adc_info();
uint8_t idx
Definition: plat_util.c:42
uint8_t get_final_ucr_status()
Definition: plat_adc.c:82
float adc_raw_mv_to_apms(uint16_t v, float vref)
Definition: plat_adc.c:156
void set_adc_ucr(uint8_t idx, uint16_t ucr)
Definition: plat_adc.c:142
uint16_t * get_vr_buf(uint16_t idx)
Definition: plat_adc.c:119
float get_vr_vol_sum(uint8_t idx)
Definition: plat_adc.c:306
int ad4058_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx)
Definition: plat_adc.c:551
bool adc_get_poll_flag()
Definition: plat_adc.c:268
bool get_adc_ucr_status(uint8_t idx)
Definition: plat_adc.c:147
float get_ad4058_vref()
Definition: plat_adc.c:105
void read_adc_info()
Definition: plat_adc.c:279
void plat_adc_rainbow_init(void)
Definition: plat_adc.c:776
uint8_t get_adc_type()
Definition: plat_adc.c:296
@ 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, uint8_t *out_data)
Definition: plat_adc.c:490
void plat_adc_init(void)
void adc_set_poll_flag(uint8_t onoff)
Definition: plat_adc.c:272
float get_adc_vr_pwr(uint8_t idx)
Definition: plat_adc.c:301
float uint16_voltage_transfer_to_float(uint16_t temp_voltage_value)
Definition: plat_adc.c:173
int ads7066_read_reg(uint8_t reg, uint8_t idx, uint8_t *out_data)
Definition: plat_adc.c:310
uint16_t float_voltage_transfer_to_uint16(float temp_voltage_value)
Definition: plat_adc.c:162
@ 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
uint8_t get_adc_good_status(uint8_t idx)
Definition: plat_adc.c:77
int ads7066_write_reg(uint8_t reg, uint8_t write_val, uint8_t idx)
Definition: plat_adc.c:371
void adc_poll_init()
Definition: plat_adc.c:87
uint16_t get_adc_averge_val(uint8_t idx)
Definition: plat_adc.c:109
uint16_t get_adc_averge_times(uint8_t idx)
Definition: plat_adc.c:124
uint16_t get_adc_ucr(uint8_t idx)
Definition: plat_adc.c:138
float get_ads7066_vref()
Definition: plat_adc.c:100
void adc_set_averge_times(uint8_t idx, uint16_t time)
Definition: plat_adc.c:128
uint16_t * get_adc_buf(uint16_t idx)
Definition: plat_adc.c:114