starqltechn: use button keyboard driver
Button keyboard driver used to navigate bootmenu entries.
Add gpio buttons, button keyboard driver.
Add gpio keys dts bindings.
Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/arch/arm/dts/starqltechn.dts b/arch/arm/dts/starqltechn.dts
index dcbc3b6..eec51d1 100644
--- a/arch/arm/dts/starqltechn.dts
+++ b/arch/arm/dts/starqltechn.dts
@@ -9,6 +9,8 @@
/dts-v1/;
#include "sdm845.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
/ {
model = "Samsung S9 (SM-G9600)";
@@ -43,6 +45,22 @@
format = "a8r8g8b8";
};
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ key-pwr {
+ label = "Power";
+ linux,code = <KEY_ENTER>;
+ gpios = <&pm8998_pon 0 GPIO_ACTIVE_LOW>;
+ };
+
+ key-vol-down {
+ label = "Volume Down";
+ linux,code = <KEY_DOWN>;
+ gpios = <&pm8998_pon 1 GPIO_ACTIVE_LOW>;
+ };
+ };
+
soc: soc {
serial@a84000 {
status = "okay";
diff --git a/configs/starqltechn_defconfig b/configs/starqltechn_defconfig
index 599d926..92e7254 100644
--- a/configs/starqltechn_defconfig
+++ b/configs/starqltechn_defconfig
@@ -20,9 +20,12 @@
CONFIG_CMD_GPIO=y
CONFIG_CMD_BMP=y
# CONFIG_NET is not set
+CONFIG_BUTTON=y
CONFIG_CLK=y
CONFIG_MSM_GPIO=y
CONFIG_QCOM_PMIC_GPIO=y
+CONFIG_DM_KEYBOARD=y
+CONFIG_BUTTON_KEYBOARD=y
CONFIG_PINCTRL=y
CONFIG_DM_PMIC=y
CONFIG_PMIC_QCOM=y
diff --git a/include/configs/sdm845.h b/include/configs/sdm845.h
index 2211751..673268d 100644
--- a/include/configs/sdm845.h
+++ b/include/configs/sdm845.h
@@ -16,7 +16,7 @@
#define CFG_EXTRA_ENV_SETTINGS \
"bootm_size=0x4000000\0" \
"bootm_low=0x80000000\0" \
- "stdin=serial\0" \
+ "stdin=serial,button-kbd\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0" \
"preboot=source $prevbl_initrd_start_addr:prebootscript\0" \