From: "Heiko Stübner" <heiko@sntech.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Chanwoo Choi <cw00.choi@samsung.com>,
jic23@kernel.org, ch.naveen@samsung.com, kgene.kim@samsung.com,
kyungmin.park@samsung.com, t.figa@samsung.com,
linux-iio@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-doc@vger.kernel.org
Subject: Re: [PATCH 2/2] iio: adc: exynos_adc: Add support for S3C24xx ADC
Date: Tue, 22 Jul 2014 12:44:28 +0200 [thread overview]
Message-ID: <175757227.TPQdXAQiJt@diego> (raw)
In-Reply-To: <5200888.DXoC06U953@wuerfel>
Am Dienstag, 22. Juli 2014, 10:39:38 schrieb Arnd Bergmann:
> On Tuesday 22 July 2014 11:11:14 Chanwoo Choi wrote:
> > This patch add support for s3c2410/s3c2416/s3c2440/s3c2443 ADC. The
> > s3c24xx
> > is alomost same as ADCv1. But, There are a little difference as following:
> > - ADCMUX register address to select channel
> > - ADCDAT mask (10bit or 12bit ADC resolution according to SoC version)
>
> Very good, thanks for doing this patch!
>
> (adding Heiko to Cc, he's probably interested in seeing this as well.
indeed. Thanks for implementing this.
While trying to build a test setup for this, I noticed two points:
(1) I'm not sure what the second register (a "phy enable register" according
to the binding) is supposed to be.
According to binding and adc code it is mandatory, but I didn't find any
lone adc register in the s3c2416 manual.
(2) You might need something along the lines of:
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index 11b048a..088c99a 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -129,7 +129,7 @@ config AT91_ADC
config EXYNOS_ADC
tristate "Exynos ADC driver support"
- depends on ARCH_EXYNOS || (OF && COMPILE_TEST)
+ depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || (OF && COMPILE_TEST)
help
Core support for the ADC block found in the Samsung EXYNOS series
of SoCs for drivers such as the touchscreen and hwmon to use to share
Thanks
Heiko
>
> One comment:
> > @@ -101,12 +107,14 @@ struct exynos_adc {
> >
> > struct completion completion;
> >
> > u32 value;
> >
> > + u32 value2;
> >
> > unsigned int version;
> >
> > };
> >
> > ...
> > @@ -365,7 +448,7 @@ static int exynos_read_raw(struct iio_dev *indio_dev,
> >
> > ret = -ETIMEDOUT;
> >
> > } else {
> >
> > *val = info->value;
> >
> > - *val2 = 0;
> > + *val2 = info->value2;
> >
> > ret = IIO_VAL_INT;
> >
> > }
> >
> > @@ -377,9 +460,11 @@ static int exynos_read_raw(struct iio_dev *indio_dev,
> >
> > static irqreturn_t exynos_adc_isr(int irq, void *dev_id)
> > {
> >
> > struct exynos_adc *info = (struct exynos_adc *)dev_id;
> >
> > + u32 mask = info->data->mask;
> >
> > /* Read value */
> >
> > - info->value = readl(ADC_V1_DATX(info->regs)) & ADC_DATX_MASK;
> > + info->value = readl(ADC_V1_DATX(info->regs)) & mask;
> > + info->value2 = readl(ADC_V1_DATY(info->regs)) & mask;
> >
> > /* clear irq */
> > if (info->data->clear_irq)
>
> If I understand it right, this would only be necessary if we want
> to do the touchscreen driver as a separate iio client using the
> in-kernel interfaces. As Jonathan Cameron commented, we probably
> don't want to do that though. Even if we do, it should be a separate
> patch and not mixed in with the s3c24xx support.
>
> Aside from this:
>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
>
> Arnd
next prev parent reply other threads:[~2014-07-22 10:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-22 2:11 [PATCH 0/2] iio: adc: exynos_adc: Add support for s3c64xx/s3c24xx ADC Chanwoo Choi
2014-07-22 2:11 ` [PATCH 1/2] iio: adc: exynos_adc: add support for s3c64xx adc Chanwoo Choi
2014-07-27 18:49 ` Hartmut Knaack
[not found] ` <53D549A2.1000900-Mmb7MZpHnFY@public.gmane.org>
2014-07-28 11:18 ` Chanwoo Choi
2014-07-22 2:11 ` [PATCH 2/2] iio: adc: exynos_adc: Add support for S3C24xx ADC Chanwoo Choi
2014-07-22 8:39 ` Arnd Bergmann
2014-07-22 10:44 ` Heiko Stübner [this message]
2014-07-28 12:08 ` Chanwoo Choi
2014-07-28 11:20 ` Chanwoo Choi
2014-07-22 12:59 ` Arnd Bergmann
2014-07-28 11:18 ` Chanwoo Choi
[not found] ` <1405995074-3271-3-git-send-email-cw00.choi-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-07-27 20:35 ` Hartmut Knaack
[not found] ` <53D562AD.4090706-Mmb7MZpHnFY@public.gmane.org>
2014-07-28 11:03 ` Chanwoo Choi
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=175757227.TPQdXAQiJt@diego \
--to=heiko@sntech.de \
--cc=arnd@arndb.de \
--cc=ch.naveen@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=t.figa@samsung.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).