linux gpio

Jim Cromie jim.cromie at gmail.com
Sun Apr 3 03:36:33 EDT 2011


2011/3/29 Jürgen Lambrecht <J.Lambrecht at televic.com>:
> Hello,
>
> I am new to linux (coming from eCos).
> My backlight driver does not start up because the reset gpio pin is not
> correct specified.
> How does gpio work in Linux?
>

theres no single way.
the new way is in drivers/gpio/* , implemented in gpiolib.c
defined in #include <linux/gpio.h>

there are also char drivers, with which Im more familiar.
./char/nsc_gpio.c
./char/pc8736x_gpio.c
./char/scx200_gpio.c



> I have 2 platforms that use the same backlight driver, under arm, for freescale imx: imx31_3ds and imx27_3ds.
> I don't think that matters, I just need to understand the linux gpio.
>
> The imx31 platform gives the number 88 as gpio number to the backlight
> driver.
> That number comes out of 'iomux-mx3.h'.
> In 'iomux-mx27.h' the GPIO's are specified in an other way, the
> "hardware" way, specifying bank and port. I think Linux GPIO needs a
> sort of general gpio number.

The problem here is that board IDs are somewhat arbitrary,
whereas driver IDs are predictable.  Take soekris 4801 as an example;
it has gpio on the CPU-SOC (scx200_gpio), and on a peripheral chip
(pc8736x_gpio)
The board uses CPU pins for Leds (and reset button I think),
but the GPIO exposed to connector is on pc87366 chip.
The char drivers use major device numbers to select the chip & driver,
and minor numbers to select the bank/pin on the chip.
THis lets users create device files with suitable names / numbers.

> But how do I calculate that number out of the datasheet?
> In the imx31 datasheet, I cannot find that number 88 (or the other
> numbers in 'iomux-mx3.h').
>

what driver supports your boards ?
is it a new gpio driver ?


> Kind regards,
> Jürgen
>
> --
> Jürgen Lambrecht
> R&D Associate
> Tel: +32 (0)51 303045    Fax: +32 (0)51 310670
> http://www.televic-rail.com
> Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
> Company number 0825.539.581 - RPR Kortrijk
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



More information about the Kernelnewbies mailing list