From: jic23@cam.ac.uk (Jonathan Cameron)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver.
Date: Thu, 20 Oct 2011 09:33:29 +0100 [thread overview]
Message-ID: <4E9FDCD9.7030202@cam.ac.uk> (raw)
In-Reply-To: <20111020090532.7df7af70@skate>
Bringing in Mark and Linus as others who have been active in talking about
similar issues.
> Hello,
>
> Le Wed, 19 Oct 2011 20:23:50 +0200,
> Maxime Ripard <maxime.ripard@free-electrons.com> a ?crit :
>
>> On 19/10/2011 18:42, Jonathan Cameron wrote:
>>> Afraid I'm out of time for today, but just thought I'd ask one quick question...
>>>
>>> Why isn't this touchscreen ADC in input?
>>
>> Because what I say in the Kconfig is mostly wrong... Sorry about that.
>>
>> Actually, like I was saying, this ADC is present in a lot of AT91 SoC,
>> and while it is always an ADC, sometimes (like on the G45), it can be
>> used as a touchscreen controller, or even as both, with channels for the
>> touchscreen and channels as ADC. On the G20 however, it is just an ADC.
>>
>> For now, the plan is only to support the ADC mode, so I put it in adc.
>
> Just to expand a bit on this: there is already in the kernel an input
> driver for the AT91 touchscreen which uses some ADC channels (that have
> additional touchscreen-related features: on the G45, you have 8 ADCs
> channels, 4 can optionally be used for touchscreen, the 4 other are
> just raw ADCs).
>
> The ultimate goal is of course to make it possible to use both the IIO
> AT91 ADC driver and the AT91 touchscreen driver work simultaneously
> (with of course non-conflicting ADC channels usage). However, as shown
> by recent discussions on this list, it is not yet entirely clearly how
> this should be done:
>
> * Should we have some low-level ADC driver in arch/arm/mach-at91/ that
> allows to request/release/access the ADC channels, this driver
> providing an internal kernel API used by the IIO ADC driver and the
> touchscreen driver ?
That's definitely not going to go down well against moves to move everything
that looks like a driver out of the arch directories. An equivalent somewhere
else might work though.
>
> sysfs access /dev/input/...
> to ADC channels access to touchscreen
> || ||
> \/ \/
> +------------------+ +------------------+
> | AT91 IIO | | AT91 touchscreen |
> +------------------+ +------------------+
> | |
> \_______________________________/
> |
> +---------------------+
> | Some low-level ADC |
> | code to request, |
> | release and access |
> | ADC channels |
> +---------------------+
>
> * Should IIO provide some internal kernel API (as you suggested some
> time ago) so that kernel drivers can use ADC channels ?
>
>
> +-------------------+
> | AT91 touchscreen | -> /dev/input/... access to touchscreen
> +-------------------+
> ||
> \/
> +-------------------+
> | AT91 IIO | -> sysfs access to ADC channels
> +-------------------+
>
> Regards,
>
> Thomas
Agreed. This is currently up in the air. The current state of those IIO
hooks is that they do pull only. Push based capture is tricky as for IIO
we want to control the triggering of the push at a far finer scale than
makes sense for input. I'm not yet clear how these two will play together.
If we sit something underneath the IIO and input drivers (or use the lower
portions of IIO to do this) then the intent would be to have a fully generic
input touchscreen driver on top. I'm not sure that's possible. For
example are the switches on the G45's adc (from datasheet) something that
all/many similar touch screen controllers have?
I suppose we could support these in the chan_spec but only if it helps
us to write a generic touch screen driver on top. I have no real
feeling for whether this would be possible...
(all my boards are headless ;)
Jonathan
next prev parent reply other threads:[~2011-10-20 8:33 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-19 16:18 [PATCH] AT91: Add a driver for the ADC Maxime Ripard
2011-10-19 16:18 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-10-19 16:18 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-10-19 16:42 ` Jonathan Cameron
2011-10-19 18:23 ` Maxime Ripard
2011-10-20 7:05 ` Thomas Petazzoni
2011-10-20 8:33 ` Jonathan Cameron [this message]
2011-10-20 8:49 ` Thomas Petazzoni
2011-10-20 9:19 ` Jonathan Cameron
2011-10-20 9:52 ` Mark Brown
2011-10-20 7:09 ` Lars-Peter Clausen
2011-10-21 17:54 ` Maxime Ripard
2011-10-21 17:55 ` Lars-Peter Clausen
2011-10-23 9:08 ` Jean-Christophe PLAGNIOL-VILLARD
2011-10-24 8:21 ` Maxime Ripard
2011-10-19 16:18 ` [PATCH 3/3] ARM: AT91: Add the ADC to the sam9g20ek board Maxime Ripard
2011-10-20 6:28 ` Alexander Stein
2011-10-21 17:47 ` Maxime Ripard
2011-10-20 7:14 ` Thomas Petazzoni
2011-11-03 10:11 ` [PATCHv2] AT91: Add a driver for the ADC Maxime Ripard
2011-11-03 10:11 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-03 11:27 ` Linus Walleij
2011-11-03 16:27 ` Maxime Ripard
2011-11-03 16:38 ` Linus Walleij
2011-11-03 18:05 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-04 10:27 ` Jonathan Cameron
2011-11-04 10:36 ` Jonathan Cameron
2011-11-04 10:34 ` Jonathan Cameron
2011-11-04 15:22 ` Maxime Ripard
2011-11-04 16:28 ` Jonathan Cameron
2011-11-03 10:11 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-04 10:27 ` Jonathan Cameron
2011-11-04 16:29 ` Maxime Ripard
2011-11-04 16:40 ` Jonathan Cameron
2011-11-03 10:11 ` [PATCH 3/3] ARM: AT91: Add the ADC to the sam9g20ek board Maxime Ripard
2011-11-04 10:33 ` Jonathan Cameron
2011-11-04 11:25 ` Maxime Ripard
2011-11-04 15:52 ` Linus Walleij
2011-11-04 16:32 ` Jonathan Cameron
2011-11-07 16:08 ` [PATCHv3] AT91: Add a driver for the ADC Maxime Ripard
2011-11-07 16:08 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-07 16:27 ` Jonathan Cameron
2011-11-08 13:19 ` Thomas Petazzoni
2011-11-07 16:08 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-08 13:30 ` Thomas Petazzoni
2011-11-07 16:08 ` [PATCH 3/3] ARM: AT91: Add the ADC to the sam9g20ek board Maxime Ripard
2011-11-09 10:19 ` [PATCHv4] AT91: Add a driver for the ADC Maxime Ripard
2011-11-09 10:19 ` [PATCH 1/3] ARM: AT91: Add platform data for the ADCs Maxime Ripard
2011-11-09 10:19 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-10 17:35 ` Jonathan Cameron
2011-11-11 12:34 ` Jonathan Cameron
2011-11-14 9:59 ` Maxime Ripard
2011-11-14 9:06 ` Maxime Ripard
2011-11-09 10:19 ` [PATCH 3/3] ARM: AT91: Add the ADC to the sam9g20ek board Maxime Ripard
2011-11-10 17:37 ` Jonathan Cameron
-- strict thread matches above, loose matches on Subject: below --
2011-11-14 10:06 [PATCHv5] AT91: Add a driver for the ADC Maxime Ripard
2011-11-14 10:06 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-14 11:30 ` Nicolas Ferre
2011-11-14 11:37 ` Marek Vasut
2011-11-14 14:23 ` Maxime Ripard
2011-11-14 17:30 [PATCH v6] AT91: Add a driver for the ADC Maxime Ripard
2011-11-14 17:30 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-14 21:32 ` Jonathan Cameron
2011-11-15 10:23 ` Maxime Ripard
2011-11-15 10:54 [PATCH v7] AT91: Add a driver for the ADC Maxime Ripard
2011-11-15 10:54 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-16 15:39 ` Maxime Ripard
2011-11-18 10:12 [PATCH v8] AT91: Add a driver for the ADC Maxime Ripard
2011-11-18 10:12 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-24 11:27 [PATCH v9] AT91: Add a driver for the ADC Maxime Ripard
2011-11-24 11:27 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-24 14:28 ` Jean-Christophe PLAGNIOL-VILLARD
2011-11-30 9:14 [PATCH v11] AT91: Add a driver for the ADC Maxime Ripard
2011-11-30 9:15 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-11-30 17:40 ` Arnd Bergmann
2011-12-02 13:17 [PATCH v12] AT91: Add a driver for the ADC Maxime Ripard
2011-12-02 13:17 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2011-12-14 10:01 [PATCH v13] AT91: Add a driver for the ADC Maxime Ripard
2011-12-14 10:01 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2012-01-16 21:36 [PATCH RESEND v13] AT91: Add a driver for the ADC Maxime Ripard
2012-01-16 21:36 ` [PATCH 2/3] ARM: AT91: IIO: Add AT91 ADC driver Maxime Ripard
2012-01-17 17:35 ` Arnd Bergmann
2012-01-17 19:08 ` Maxime Ripard
2012-01-18 10:27 ` Nicolas Ferre
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=4E9FDCD9.7030202@cam.ac.uk \
--to=jic23@cam.ac.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/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).