Commit a422c6a9 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: sm8250-edo: Rectify gpio-keys



Set up the corresponding GPIOs properly and add the leftover hardware
buttons to mark this piece of the puzzle complete.

Fixes: 46e14907 ("arm64: dts: qcom: sm8250-edo: Add hardware keys")
Reviewed-by: default avatarMarijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230614-topic-edo_pinsgpiopmic-v2-4-6f90bba54c53@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 2de55db6
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ &framebuffer {
};

&gpio_keys {
	pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_n>;

	g-assist-key {
		label = "Google Assistant Key";
		linux,code = <KEY_LEFTMETA>;
@@ -48,6 +50,14 @@ &pm8150_gpios {
			  "SP_ARI_PWR_ALARM",
			  "NC",
			  "NC"; /* GPIO_10 */

	g_assist_n: g-assist-n-state {
		pins = "gpio6";
		function = "normal";
		power-source = <1>;
		bias-pull-up;
		input-enable;
	};
};

&pm8150b_gpios {
+48 −6
Original line number Diff line number Diff line
@@ -51,12 +51,26 @@ framebuffer: framebuffer@9c000000 {
	gpio_keys: gpio-keys {
		compatible = "gpio-keys";

		/*
		 * Camera focus (light press) and camera snapshot (full press)
		 * seem not to work properly.. Adding the former one stalls the CPU
		 * and the latter kills the volume down key for whatever reason. In any
		 * case, they are both on &pm8150b_gpios: camera focus(2), camera snapshot(1).
		 */
		pinctrl-0 = <&focus_n &snapshot_n &vol_down_n>;
		pinctrl-names = "default";

		key-camera-focus {
			label = "Camera Focus";
			linux,code = <KEY_CAMERA_FOCUS>;
			gpios = <&pm8150b_gpios 2 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			gpio-key,wakeup;
		};

		key-camera-snapshot {
			label = "Camera Snapshot";
			linux,code = <KEY_CAMERA>;
			gpios = <&pm8150b_gpios 1 GPIO_ACTIVE_LOW>;
			debounce-interval = <15>;
			linux,can-disable;
			gpio-key,wakeup;
		};

		key-vol-down {
			label = "Volume Down";
@@ -544,6 +558,34 @@ &pcie2_phy {
	vdda-pll-supply = <&vreg_l9a_1p2>;
};

&pm8150_gpios {
	vol_down_n: vol-down-n-state {
		pins = "gpio1";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};
};

&pm8150b_gpios {
	snapshot_n: snapshot-n-state {
		pins = "gpio1";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};

	focus_n: focus-n-state {
		pins = "gpio2";
		function = "normal";
		power-source = <0>;
		bias-pull-up;
		input-enable;
	};
};

&pon_pwrkey {
	status = "okay";
};