ODROID: arm64/dts: overlay: Add keymatrix exmaple.

- this Exampel support keyboard matrix driver.
  Added 4 by 4 gpio, and 11 key map.

Signed-off-by: Luke Go <sangch.go@gmail.com>
Change-Id: If7d0c801756885c28f316d56a797425b1a8385b4
This commit is contained in:
Luke Go
2022-08-25 11:31:01 +09:00
parent 7cfa86f4fd
commit 2c99989c75
4 changed files with 137 additions and 37 deletions

View File

@@ -1,31 +1,33 @@
# Overlays for the Odroid platform
dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += spi0.dtbo \
dtbo-$(CONFIG_ARCH_MESON64_ODROIDC4) += \
ads7846.dtbo \
can0.dtbo \
display_vu7c.dtbo \
esp8089.dtbo \
fanspeed-full.dtbo \
gpio_shortcut.dtbo \
hktft32.dtbo \
hktft35.dtbo \
i2c0.dtbo \
i2c1.dtbo \
keymatrix.dtbo \
onewire.dtbo \
otg_host_mode.dtbo \
pcf8563.dtbo \
pwm_a-pwmfan.dtbo \
pwm_ab.dtbo \
pwm_backlight.dtbo \
pwm_cd.dtbo \
pwm_ef.dtbo \
sdio.dtbo \
spi0.dtbo \
sx865x-i2c1.dtbo \
uart0.dtbo \
uart1.dtbo \
uart2.dtbo \
uart3.dtbo \
hktft32.dtbo \
hktft35.dtbo \
ads7846.dtbo \
sx865x-i2c1.dtbo \
pcf8563.dtbo \
onewire.dtbo \
can0.dtbo \
pwm_ab.dtbo \
pwm_cd.dtbo \
pwm_ef.dtbo \
pwm_a-pwmfan.dtbo \
pwm_backlight.dtbo \
wifi_bt_combo.dtbo \
sdio.dtbo \
gpio_shortcut.dtbo \
esp8089.dtbo \
fanspeed-full.dtbo \
otg_host_mode.dtbo \
display_vu7c.dtbo
wifi_bt_combo.dtbo
targets += $(dtbo-y)
always := $(dtbo-y)

View File

@@ -0,0 +1,48 @@
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/meson-g12a-gpio.h>
#include <dt-bindings/gpio/gpio.h>
/{
fragment@0 {
target-path = "/";
__overlay__ {
matrix_keypad: matrix-keypad {
compatible = "gpio-matrix-keypad";
col-gpios = <
&gpio GPIOX_4 GPIO_ACTIVE_HIGH
&gpio GPIOX_0 GPIO_ACTIVE_HIGH
&gpio GPIOX_1 GPIO_ACTIVE_HIGH
&gpio GPIOX_2 GPIO_ACTIVE_HIGH
>;
row-gpios = <
&gpio GPIOX_14 GPIO_ACTIVE_HIGH
&gpio GPIOX_15 GPIO_ACTIVE_HIGH
&gpio GPIOH_7 GPIO_ACTIVE_HIGH
&gpio GPIOH_5 GPIO_ACTIVE_HIGH
>;
/* sample keymap */
linux,keymap = <
0x00000074 /* row 0, col 0, KEY_POWER */
0x00010052 /* row 0, col 1, KEY_KP0 */
0x0002004f /* row 0, col 2, KEY_KP1 */
0x00030050 /* row 0, col 3, KEY_KP2 */
0x01000051 /* row 1, col 0, KEY_KP3 */
0x0101004b /* row 1, col 1, KEY_KP4 */
0x0102004c /* row 1, col 2, KEY_KP5 */
0x0103004d /* row 1, col 3, KEY_KP6 */
0x02000047 /* row 2, col 0, KEY_KP7 */
0x02010048 /* row 2, col 1, KEY_KP8 */
0x02020049 /* row 2, col 2, KEY_KP9 */
>;
gpio-activelow;
debounce-delay-ms = <100>;
col-scan-delay-us = <500>;
col-switch-delay-ms = <20>;
linux,no-autorepeat;
};
};
};
};

View File

@@ -1,31 +1,33 @@
# Overlays for the Odroid platform
dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += spi0.dtbo \
i2c0.dtbo \
i2c1.dtbo \
uart0.dtbo \
uart1.dtbo \
dtbo-$(CONFIG_ARCH_MESON64_ODROIDN2) += \
ads7846.dtbo \
can0.dtbo \
codec_mm_cma.dtbo \
display_vu7c.dtbo \
fanspeed-full.dtbo \
gpio_shortcut.dtbo \
gpio_spdif.dtbo \
hktft32.dtbo \
hktft35.dtbo \
ads7846.dtbo \
sx865x-i2c1.dtbo \
saradc.dtbo \
i2c0.dtbo \
i2c1.dtbo \
irblaster.dtbo \
keymatrix.dtbo \
odroidn2-opp.dtbo \
odroidn2_plus-opp.dtbo \
onewire.dtbo \
can0.dtbo \
fanspeed-full.dtbo \
otg_host_mode.dtbo \
pwm_backlight.dtbo \
pwm_c-pwmfan.dtbo \
pwm_cd.dtbo \
pwm_ef.dtbo \
pwm_c-pwmfan.dtbo \
pwm_backlight.dtbo \
gpio_spdif.dtbo \
saradc.dtbo \
sdio.dtbo \
gpio_shortcut.dtbo \
codec_mm_cma.dtbo \
otg_host_mode.dtbo \
display_vu7c.dtbo
spi0.dtbo \
sx865x-i2c1.dtbo \
uart0.dtbo \
uart1.dtbo
targets += $(dtbo-y)
always := $(dtbo-y)

View File

@@ -0,0 +1,48 @@
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/meson-g12a-gpio.h>
#include <dt-bindings/gpio/gpio.h>
/{
fragment@0 {
target-path = "/";
__overlay__ {
matrix_keypad: matrix-keypad {
compatible = "gpio-matrix-keypad";
col-gpios = <
&gpio GPIOA_13 GPIO_ACTIVE_HIGH
&gpio GPIOX_3 GPIO_ACTIVE_HIGH
&gpio GPIOX_4 GPIO_ACTIVE_HIGH
&gpio GPIOX_0 GPIO_ACTIVE_HIGH
>;
row-gpios = <
&gpio GPIOX_1 GPIO_ACTIVE_HIGH
&gpio GPIOX_2 GPIO_ACTIVE_HIGH
&gpio GPIOX_14 GPIO_ACTIVE_HIGH
&gpio GPIOX_15 GPIO_ACTIVE_HIGH
>;
/* sample keymap */
linux,keymap = <
0x00000074 /* row 0, col 0, KEY_POWER */
0x00010052 /* row 0, col 1, KEY_KP0 */
0x0002004f /* row 0, col 2, KEY_KP1 */
0x00030050 /* row 0, col 3, KEY_KP2 */
0x01000051 /* row 1, col 0, KEY_KP3 */
0x0101004b /* row 1, col 1, KEY_KP4 */
0x0102004c /* row 1, col 2, KEY_KP5 */
0x0103004d /* row 1, col 3, KEY_KP6 */
0x02000047 /* row 2, col 0, KEY_KP7 */
0x02010048 /* row 2, col 1, KEY_KP8 */
0x02020049 /* row 2, col 2, KEY_KP9 */
>;
gpio-activelow;
debounce-delay-ms = <100>;
col-scan-delay-us = <500>;
col-switch-delay-ms = <20>;
linux,no-autorepeat;
};
};
};
};