diff options
author | tim <tim2.lin@ite.corp-partner.google.com> | 2020-02-13 14:37:38 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-21 09:26:28 +0000 |
commit | 937af456b82fad241049f02d276ad8f66b25a2de (patch) | |
tree | 6a51ca139e49035b49f4fdd82a8d86b2bc962d46 /chip/it83xx/dac_chip.h | |
parent | f18b94ab43c8a7fce3aee0077c09fa5608924659 (diff) | |
download | chrome-ec-937af456b82fad241049f02d276ad8f66b25a2de.tar.gz |
it83xx/dac: add DAC module
The DAC module has four channels. We can
set output voltage when DAC channel is
enabled by this driver.
BUG=b:149094279
BRANCH=none
TEST=The console command #dac set as follows:
read: dac [ch]
write: dac [ch] [voltage]
[ch]:2-5, [voltage]:0(disable)-3300
Change-Id: I8e815cb5bc749467581d5f771fd6f9e0995fca3b
Signed-off-by: tim <tim2.lin@ite.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2046685
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'chip/it83xx/dac_chip.h')
-rw-r--r-- | chip/it83xx/dac_chip.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/chip/it83xx/dac_chip.h b/chip/it83xx/dac_chip.h new file mode 100644 index 0000000000..fa50769c85 --- /dev/null +++ b/chip/it83xx/dac_chip.h @@ -0,0 +1,58 @@ +/* Copyright 2020 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. + */ + +/* IT83xx DAC module for Chrome EC */ + +#ifndef __CROS_EC_DAC_CHIP_H +#define __CROS_EC_DAC_CHIP_H + +#define DAC_AVCC 3300 +/* + * Each channel generates an output ranging + * from 0V to AVCC with 8-bit resolution. + */ +#define DAC_RAW_DATA (BIT(8) - 1) + +/* List of DAC channels. */ +enum chip_dac_channel { + CHIP_DAC_CH2 = 2, + CHIP_DAC_CH3, + CHIP_DAC_CH4, + CHIP_DAC_CH5, +}; + +/** + * DAC module enable. + * + * @param ch Channel to enable. + */ +void dac_enable_channel(enum chip_dac_channel ch); + +/** + * DAC module disable. + * + * @param ch Channel to disable. + */ +void dac_disable_channel(enum chip_dac_channel ch); + +/** + * Set DAC output voltage. + * + * @param ch Channel to set. + * @param mv Setting ch output voltage. + */ +void dac_set_output_voltage(enum chip_dac_channel ch, int mv); + +/** + * Get DAC output voltage. + * + * @param ch Channel to get. + * + * @return Getting ch output voltage. + */ +int dac_get_output_voltage(enum chip_dac_channel ch); + +#endif /* __CROS_EC_DAC_CHIP_H */ + |