aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/ti_am335x_tscadc.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-15 19:37:40 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-15 19:37:40 -0500
commitdb0b2d01163cc3050eb52a979541e0d16553be48 (patch)
tree2a4370fc568e444c98913100b2a520035cc99930 /include/linux/mfd/ti_am335x_tscadc.h
parent16cd9d1c0f149ee0c8073de037e7c57886234aa0 (diff)
parent90b128ed1557c2f523995a379a53e5105891ecf8 (diff)
Merge tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next
Pull MFD updates from Samuel Ortiz: "For the 3.13 merge window we have a couple of new drivers for the AMS AS3722 PMIC and for STMicroelectronics STw481x PMIC. Although this is a smaller update than usual, we also have: - Device tree support for the max77693 driver - linux/of.h inclusion for all DT compatible MFD drivers, to avoid build breakage in the future - Support for Intel Wildcat Point-LP PCH through the lpc_ich driver - A small arizona update for new wm5110 DSP registers and a few fixes - A small palmas update as well, including an of_device table addition and a few minor fixes - Two small mfd-core changes, one including a memory leak fix for when mfd_add_device() fails - Our usual round of minor cleanups and janitorial fixes" * tag 'mfd-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (63 commits) Documentation: mfd: Update s2mps11.txt mfd: pm8921: Potential NULL dereference in pm8921_remove() mfd: Fix memory leak in mfd_add_devices() mfd: Stop setting refcounting pointers in original mfd_cell arrays mfd: wm5110: Enable micd clamp functionality mfd: lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH mfd: max77693: Fix up bug of wrong interrupt number mfd: as3722: Don't export the regmap config mfd: twl6040: Remove obsolete cleanup for i2c clientdata mfd: tps65910: Remove warning during dt node parsing mfd: lpc_sch: Ignore resource conflicts when adding mfd cells mfd: ti_am335x_tscadc: Avoid possible deadlock of reg_lock mfd: syscon: Return -ENOSYS if CONFIG_MFD_SYSCON is not enabled mfd: Add support for ams AS3722 PMIC mfd: max77693: Include linux/of.h header mfd: tc3589x: Detect the precise version mfd: omap-usb: prepare/unprepare clock while enable/disable mfd: max77686: Include linux/of.h header mfd: max8907: Include linux/of.h header mfd: max8997: Include linux/of.h header ...
Diffstat (limited to 'include/linux/mfd/ti_am335x_tscadc.h')
-rw-r--r--include/linux/mfd/ti_am335x_tscadc.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index 08cce7f96ab9..d498d98f0c2c 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -134,13 +134,18 @@
134#define FIFO1_THRESHOLD 19 134#define FIFO1_THRESHOLD 19
135 135
136/* 136/*
137* ADC runs at 3MHz, and it takes 137 * time in us for processing a single channel, calculated as follows:
138* 15 cycles to latch one data output. 138 *
139* Hence the idle time for ADC to 139 * num cycles = open delay + (sample delay + conv time) * averaging
140* process one sample data would be 140 *
141* around 5 micro seconds. 141 * num cycles: 152 + (1 + 13) * 16 = 376
142*/ 142 *
143#define IDLE_TIMEOUT 5 /* microsec */ 143 * clock frequency: 26MHz / 8 = 3.25MHz
144 * clock period: 1 / 3.25MHz = 308ns
145 *
146 * processing time: 376 * 308ns = 116us
147 */
148#define IDLE_TIMEOUT 116 /* microsec */
144 149
145#define TSCADC_CELLS 2 150#define TSCADC_CELLS 2
146 151
@@ -155,6 +160,7 @@ struct ti_tscadc_dev {
155 struct mfd_cell cells[TSCADC_CELLS]; 160 struct mfd_cell cells[TSCADC_CELLS];
156 u32 reg_se_cache; 161 u32 reg_se_cache;
157 spinlock_t reg_lock; 162 spinlock_t reg_lock;
163 unsigned int clk_div;
158 164
159 /* tsc device */ 165 /* tsc device */
160 struct titsc *tsc; 166 struct titsc *tsc;