|
@@ -1487,18 +1487,13 @@ static const struct iio_chan_spec mx28_lradc_chan_spec[] = {
|
|
MXS_ADC_CHAN(15, IIO_VOLTAGE, "VDD5V"),
|
|
MXS_ADC_CHAN(15, IIO_VOLTAGE, "VDD5V"),
|
|
};
|
|
};
|
|
|
|
|
|
-static int mxs_lradc_hw_init(struct mxs_lradc *lradc)
|
|
|
|
|
|
+static void mxs_lradc_hw_init(struct mxs_lradc *lradc)
|
|
{
|
|
{
|
|
/* The ADC always uses DELAY CHANNEL 0. */
|
|
/* The ADC always uses DELAY CHANNEL 0. */
|
|
const u32 adc_cfg =
|
|
const u32 adc_cfg =
|
|
(1 << (LRADC_DELAY_TRIGGER_DELAYS_OFFSET + 0)) |
|
|
(1 << (LRADC_DELAY_TRIGGER_DELAYS_OFFSET + 0)) |
|
|
(LRADC_DELAY_TIMER_PER << LRADC_DELAY_DELAY_OFFSET);
|
|
(LRADC_DELAY_TIMER_PER << LRADC_DELAY_DELAY_OFFSET);
|
|
|
|
|
|
- int ret = stmp_reset_block(lradc->base);
|
|
|
|
-
|
|
|
|
- if (ret)
|
|
|
|
- return ret;
|
|
|
|
-
|
|
|
|
/* Configure DELAY CHANNEL 0 for generic ADC sampling. */
|
|
/* Configure DELAY CHANNEL 0 for generic ADC sampling. */
|
|
mxs_lradc_reg_wrt(lradc, adc_cfg, LRADC_DELAY(0));
|
|
mxs_lradc_reg_wrt(lradc, adc_cfg, LRADC_DELAY(0));
|
|
|
|
|
|
@@ -1509,8 +1504,6 @@ static int mxs_lradc_hw_init(struct mxs_lradc *lradc)
|
|
|
|
|
|
/* Start internal temperature sensing. */
|
|
/* Start internal temperature sensing. */
|
|
mxs_lradc_reg_wrt(lradc, 0, LRADC_CTRL2);
|
|
mxs_lradc_reg_wrt(lradc, 0, LRADC_CTRL2);
|
|
-
|
|
|
|
- return 0;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void mxs_lradc_hw_stop(struct mxs_lradc *lradc)
|
|
static void mxs_lradc_hw_stop(struct mxs_lradc *lradc)
|
|
@@ -1710,11 +1703,13 @@ static int mxs_lradc_probe(struct platform_device *pdev)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- /* Configure the hardware. */
|
|
|
|
- ret = mxs_lradc_hw_init(lradc);
|
|
|
|
|
|
+ ret = stmp_reset_block(lradc->base);
|
|
if (ret)
|
|
if (ret)
|
|
goto err_dev;
|
|
goto err_dev;
|
|
|
|
|
|
|
|
+ /* Configure the hardware. */
|
|
|
|
+ mxs_lradc_hw_init(lradc);
|
|
|
|
+
|
|
/* Register the touchscreen input device. */
|
|
/* Register the touchscreen input device. */
|
|
if (touch_ret == 0) {
|
|
if (touch_ret == 0) {
|
|
ret = mxs_lradc_ts_register(lradc);
|
|
ret = mxs_lradc_ts_register(lradc);
|