From: Gergo Koteles <[email protected]> The alert-slider is a tri-state sound profile switch found on the OnePlus 6, Android maps the states to "silent", "vibrate" and "ring". Expose them as ABS_SND_PROFILE events. The previous GPIO numbers were wrong. Update them to the correct ones.
Co-developed-by: Casey Connolly <[email protected]> Signed-off-by: Casey Connolly <[email protected]> Signed-off-by: Gergo Koteles <[email protected]> Reviewed-by: Konrad Dybcio <[email protected]> Tested-by: Guido Günther <[email protected]> # oneplus,fajita & oneplus,enchilada Reviewed-by: Guido Günther <[email protected]> Signed-off-by: David Heidelberg <[email protected]> --- .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi index db6dd04c51bb5..963dc4cc3bbb8 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi @@ -25,6 +25,41 @@ / { chassis-type = "handset"; qcom,msm-id = <QCOM_ID_SDM845 0x20001>; + alert-slider { + compatible = "gpio-keys"; + label = "Alert slider"; + + pinctrl-0 = <&alert_slider_default>; + pinctrl-names = "default"; + + switch-top { + label = "Silent"; + linux,input-type = <EV_ABS>; + linux,code = <ABS_SND_PROFILE>; + linux,input-value = <SND_PROFILE_SILENT>; + gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; + linux,can-disable; + }; + + switch-middle { + label = "Vibrate"; + linux,input-type = <EV_ABS>; + linux,code = <ABS_SND_PROFILE>; + linux,input-value = <SND_PROFILE_VIBRATE>; + gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; + linux,can-disable; + }; + + switch-bottom { + label = "Ring"; + linux,input-type = <EV_ABS>; + linux,code = <ABS_SND_PROFILE>; + linux,input-value = <SND_PROFILE_RING>; + gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; + linux,can-disable; + }; + }; + aliases { serial0 = &uart9; serial1 = &uart6; -- 2.51.0
