diff options
-rw-r--r-- | drivers/mfd/ti_am335x_tscadc.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c index e0852ecbc767..cd74d594c563 100644 --- a/drivers/mfd/ti_am335x_tscadc.c +++ b/drivers/mfd/ti_am335x_tscadc.c | |||
@@ -204,13 +204,14 @@ static int ti_tscadc_probe(struct platform_device *pdev) | |||
204 | 204 | ||
205 | /* Set the control register bits */ | 205 | /* Set the control register bits */ |
206 | ctrl = CNTRLREG_STEPCONFIGWRT | | 206 | ctrl = CNTRLREG_STEPCONFIGWRT | |
207 | CNTRLREG_TSCENB | | 207 | CNTRLREG_STEPID; |
208 | CNTRLREG_STEPID | | 208 | if (tsc_wires > 0) |
209 | CNTRLREG_4WIRE; | 209 | ctrl |= CNTRLREG_4WIRE | CNTRLREG_TSCENB; |
210 | tscadc_writel(tscadc, REG_CTRL, ctrl); | 210 | tscadc_writel(tscadc, REG_CTRL, ctrl); |
211 | 211 | ||
212 | /* Set register bits for Idle Config Mode */ | 212 | /* Set register bits for Idle Config Mode */ |
213 | tscadc_idle_config(tscadc); | 213 | if (tsc_wires > 0) |
214 | tscadc_idle_config(tscadc); | ||
214 | 215 | ||
215 | /* Enable the TSC module enable bit */ | 216 | /* Enable the TSC module enable bit */ |
216 | ctrl = tscadc_readl(tscadc, REG_CTRL); | 217 | ctrl = tscadc_readl(tscadc, REG_CTRL); |
@@ -290,10 +291,13 @@ static int tscadc_resume(struct device *dev) | |||
290 | pm_runtime_get_sync(dev); | 291 | pm_runtime_get_sync(dev); |
291 | 292 | ||
292 | /* context restore */ | 293 | /* context restore */ |
293 | ctrl = CNTRLREG_STEPCONFIGWRT | CNTRLREG_TSCENB | | 294 | ctrl = CNTRLREG_STEPCONFIGWRT | CNTRLREG_STEPID; |
294 | CNTRLREG_STEPID | CNTRLREG_4WIRE; | 295 | if (tscadc_dev->tsc_cell != -1) |
296 | ctrl |= CNTRLREG_TSCENB | CNTRLREG_4WIRE; | ||
295 | tscadc_writel(tscadc_dev, REG_CTRL, ctrl); | 297 | tscadc_writel(tscadc_dev, REG_CTRL, ctrl); |
296 | tscadc_idle_config(tscadc_dev); | 298 | |
299 | if (tscadc_dev->tsc_cell != -1) | ||
300 | tscadc_idle_config(tscadc_dev); | ||
297 | am335x_tsc_se_update(tscadc_dev); | 301 | am335x_tsc_se_update(tscadc_dev); |
298 | restore = tscadc_readl(tscadc_dev, REG_CTRL); | 302 | restore = tscadc_readl(tscadc_dev, REG_CTRL); |
299 | tscadc_writel(tscadc_dev, REG_CTRL, | 303 | tscadc_writel(tscadc_dev, REG_CTRL, |