/* * Copyright 2023 Google LLC * * SPDX-License-Identifier: Apache-2.0 */ &gpio0 { ngpios = <12>; }; / { kbd_matrix_interrupt: kbd-matrix-interrupt { compatible = "gpio-kbd-matrix"; row-gpios = <&gpio0 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>, <&gpio0 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; col-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>, <&gpio0 3 GPIO_ACTIVE_LOW>; debounce-down-ms = <80>; debounce-up-ms = <40>; poll-timeout-ms = <500>; }; kbd_matrix_poll: kbd-matrix-poll { compatible = "gpio-kbd-matrix"; row-gpios = <&gpio0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>, <&gpio0 5 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; col-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>, <&gpio0 7 GPIO_ACTIVE_LOW>; debounce-down-ms = <40>; debounce-up-ms = <80>; poll-timeout-ms = <500>; idle-mode = "poll"; col-drive-inactive; }; kbd_matrix_scan: kbd-matrix-scan { compatible = "gpio-kbd-matrix"; /* pins out of sequence to test non direct read */ row-gpios = <&gpio0 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>, <&gpio0 8 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; col-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>, <&gpio0 10 GPIO_ACTIVE_LOW>; debounce-down-ms = <80>; debounce-up-ms = <40>; poll-timeout-ms = <0>; col-drive-inactive; idle-mode = "scan"; }; };