/dts-v1/; /plugin/; / { compatible = "allwinner,sun4i-a10", "allwinner,sun7i-a20", "allwinner,sun50i-a64", "allwinner,sun50i-h5"; /* * This fragment is needed only for the internal pull-up activation, * external pull-up resistor is highly recommended if using long wires */ fragment@0 { target = <&pio>; __overlay__ { gpio_button_0: gpio_button_0 { pins = "PG3","PG1","PG5"; function = "gpio_in"; bias-pull-up; }; }; }; fragment@1 { target-path = "/"; __overlay__ { gpio-3-buttons { /* * Use "gpio-keys" for EINT capable pins, "gpio-keys-polled" for other pins * add "poll-interval" property if using "gpio-keys-polled" */ /* compatible = "gpio-keys"; */ compatible = "gpio-keys-polled"; poll-interval = <100>; autorepeat; pinctrl-names = "default"; pinctrl-0 = <&gpio_button_0>; up { label = "button-up"; linux,code = <103>; /* KEY_UP, see include/uapi/linux/input-event-codes.h */ gpios = <&pio 6 3 1>; /* PG3 GPIO_ACTIVE_LOW */ }; down { label = "button-down"; linux,code = <108>; /* KEY_DOWN, see include/uapi/linux/input-event-codes.h */ gpios = <&pio 6 1 1>; /* PG1 GPIO_ACTIVE_LOW */ }; enter { label = "button-enter"; linux,code = <28>; /* KEY_DOWN, see include/uapi/linux/input-event-codes.h */ gpios = <&pio 6 5 1>; /* PG5 GPIO_ACTIVE_LOW */ }; }; }; }; };