jim.cromie at gmail.com
Sun Apr 3 03:36:33 EDT 2011
2011/3/29 Jürgen Lambrecht <J.Lambrecht at televic.com>:
> 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.
> 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
> 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
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 Lambrecht
> R&D Associate
> Tel: +32 (0)51 303045 Fax: +32 (0)51 310670
> Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
> Company number 0825.539.581 - RPR Kortrijk
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
More information about the Kernelnewbies