Hi all, OF device tree GPIOs bindings are similar to IRQs:
pario0: [EMAIL PROTECTED] { #gpio-cells = <2>; num-ports = <7>; }; [EMAIL PROTECTED] { gpios = <bank pin bank pin bank pin>; gpio-parent = <&pario0>; }; "bank pin" scheme is controller specific, so controllers that want to implement flat mappings or any other could do so. So far I implemented GPIO API for QE and CPM2 chips. GPIO API for CPM1 implemented by Jochen Friedrich <[EMAIL PROTECTED]>, included in this patchset. - QE GPIO API tested to work with FSL UPM NAND driver and MPC8360E-RDK (STMicro NAND512W3A2BN6E); - CPM2 GPIO API tested to work with MPC8555E+Samsung HY27UF081G6 (LP); - CPM1 GPIO API untested. GPIO API is described in Documentation/gpio.txt, and these patches are tend to support most of it. As an additional bonus, PowerPC now gets access to few pleasing drivers: - drivers/leds/leds-gpio.c (we could use it to play with on-board LEDs); - drivers/i2c/busses/i2c-gpio.c (generic I2C bit-banging driver); - drivers/input/keyboard/gpio_keys.c - gpio keys (requires gpio_to_irq, so far not implemented); - Could be more (I named the ones I knew about). Also, in the upcoming kernels, there will be GPIOLIB[1] addition to the generic GPIO API, to support off-chip GPIO expanders (like MFDs on I2C/LBC). But so far we support on-chip GPIOs only, with single controller built-in. Changes since RFC: - Implemented #gpio-cells handling; - Per-bank spinlocks removed; - Added a patch which implements GPIO API for CPM1; - Few minor fixes. Thanks, [1] http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc4/2.6.24-rc4-mm1/broken-out/generic-gpio-gpio_chip-support.patch -- Anton Vorontsov email: [EMAIL PROTECTED] backup email: [EMAIL PROTECTED] irc://irc.freenode.net/bd2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev