linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joan Pau Beltran <joanpau.beltran-i5CWTa81U/w@public.gmane.org>
To: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: pca953x GPIO
Date: Fri, 24 Dec 2010 17:15:49 +0100	[thread overview]
Message-ID: <4D14C735.8@uib.cat> (raw)

Thank you very much Jean and Giampolo.

After reading again the kernel GPIO Documentation, I have some doubts 
that I would like to resolve and any word about them would be 
apreciated. Please excuse me if the following questions seem too obvious 
or are wrong formulated. I am very new to I2C and GPIO and can not get 
much more information from the results of my searches.

 From Jean's words and the following citation in the GPIO Documentation

> 523    Board Support
> 524    -------------
> 525    For external GPIO controllers -- such as I2C or SPI expanders, 
> ASICs, multi
> 526    function devices, FPGAs or CPLDs -- most often board-specific 
> code handles
> 527    registering controller devices and ensures that their drivers 
> know what GPIO
> 528    numbers to use with gpiochip_add().  Their numbers often start 
> right after
> 529    platform-specific GPIOs.
> 530
> 531    For example, board setup code could create structures 
> identifying the range
> 532    of GPIOs that chip will expose, and passes them to each GPIO 
> expander chip
> 533    using platform_data.  Then the chip driver's probe() routine 
> could pass that
> 534    data to gpiochip_add().


This platform-specific code is what Jean refers to, and must be compiled 
into the kernel.
If this is right, do we need to recompile the whole kernel with the new 
code for your board, or we can compile only the code for a particular 
board and load it as a module? And then, how can we access to the GPIO 
pins from a userspace program?

In several pages I have read three different modules are mentioned, 
namely pca953x, i2c-dev and i2c-gpio. Could anybody clarify what is the 
exact function of each of these modules, please?

Does the pca953x just use the previous platform code and the general 
GPIO support kernel facilities to expose the GPIO chip in the user space 
under /sys/class/gpio ?

Does the i2c-dev module give an alternative way to access to a generic 
i2c device via i2cget? If this is true, how can we access the GPIO pins 
from a program in that case?

What does the i2c-gpio module do?

Thanks everyone in advance.

             reply	other threads:[~2010-12-24 16:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-24 16:15 Joan Pau Beltran [this message]
     [not found] ` <4D14C735.8-i5CWTa81U/w@public.gmane.org>
2011-01-06 16:19   ` pca953x GPIO Jean Delvare
  -- strict thread matches above, loose matches on Subject: below --
2010-12-17 17:21 Joan Pau Beltran
     [not found] ` <4D0B9C35.5000802-i5CWTa81U/w@public.gmane.org>
2010-12-17 18:23   ` Jean Delvare
     [not found] ` <AANLkTi=LQ56S43=BL8tdo=MakP-PRzVK0ieJM07y_O_1@mail.gmail.com>
     [not found]   ` <AANLkTi=LQ56S43=BL8tdo=MakP-PRzVK0ieJM07y_O_1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-24 16:14     ` Joan Pau Beltran
     [not found]       ` <AANLkTinSuVYAVQqPHRtrnTPrtEZA1aCHOb6X4H8u2OW1@mail.gmail.com>
     [not found]         ` <AANLkTinSuVYAVQqPHRtrnTPrtEZA1aCHOb6X4H8u2OW1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-28 16:04           ` Joan Pau Beltran
     [not found]             ` <4D1A0A95.7020408-i5CWTa81U/w@public.gmane.org>
2011-01-06 15:22               ` Jean Delvare
     [not found]             ` <20110106162213.4e5ee5b4@endymion.del vare>
     [not found]               ` <20110106162213.4e5ee5b4-R0o5gVi9kd4wFzbXFV0ICA@public.gmane.org vare>
2011-01-07 17:34                 ` Joan Pau Beltran
     [not found]                   ` <4D274E8B.8050600-i5CWTa81U/w@public.gmane.org>
2011-12-21 17:02                     ` Joan Pau Beltran
2010-06-23 12:02 Giampaolo Bellini
     [not found] ` <AANLkTik5ICmrrsX0m9qzPr7TzF44HKIr5FMC4eKeGkzZ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-24  9:49   ` Jean Delvare
     [not found]     ` <20100624114937.23bb3efc-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2010-06-24 17:49       ` Giampaolo Bellini
     [not found]         ` <AANLkTikhwn0l3nK-a-4TfP-mHcJxwvw7bxe2mKyya61A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-24 19:01           ` Jean Delvare

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=4D14C735.8@uib.cat \
    --to=joanpau.beltran-i5cwta81u/w@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.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).