mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
The console adc command prints adc values in the order they appear in hardware, however they are lableled in the order they are enumerated in board.h, which is not necessarily the same. This prints the correct name and value pairs, and removes the adc_read_all_channels function which is not otherwise used. BUG=chromium:571476 BRANCH=None TEST="adc" command associates correct values with names now. Change-Id: I688641953d20082224b4120eaefe0d634ad4c74c Signed-off-by: Nick Sanders <nsanders@google.com> Reviewed-on: https://chromium-review.googlesource.com/340892 Commit-Ready: Nick Sanders <nsanders@chromium.org> Tested-by: Nick Sanders <nsanders@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* ADC interface for Chrome EC */
|
|
|
|
#ifndef __CROS_EC_ADC_H
|
|
#define __CROS_EC_ADC_H
|
|
|
|
#include "common.h"
|
|
|
|
#define HOOK_PRIO_INIT_ADC HOOK_PRIO_DEFAULT /* ADC priority */
|
|
|
|
#define ADC_READ_ERROR -1 /* Value returned by adc_read_channel() on error */
|
|
|
|
/*
|
|
* Boards which use the ADC interface must provide enum adc_channel in the
|
|
* board.h file. See chip/$CHIP/adc_chip.h for additional chip-specific
|
|
* requirements.
|
|
*/
|
|
|
|
/**
|
|
* Read an ADC channel.
|
|
*
|
|
* @param ch Channel to read
|
|
*
|
|
* @return The scaled ADC value, or ADC_READ_ERROR if error.
|
|
*/
|
|
int adc_read_channel(enum adc_channel ch);
|
|
|
|
/**
|
|
* Enable ADC watchdog. Note that interrupts might come in repeatedly very
|
|
* quickly when ADC output goes out of the accepted range.
|
|
*
|
|
* @param ain_id The AIN to be watched by the watchdog.
|
|
* @param high The high threshold that the watchdog would trigger
|
|
* an interrupt when exceeded.
|
|
* @param low The low threshold.
|
|
*
|
|
* @return EC_SUCCESS, or non-zero if any error.
|
|
*/
|
|
int adc_enable_watchdog(int ain_id, int high, int low);
|
|
|
|
/**
|
|
* Disable ADC watchdog.
|
|
*
|
|
* @return EC_SUCCESS, or non-zero if any error.
|
|
*/
|
|
int adc_disable_watchdog(void);
|
|
|
|
/**
|
|
* Set the delay between ADC watchdog samples. This can be used as a trade-off
|
|
* of power consumption and performance.
|
|
*
|
|
* @param delay_ms The delay in milliseconds between two ADC watchdog
|
|
* samples.
|
|
*
|
|
* @return EC_SUCCESS, or non-zero if any error or not supported.
|
|
*/
|
|
int adc_set_watchdog_delay(int delay_ms);
|
|
|
|
#endif /* __CROS_EC_ADC_H */
|