sunxi-6.14: Add volume up/down keyboard overlay for h616, h618

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
This commit is contained in:
Exodus 2025-05-03 12:41:06 +03:00 committed by Igor
parent ddb8089a96
commit 2bc330845e
3 changed files with 103 additions and 0 deletions

View File

@ -0,0 +1,101 @@
From b0d0e0e7cbe9d70a50a8a9cfdcfdffb028d6cef7 Mon Sep 17 00:00:00 2001
From: Exodus <zjemcikolege@protonmail.com>
Date: Wed, 30 Apr 2025 23:55:25 +0200
Subject: [PATCH 1/6] h616: add keys
KEY1 and KEY2 VOL +/-
---
.../arm64/boot/dts/allwinner/overlay/Makefile | 1 +
.../allwinner/overlay/sun50i-h616-keys.dtso | 28 +++++++++++++++++++
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 1 +
drivers/input/keyboard/sun4i-lradc-keys.c | 8 ++++++
4 files changed, 38 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-keys.dtso
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
index 3b0e2393552d..f637933c003f 100644
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
@@ -71,6 +71,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
sun50i-h616-i2c3-ph.dtbo \
sun50i-h616-i2c4-pg.dtbo \
sun50i-h616-i2c4-ph.dtbo \
+ sun50i-h616-keys.dtbo \
sun50i-h616-pwm1-ph3.dtbo \
sun50i-h616-pwm1-pi11.dtbo \
sun50i-h616-pwm4-ph1.dtbo \
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-keys.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-keys.dtso
new file mode 100644
index 000000000000..e8a5665d77ce
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-keys.dtso
@@ -0,0 +1,28 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "xunlong,orangepi-zero2w", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
+
+ fragment@0 {
+ target = <&lradc>;
+ __overlay__ {
+ vref-supply = <&reg_aldo1>;
+ status = "okay";
+
+ button-500 {
+ label = "KEY_VOLUMEUP";
+ linux,code = <115>; // KEY_VOLUMEUP
+ channel = <0>;
+ voltage = <500000>;
+ };
+
+ button-800 {
+ label = "KEY_VOLUMEDOWN";
+ linux,code = <114>; // KEY_VOLUMEDOWN
+ channel = <0>;
+ voltage = <800000>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
index 0f4587be1c0e..7ccc45ff3446 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -13,6 +13,7 @@
#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
#include <dt-bindings/reset/sun8i-de2.h>
#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/input/input.h>
/ {
interrupt-parent = <&gic>;
diff --git a/drivers/input/keyboard/sun4i-lradc-keys.c b/drivers/input/keyboard/sun4i-lradc-keys.c
index 5730f08f82d7..0ee681630f9c 100644
--- a/drivers/input/keyboard/sun4i-lradc-keys.c
+++ b/drivers/input/keyboard/sun4i-lradc-keys.c
@@ -86,6 +86,12 @@ static const struct lradc_variant lradc_variant_r329 = {
.has_clock_reset = true,
};
+static const struct lradc_variant lradc_variant_h616 = {
+ .divisor_numerator = 3,
+ .divisor_denominator = 4,
+ .has_clock_reset = true,
+};
+
struct sun4i_lradc_keymap {
u32 voltage;
u32 keycode;
@@ -341,6 +347,8 @@ static const struct of_device_id sun4i_lradc_of_match[] = {
.data = &r_lradc_variant_a83t },
{ .compatible = "allwinner,sun50i-r329-lradc",
.data = &lradc_variant_r329 },
+ { .compatible = "allwinner,sun50i-h616-lradc",
+ .data = &lradc_variant_h616 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, sun4i_lradc_of_match);
--
2.35.3

View File

@ -180,3 +180,4 @@
patches.armbian/arm-dts-sun8i-h2-plus-orangepi-zero-fix-usb_otg-dr_mode.patch
patches.armbian/BigTreeTech-CB1-dts-i2c-gpio-mode-adjustment-and-ws2812-rgb_val.patch
patches.armbian/arm64-allwinner-Add-sun50i-h618-bananapi-m4-berry-support.patch
patches.armbian/h616-add-keys.patch

View File

@ -483,3 +483,4 @@
patches.armbian/arm-dts-sun8i-h2-plus-orangepi-zero-fix-usb_otg-dr_mode.patch
patches.armbian/BigTreeTech-CB1-dts-i2c-gpio-mode-adjustment-and-ws2812-rgb_val.patch
patches.armbian/arm64-allwinner-Add-sun50i-h618-bananapi-m4-berry-support.patch
patches.armbian/h616-add-keys.patch