diff options
Diffstat (limited to 'chip/npcx/adc_chip.h')
-rw-r--r-- | chip/npcx/adc_chip.h | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/chip/npcx/adc_chip.h b/chip/npcx/adc_chip.h deleted file mode 100644 index 300447df16..0000000000 --- a/chip/npcx/adc_chip.h +++ /dev/null @@ -1,107 +0,0 @@ -/* Copyright 2014 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. - */ - -/* NPCX-specific ADC module for Chrome EC */ - -#ifndef __CROS_EC_ADC_CHIP_H -#define __CROS_EC_ADC_CHIP_H - -#include "common.h" - -/* Minimum and maximum values returned by raw ADC read. */ -#define ADC_READ_MIN 0 -#define ADC_READ_MAX 1023 -#define ADC_MAX_VOLT 2816 - -/* ADC input channel select */ -enum npcx_adc_input_channel { - NPCX_ADC_CH0 = 0, - NPCX_ADC_CH1, - NPCX_ADC_CH2, - NPCX_ADC_CH3, - NPCX_ADC_CH4, -#if NPCX_FAMILY_VERSION >= NPCX_FAMILY_NPCX7 - NPCX_ADC_CH5, - NPCX_ADC_CH6, - NPCX_ADC_CH7, - NPCX_ADC_CH8, - NPCX_ADC_CH9, -#endif -#if NPCX_FAMILY_VERSION >= NPCX_FAMILY_NPCX9 - NPCX_ADC_CH10, - NPCX_ADC_CH11, - #endif - NPCX_ADC_CH_COUNT -}; - -/* Data structure to define ADC channels. */ -struct adc_t { - const char *name; - enum npcx_adc_input_channel input_ch; - int factor_mul; - int factor_div; - int shift; -}; - -/* - * Boards may configure a ADC channel for use with thershold interrupts. - * The threshold levels may be set from 0 to ADC_MAX_VOLT inclusive. - */ -struct npcx_adc_thresh_t { - /* The ADC channel to monitor to generate threshold interrupts. */ - enum adc_channel adc_ch; - - /* Called when the interrupt fires */ - void (*adc_thresh_cb)(void); - - /* If set, threshold event is asserted when <= threshold level */ - int lower_or_higher; - - /* Desired threshold level in mV to assert. */ - int thresh_assert; -}; - -/** - * Boards should call this function to register their threshold interrupt with - * one of the threshold detectors. 'threshold_idx' is 1-based. - * - * @param threshold_idx - 1-based threshold detector index - * @param thresh_cfg - Pointer to ADC threshold interrupt configuration - */ -void npcx_adc_register_thresh_irq(int threshold_idx, - const struct npcx_adc_thresh_t *thresh_cfg); - -/** - * Configure an ADC channel for repetitive conversion. - * - * If you are using ADC threshold interrupts and the need is timing critical, - * you will want to enable this on the ADC channels you have configured for - * threshold interrupts. - * - * NOTE: Enabling this will prevent the EC from entering deep sleep and will - * increase power consumption! - * - * @param input_ch - The ADC channel you wish to configure - * @param enable - 1 to enable, 0 to disable - */ -void npcx_set_adc_repetitive(enum npcx_adc_input_channel input_ch, int enable); - -/** - * Enable/Disable ADC threshold detector interrupt. - * - * @param threshold_idx - 1-based threshold detector index - * @param enable - 1 to enable, 0 to disable - */ -void npcx_adc_thresh_int_enable(int threshold_idx, int enable); - -/** - * Return the ADC value from CHNDAT register directly when the channel is - * configured in the repetitive mode. - * - * @param input_ch channel number - * @return ADC data - */ -int adc_read_data(enum npcx_adc_input_channel input_ch); -#endif /* __CROS_EC_ADC_CHIP_H */ |