1*c66ec88fSEmmanuel VadotNXP LPC32xx Key Scan Interface 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThis binding is based on the matrix-keymap binding with the following 4*c66ec88fSEmmanuel Vadotchanges: 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired Properties: 7*c66ec88fSEmmanuel Vadot- compatible: Should be "nxp,lpc3220-key" 8*c66ec88fSEmmanuel Vadot- reg: Physical base address of the controller and length of memory mapped 9*c66ec88fSEmmanuel Vadot region. 10*c66ec88fSEmmanuel Vadot- interrupts: The interrupt number to the cpu. 11*c66ec88fSEmmanuel Vadot- clocks: phandle to clock controller plus clock-specifier pair 12*c66ec88fSEmmanuel Vadot- nxp,debounce-delay-ms: Debounce delay in ms 13*c66ec88fSEmmanuel Vadot- nxp,scan-delay-ms: Repeated scan period in ms 14*c66ec88fSEmmanuel Vadot- linux,keymap: the key-code to be reported when the key is pressed 15*c66ec88fSEmmanuel Vadot and released, see also 16*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/input/matrix-keymap.txt 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotNote: keypad,num-rows and keypad,num-columns are required, and must be equal 19*c66ec88fSEmmanuel Vadotsince LPC32xx only supports square matrices 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel VadotExample: 22*c66ec88fSEmmanuel Vadot 23*c66ec88fSEmmanuel Vadot key@40050000 { 24*c66ec88fSEmmanuel Vadot compatible = "nxp,lpc3220-key"; 25*c66ec88fSEmmanuel Vadot reg = <0x40050000 0x1000>; 26*c66ec88fSEmmanuel Vadot clocks = <&clk LPC32XX_CLK_KEY>; 27*c66ec88fSEmmanuel Vadot interrupt-parent = <&sic1>; 28*c66ec88fSEmmanuel Vadot interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 29*c66ec88fSEmmanuel Vadot keypad,num-rows = <1>; 30*c66ec88fSEmmanuel Vadot keypad,num-columns = <1>; 31*c66ec88fSEmmanuel Vadot nxp,debounce-delay-ms = <3>; 32*c66ec88fSEmmanuel Vadot nxp,scan-delay-ms = <34>; 33*c66ec88fSEmmanuel Vadot linux,keymap = <0x00000002>; 34*c66ec88fSEmmanuel Vadot }; 35