From: Caesar Wang <wxt@rock-chips.com>
To: Guenter Roeck <linux@roeck-us.net>,
Jonathan Cameron <jic23@kernel.org>,
Heiko Stuebner <heiko@sntech.de>
Cc: linux-iio@vger.kernel.org, dianders@chromium.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
Caesar Wang <wxt@rock-chips.com>
Subject: Re: [PATCH] iio: adc: rockchip_saradc: Explicitly disable ADC on probe
Date: Tue, 26 Jul 2016 10:51:34 +0800 [thread overview]
Message-ID: <5796D036.1060101@rock-chips.com> (raw)
In-Reply-To: <1469475540-26855-1-git-send-email-linux@roeck-us.net>
Hi Guenter,
Thanks for fixing it.
On 2016年07月26日 03:39, Guenter Roeck wrote:
> If the ADC is read for the first time, the caller gets a timeout error,
> and the kernel log shows
>
> read channel() error: -110
>
> The ADC may be enabled on boot, and needs to be explicitly disabled
> for a read sequence to work (otherwise there is no completion interrupt).
> Disaple it explicitly in the probe function.
>
> Fixes: 44d6f2ef94f9 ("iio: adc: add driver for Rockchip saradc")
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/iio/adc/rockchip_saradc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_saradc.c
> index f9ad6c2d6821..6aa3271d86b5 100644
> --- a/drivers/iio/adc/rockchip_saradc.c
> +++ b/drivers/iio/adc/rockchip_saradc.c
> @@ -280,6 +280,9 @@ static int rockchip_saradc_probe(struct platform_device *pdev)
> goto err_pclk;
> }
>
> + /* Make sure ADC is disabled */
> + writel_relaxed(0, info->regs + SARADC_CTRL);
I think we should reset the saradc controller.
Since make sure the reset value is 0 and loader-->kernel may even cause
harm, as my experience on tsadc. (drivers/thermal/rockchip_thermal.c)
e.g.:
/**
* Reset SARADC Controller, reset all saradc registers.
*/
static void rockchip_saradc_reset_controller(struct reset_control *reset)
{
reset_control_assert(reset);
usleep_range(10, 20);
reset_control_deassert(reset);
}
..probe()
{
...
rockchip_saradc_reset_controller();
...
}
-
Caesar
> +
> platform_set_drvdata(pdev, indio_dev);
>
> indio_dev->name = dev_name(&pdev->dev);
--
caesar wang | software engineer | wxt@rock-chip.com
WARNING: multiple messages have this Message-ID (diff)
From: Caesar Wang <wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
To: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>,
Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Caesar Wang <wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
Subject: Re: [PATCH] iio: adc: rockchip_saradc: Explicitly disable ADC on probe
Date: Tue, 26 Jul 2016 10:51:34 +0800 [thread overview]
Message-ID: <5796D036.1060101@rock-chips.com> (raw)
In-Reply-To: <1469475540-26855-1-git-send-email-linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
Hi Guenter,
Thanks for fixing it.
On 2016年07月26日 03:39, Guenter Roeck wrote:
> If the ADC is read for the first time, the caller gets a timeout error,
> and the kernel log shows
>
> read channel() error: -110
>
> The ADC may be enabled on boot, and needs to be explicitly disabled
> for a read sequence to work (otherwise there is no completion interrupt).
> Disaple it explicitly in the probe function.
>
> Fixes: 44d6f2ef94f9 ("iio: adc: add driver for Rockchip saradc")
> Signed-off-by: Guenter Roeck <linux-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org>
> ---
> drivers/iio/adc/rockchip_saradc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_saradc.c
> index f9ad6c2d6821..6aa3271d86b5 100644
> --- a/drivers/iio/adc/rockchip_saradc.c
> +++ b/drivers/iio/adc/rockchip_saradc.c
> @@ -280,6 +280,9 @@ static int rockchip_saradc_probe(struct platform_device *pdev)
> goto err_pclk;
> }
>
> + /* Make sure ADC is disabled */
> + writel_relaxed(0, info->regs + SARADC_CTRL);
I think we should reset the saradc controller.
Since make sure the reset value is 0 and loader-->kernel may even cause
harm, as my experience on tsadc. (drivers/thermal/rockchip_thermal.c)
e.g.:
/**
* Reset SARADC Controller, reset all saradc registers.
*/
static void rockchip_saradc_reset_controller(struct reset_control *reset)
{
reset_control_assert(reset);
usleep_range(10, 20);
reset_control_deassert(reset);
}
..probe()
{
...
rockchip_saradc_reset_controller();
...
}
-
Caesar
> +
> platform_set_drvdata(pdev, indio_dev);
>
> indio_dev->name = dev_name(&pdev->dev);
--
caesar wang | software engineer | wxt-TNX95d0MmH73oGB3hsPCZA@public.gmane.org
next prev parent reply other threads:[~2016-07-26 2:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-25 19:39 [PATCH] iio: adc: rockchip_saradc: Explicitly disable ADC on probe Guenter Roeck
2016-07-25 19:39 ` Guenter Roeck
2016-07-25 19:41 ` Heiko Stübner
2016-07-25 19:41 ` Heiko Stübner
2016-07-26 2:51 ` Caesar Wang [this message]
2016-07-26 2:51 ` Caesar Wang
2016-07-26 3:22 ` Guenter Roeck
2016-07-26 3:22 ` Guenter Roeck
2016-07-26 6:48 ` Caesar Wang
2016-08-15 18:04 ` Jonathan Cameron
2016-08-15 18:04 ` Jonathan Cameron
2016-08-15 19:52 ` Guenter Roeck
2016-08-15 19:52 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5796D036.1060101@rock-chips.com \
--to=wxt@rock-chips.com \
--cc=dianders@chromium.org \
--cc=heiko@sntech.de \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux@roeck-us.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.