Lines Matching refs:info
58 static void rockchip_saradc_power_down(struct rockchip_saradc *info)
61 writel_relaxed(0, info->regs + SARADC_CTRL);
64 static int rockchip_saradc_conversion(struct rockchip_saradc *info,
67 reinit_completion(&info->completion);
70 writel_relaxed(8, info->regs + SARADC_DLY_PU_SOC);
72 info->last_chan = chan;
78 info->regs + SARADC_CTRL);
80 if (!wait_for_completion_timeout(&info->completion, SARADC_TIMEOUT))
90 struct rockchip_saradc *info = iio_priv(indio_dev);
97 ret = rockchip_saradc_conversion(info, chan);
99 rockchip_saradc_power_down(info);
104 *val = info->last_val;
108 ret = regulator_get_voltage(info->vref);
124 struct rockchip_saradc *info = dev_id;
127 info->last_val = readl_relaxed(info->regs + SARADC_DATA);
128 info->last_val &= GENMASK(info->last_chan->scan_type.realbits - 1, 0);
130 rockchip_saradc_power_down(info);
132 complete(&info->completion);
222 struct rockchip_saradc *info = data;
224 clk_disable_unprepare(info->clk);
229 struct rockchip_saradc *info = data;
231 clk_disable_unprepare(info->pclk);
236 struct rockchip_saradc *info = data;
238 regulator_disable(info->vref);
245 struct rockchip_saradc *info = iio_priv(i_dev);
262 ret = rockchip_saradc_conversion(info, chan);
264 rockchip_saradc_power_down(info);
268 data.values[j] = info->last_val;
283 struct rockchip_saradc *info = NULL;
294 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*info));
299 info = iio_priv(indio_dev);
307 info->data = match->data;
310 if (info->data->num_channels > SARADC_MAX_CHANNELS) {
316 info->regs = devm_ioremap_resource(&pdev->dev, mem);
317 if (IS_ERR(info->regs))
318 return PTR_ERR(info->regs);
324 info->reset = devm_reset_control_get_exclusive(&pdev->dev,
326 if (IS_ERR(info->reset)) {
327 ret = PTR_ERR(info->reset);
332 info->reset = NULL;
335 init_completion(&info->completion);
342 0, dev_name(&pdev->dev), info);
348 info->pclk = devm_clk_get(&pdev->dev, "apb_pclk");
349 if (IS_ERR(info->pclk)) {
351 return PTR_ERR(info->pclk);
354 info->clk = devm_clk_get(&pdev->dev, "saradc");
355 if (IS_ERR(info->clk)) {
357 return PTR_ERR(info->clk);
360 info->vref = devm_regulator_get(&pdev->dev, "vref");
361 if (IS_ERR(info->vref)) {
363 PTR_ERR(info->vref));
364 return PTR_ERR(info->vref);
367 if (info->reset)
368 rockchip_saradc_reset_controller(info->reset);
374 ret = clk_set_rate(info->clk, info->data->clk_rate);
380 ret = regulator_enable(info->vref);
386 rockchip_saradc_regulator_disable, info);
393 ret = clk_prepare_enable(info->pclk);
399 rockchip_saradc_pclk_disable, info);
406 ret = clk_prepare_enable(info->clk);
412 rockchip_saradc_clk_disable, info);
422 indio_dev->info = &rockchip_saradc_iio_info;
425 indio_dev->channels = info->data->channels;
426 indio_dev->num_channels = info->data->num_channels;
440 struct rockchip_saradc *info = iio_priv(indio_dev);
442 clk_disable_unprepare(info->clk);
443 clk_disable_unprepare(info->pclk);
444 regulator_disable(info->vref);
452 struct rockchip_saradc *info = iio_priv(indio_dev);
455 ret = regulator_enable(info->vref);
459 ret = clk_prepare_enable(info->pclk);
463 ret = clk_prepare_enable(info->clk);
465 clk_disable_unprepare(info->pclk);