On Oct 23, 2013, at 9:44 PM, thloh@xxxxxxxxxx wrote: > From: Tien Hock Loh <thloh@xxxxxxxxxx> > > Add driver support for Altera GPIO soft IP, including interrupts and I/O. > Tested on Altera CV SoC board using dipsw and LED using LED framework. > > Signed-off-by: Tien Hock Loh <thloh@xxxxxxxxxx> > --- > .../devicetree/bindings/gpio/gpio-altera.txt | 34 ++ > drivers/gpio/Kconfig | 7 + > drivers/gpio/Makefile | 1 + > drivers/gpio/gpio-altera.c | 395 +++++++++++++++++++++ > 4 files changed, 437 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/gpio-altera.txt > create mode 100644 drivers/gpio/gpio-altera.c > > diff --git a/Documentation/devicetree/bindings/gpio/gpio-altera.txt b/Documentation/devicetree/bindings/gpio/gpio-altera.txt > new file mode 100644 > index 0000000..641cec2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/gpio-altera.txt > @@ -0,0 +1,34 @@ > +Altera GPIO controller bindings > + > +Required properties: > +- compatible: > + - "altr,pio-1.0" any reason not to be "altr,gpio-1.0"? > +- reg: Physical base address and length of the controller's registers. > +- #gpio-cells : Should be 1 > + - first cell is the gpio offset number > +- gpio-controller : Marks the device node as a GPIO controller. > +- #interrupt-cells : Should be 1. > +- interrupts: Specify the interrupt. > +- interrupt-controller: Mark the device node as an interrupt controller > + The first cell is the local interrupt offset number to the GPIO controller. > + > +Altera GPIO specific properties: > +- width: Width of the GPIO bank, range from 1-32 This description isn't terrible helpful. I'm not at all sure what this means. > +- interrupt_trigger: Specifies the interrupt trigger type the GPIO hardware is > + synthesized. This field is required if the Altera GPIO controller used has > + IRQ enabled as the interrupt type is not software controlled, but hardware > + synthesized. Any vendor specific properties should be vendor prefixed: "altr,width" "altr,interrupt_trigger" I'd also recommend that "altr,width" be a bit more specific like "altr,gpio-bank-width" > + > +Example: > + > +gpio_altr: gpio_altr { > + compatible = "altr,pio-1.0"; > + reg = <0xff200000 0x10>; > + interrupts = <0 45 4>; > + width = <32>; > + interrupt_trigger = <0>; > + #gpio-cells = <1>; > + gpio-controller; > + #interrupt-cells = <1>; > + interrupt-controller; > +}; - k -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html