Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: dts: meson-sm1-sei610: gpio-keys: switch to IRQs

Switch the GPIO buttons/switches to use interrupts instead of polling.
While at it, add the mic mute switch and the power button.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>

+24 -2
+24 -2
arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
··· 46 46 }; 47 47 48 48 gpio-keys { 49 - compatible = "gpio-keys-polled"; 50 - poll-interval = <100>; 49 + compatible = "gpio-keys"; 51 50 52 51 key1 { 53 52 label = "A"; 54 53 linux,code = <BTN_0>; 55 54 gpios = <&gpio GPIOH_6 GPIO_ACTIVE_LOW>; 55 + interrupt-parent = <&gpio_intc>; 56 + interrupts = <34 IRQ_TYPE_EDGE_BOTH>; 56 57 }; 57 58 58 59 key2 { 59 60 label = "B"; 60 61 linux,code = <BTN_1>; 61 62 gpios = <&gpio GPIOH_7 GPIO_ACTIVE_LOW>; 63 + interrupt-parent = <&gpio_intc>; 64 + interrupts = <35 IRQ_TYPE_EDGE_BOTH>; 62 65 }; 63 66 64 67 key3 { 65 68 label = "C"; 66 69 linux,code = <BTN_2>; 67 70 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 71 + interrupt-parent = <&gpio_intc>; 72 + interrupts = <2 IRQ_TYPE_EDGE_BOTH>; 73 + }; 74 + 75 + mic_mute { 76 + label = "MicMute"; 77 + linux,code = <SW_MUTE_DEVICE>; 78 + linux,input-type = <EV_SW>; 79 + gpios = <&gpio_ao GPIOE_2 GPIO_ACTIVE_LOW>; 80 + interrupt-parent = <&gpio_intc>; 81 + interrupts = <99 IRQ_TYPE_EDGE_BOTH>; 82 + }; 83 + 84 + power_key { 85 + label = "PowerKey"; 86 + linux,code = <KEY_POWER>; 87 + gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; 88 + interrupt-parent = <&gpio_intc>; 89 + interrupts = <3 IRQ_TYPE_EDGE_BOTH>; 68 90 }; 69 91 }; 70 92