On 02/20/2013 12:27 PM, Anatolij Gustschin wrote: > On hardware with limited gpios one column select gpio can select > two different rows when using some additional hardware logic: > high value selects one row, low value selects another row. Add > support for such matrix keyboards and document device tree > bindings used to describe them. > > Since half of the columns is always not selected, interrupts won't be > generated for press events on these columns. To generate interrupts > for not selected columns we need to periodicaly switch to these columns > in order to catch the potential press events. This is done by additional > work function. > diff --git a/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt b/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt > +- col-gpios-binary: specify that high and low states of a column gpio > + select two different rows (boards with limited gpios > + could support this by additional hardware logic) 1 GPIO and 2 columns is essentially a special case with a 1->2 line decoder. Do the binding definition and code work fine if you have e.g. 3 GPIOs, and a 3->8 decoder in order to support 8 columns? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html