arm64: dts: rockchip: Add saradc node to Indiedroid Nova
authorChris Morgan <macromorgan@hotmail.com>
Mon, 18 Sep 2023 17:32:55 +0000 (12:32 -0500)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 4 Oct 2023 21:01:48 +0000 (23:01 +0200)
Add ADC support for the Indiedroid Nova, as well as the two ADC buttons
found on the device. The buttons are documented as "boot" and
"recovery". The boot button is used by the bootloader to boot into USB
recovery mode. The recovery button use is currently unknown.

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20230918173255.1325-4-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts

index 1e2336d3065b0483b273dddf79b560c60d509659..60f00ceb630e14e5734c71c7e974712982265f2f 100644 (file)
@@ -3,6 +3,7 @@
 /dts-v1/;
 
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/pinctrl/rockchip.h>
 #include <dt-bindings/usb/pd.h>
 #include "rk3588s.dtsi"
        model = "Indiedroid Nova";
        compatible = "indiedroid,nova", "rockchip,rk3588s";
 
+       adc-keys-0 {
+               compatible = "adc-keys";
+               io-channel-names = "buttons";
+               io-channels = <&saradc 0>;
+               keyup-threshold-microvolt = <1800000>;
+               poll-interval = <100>;
+
+               button-boot {
+                       label = "boot";
+                       linux,code = <KEY_PROG1>;
+                       press-threshold-microvolt = <18000>;
+               };
+       };
+
+       adc-keys-1 {
+               compatible = "adc-keys";
+               io-channel-names = "buttons";
+               io-channels = <&saradc 1>;
+               keyup-threshold-microvolt = <1800000>;
+               poll-interval = <100>;
+
+               button-recovery {
+                       label = "recovery";
+                       linux,code = <KEY_PROG2>;
+                       press-threshold-microvolt = <18000>;
+               };
+       };
+
        aliases {
                mmc0 = &sdhci;
                mmc1 = &sdmmc;
        };
 };
 
+&saradc {
+       vref-supply = <&vcca_1v8_s0>;
+       status = "okay";
+};
+
 /* HS400 modes seemed to cause io errors. */
 &sdhci {
        bus-width = <8>;