arm64: dts: qcom: sm8550-qrd: enable PMIC Volume and Power buttons
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 12 Jun 2023 15:22:52 +0000 (17:22 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 13 Jun 2023 18:01:49 +0000 (11:01 -0700)
The Volume Down & Power buttons are controlled by the PMIC via
the PON hardware, and the Volume Up is connected to a PMIC gpio.

Enable the necessary hardware and setup the GPIO state for the
Volume Up gpio key.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230525-topic-sm8550-upstream-pm8550-lpg-dt-v4-4-a288f24af81b@linaro.org
arch/arm64/boot/dts/qcom/sm8550-qrd.dts

index efff152..cde2ab8 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               pinctrl-0 = <&volume_up_n>;
+               pinctrl-names = "default";
+
+               key-volume-up {
+                       label = "Volume Up";
+                       linux,code = <KEY_VOLUMEUP>;
+                       gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
+                       debounce-interval = <15>;
+                       linux,can-disable;
+                       wakeup-source;
+               };
+       };
+
        pmic-glink {
                compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
                #address-cells = <1>;
        };
 };
 
+&pm8550_gpios {
+       volume_up_n: volume-up-n-state {
+               pins = "gpio6";
+               function = "normal";
+               power-source = <1>;
+               bias-pull-up;
+               input-enable;
+       };
+};
+
 &pm8550_pwm {
        status = "okay";
 
        vdd3-supply = <&vreg_l5b_3p1>;
 };
 
+&pon_pwrkey {
+       status = "okay";
+};
+
+&pon_resin {
+       linux,code = <KEY_VOLUMEDOWN>;
+
+       status = "okay";
+};
+
 &pcie_1_phy_aux_clk {
        clock-frequency = <1000>;
 };