fc08a804bc
Add new patches: - enable serial console - save relocation address to find KASLR - buttons as keyboard input driver to navigate bootmenu - bootmenu loop entry selection
99 lines
2.8 KiB
Diff
99 lines
2.8 KiB
Diff
From 506cdd778b001d7586dbf87beaf92b2c134305e3 Mon Sep 17 00:00:00 2001
|
|
From: Dzmitry Sankouski <dsankouski@gmail.com>
|
|
Date: Thu, 1 Dec 2022 20:15:24 +0300
|
|
Subject: [PATCH 5/6] starqltechn: use button-kbd driver for navigating boot
|
|
menu
|
|
|
|
---
|
|
arch/arm/dts/sdm845.dtsi | 4 +++
|
|
arch/arm/mach-snapdragon/init_sdm845.c | 45 --------------------------
|
|
configs/starqltechn_defconfig | 2 ++
|
|
3 files changed, 6 insertions(+), 45 deletions(-)
|
|
|
|
diff --git a/arch/arm/dts/sdm845.dtsi b/arch/arm/dts/sdm845.dtsi
|
|
index 607af277f8..4adf494218 100644
|
|
--- a/arch/arm/dts/sdm845.dtsi
|
|
+++ b/arch/arm/dts/sdm845.dtsi
|
|
@@ -63,6 +63,10 @@
|
|
status = "disabled";
|
|
};
|
|
|
|
+ button_kbd {
|
|
+ compatible = "button-kbd";
|
|
+ };
|
|
+
|
|
spmi@c440000 {
|
|
compatible = "qcom,spmi-pmic-arb";
|
|
reg = <0xc440000 0x1100>,
|
|
diff --git a/arch/arm/mach-snapdragon/init_sdm845.c b/arch/arm/mach-snapdragon/init_sdm845.c
|
|
index 1f22aee7f6..cbbe1d5c76 100644
|
|
--- a/arch/arm/mach-snapdragon/init_sdm845.c
|
|
+++ b/arch/arm/mach-snapdragon/init_sdm845.c
|
|
@@ -32,51 +32,6 @@ __weak int board_init(void)
|
|
/* Check for vol- and power buttons */
|
|
__weak int misc_init_r(void)
|
|
{
|
|
- struct udevice *pon;
|
|
- struct gpio_desc resin;
|
|
- int node, ret;
|
|
-
|
|
- ret = uclass_get_device_by_name(UCLASS_GPIO, "pm8998_pon@800", &pon);
|
|
- if (ret < 0) {
|
|
- printf("Failed to find PMIC pon node. Check device tree\n");
|
|
- return 0;
|
|
- }
|
|
-
|
|
- node = fdt_subnode_offset(gd->fdt_blob, dev_of_offset(pon),
|
|
- "key_vol_down");
|
|
- if (node < 0) {
|
|
- printf("Failed to find key_vol_down node. Check device tree\n");
|
|
- return 0;
|
|
- }
|
|
- if (gpio_request_by_name_nodev(offset_to_ofnode(node), "gpios", 0,
|
|
- &resin, 0)) {
|
|
- printf("Failed to request key_vol_down button.\n");
|
|
- return 0;
|
|
- }
|
|
- if (dm_gpio_get_value(&resin)) {
|
|
- env_set("key_vol_down", "1");
|
|
- printf("Volume down button pressed\n");
|
|
- } else {
|
|
- env_set("key_vol_down", "0");
|
|
- }
|
|
-
|
|
- node = fdt_subnode_offset(gd->fdt_blob, dev_of_offset(pon),
|
|
- "key_power");
|
|
- if (node < 0) {
|
|
- printf("Failed to find key_power node. Check device tree\n");
|
|
- return 0;
|
|
- }
|
|
- if (gpio_request_by_name_nodev(offset_to_ofnode(node), "gpios", 0,
|
|
- &resin, 0)) {
|
|
- printf("Failed to request key_power button.\n");
|
|
- return 0;
|
|
- }
|
|
- if (dm_gpio_get_value(&resin)) {
|
|
- env_set("key_power", "1");
|
|
- printf("Power button pressed\n");
|
|
- } else {
|
|
- env_set("key_power", "0");
|
|
- }
|
|
env_set_addr("relocaddr", gd->relocaddr);
|
|
|
|
return 0;
|
|
diff --git a/configs/starqltechn_defconfig b/configs/starqltechn_defconfig
|
|
index 995a623305..baaba6824f 100644
|
|
--- a/configs/starqltechn_defconfig
|
|
+++ b/configs/starqltechn_defconfig
|
|
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0x80000000
|
|
CONFIG_FIT=y
|
|
CONFIG_FIT_VERBOSE=y
|
|
CONFIG_BOOTDELAY=5
|
|
+CONFIG_CMD_BOOTMENU=y
|
|
+CONFIG_DM_KEYBOARD=y
|
|
CONFIG_USE_PREBOOT=y
|
|
CONFIG_SAVE_PREV_BL_FDT_ADDR=y
|
|
CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR=y
|
|
--
|
|
2.30.2
|
|
|