summaryrefslogtreecommitdiff
path: root/chip/it83xx/dac_chip.h
diff options
context:
space:
mode:
authortim <tim2.lin@ite.corp-partner.google.com>2020-02-13 14:37:38 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-21 09:26:28 +0000
commit937af456b82fad241049f02d276ad8f66b25a2de (patch)
tree6a51ca139e49035b49f4fdd82a8d86b2bc962d46 /chip/it83xx/dac_chip.h
parentf18b94ab43c8a7fce3aee0077c09fa5608924659 (diff)
downloadchrome-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.h58
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 */
+