All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: "AnilKumar, Chimata" <anilkumar@ti.com>
Cc: linux-kernel <linux-input@vger.kernel.org>,
	"daniel@caiaq.de" <daniel@caiaq.de>,
	"dmitry.torokhov@gmail.com" <dmitry.torokhov@gmail.com>,
	"hjk@hansjkoch.de" <hjk@hansjkoch.de>
Subject: Re: Driver support for TI's quadrature encoder module
Date: Thu, 8 Sep 2011 07:54:07 -0700	[thread overview]
Message-ID: <20110908145407.GC5793@suse.de> (raw)
In-Reply-To: <B85A65D85D7EB246BE421B3FB0FBB593025743EEE8@dbde02.ent.ti.com>

On Thu, Sep 08, 2011 at 06:57:04PM +0530, AnilKumar, Chimata wrote:
> Hi All,
> 
> I am developing a driver for TI's enhanced Quadrature Encoder Pulse
> (eQEP) module. Details of the module at
> http://www.ti.com/lit/ug/sprufu8/sprufu8.pdf
> 
> Little description about the module:-
> 
> This module is used for direct interface with a linear or rotary
> incremental encoder.
> 
> Main features of the module:
> a. Provides the direction of the motor (clock or anti-clock)
> b. Provides position count values, which can be used to compute speed
>    of a machine (motor/generator)
> c. Generate a sync output from position compare sub-module
> d. Can be used for High & Low speed measurements
> 
> This module has 4 inputs from external rotary/linear encoder.
> a. Input A (Input from external rotary encoder, a pulse train)
> b. Input B (Input from external rotary encoder, a pulse train)
> c. Index Event (Input from external rotary encoder, a index event.
>    This can be used as output, which can be generated after
>    position compare)
> d. Strobe Event (Input from external rotary encoder, a strobe event.
>    This can be used as output, which can be generated after
>    position compare)
> 
> The module provides pre-analyzed data based on the above four input
> signals. We can use the data directly for knowing the position and
> direction details.
> 
> I have few questions related to this:-
> 
> 1. What subsystem this driver fit into? Input subsystem or UIO
> subsystem?
> 
> Why I think it may fit into UIO subsystem?
> a. Same driver is used for lot of applications like motor control,
> volume control and menu navigation. This means we have to provide
> lot of flexibility to the user in configuring the hardware to work
> for different applications.

Does it use the UIO interface to userspace?  If not, then it's not a UIO
driver.

> Why I think it may fit into Input subsystem?
> a. The module is receiving the signals from external encoder. Based
> on the signals it will generate some events, which we have to handle
> at the user space.
> b. I found some encoder drivers are already present under input
> subsystem (example drivers/input/misc/rotary-encoder.c)
> 
> But, the current rotary encoder drivers are developed for much simpler 
> hardware.
> 
> It looks like we need some additional interfaces to cater to the
> hardware capabilities. I am thinking of sysfs interfaces which
> allow user to directly configure the hardware for position control,
> position compare, input source selection, capture timer period,
> speed and direction of rotation.

That sounds like you want the IIO interface in drivers/staging/iio/
right?  That api handles all sorts of stuff like this.

greg k-h

  reply	other threads:[~2011-09-08 14:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-08 13:27 Driver support for TI's quadrature encoder module AnilKumar, Chimata
2011-09-08 14:54 ` Greg KH [this message]
2011-09-08 16:50   ` Jonathan Cameron
2011-09-09 11:39     ` Jonathan Cameron
2011-09-09 12:05       ` AnilKumar, Chimata
2011-09-09 12:27         ` Jonathan Cameron
2011-09-09 12:33           ` AnilKumar, Chimata
2011-09-08 15:18 ` Hans J. Koch

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=20110908145407.GC5793@suse.de \
    --to=gregkh@suse.de \
    --cc=anilkumar@ti.com \
    --cc=daniel@caiaq.de \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hjk@hansjkoch.de \
    --cc=linux-input@vger.kernel.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 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.