On Thu, Oct 24, 2013 at 12:46 PM, Kumar Gala <galak@xxxxxxxxxxxxxx> wrote: > > 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"? The compatible field was following the name of the component generated by the verilog generator, thus pio-1.0 instead of gpio-1.0. Does it need to be gpio? > >> +- 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. > The number of pins of the GPIO bank, I'll update the document >> +- 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" OK, will do in patch v4. Thanks for the advice. > >> + >> +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