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