ARM: dts: qcom: apq8026-lg-lenok: Add vibrator support
authorLuca Weiss <luca@z3ntu.xyz>
Sun, 21 Jan 2024 10:09:57 +0000 (11:09 +0100)
committerBjorn Andersson <andersson@kernel.org>
Tue, 30 Jan 2024 22:25:04 +0000 (16:25 -0600)
This device has a vibrator attached to the CAMSS_GP0_CLK, use clk-pwm
and pwm-vibrator to make the vibrator work.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240121-lenok-vibrator-v1-1-d4703ff92021@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm/boot/dts/qcom/qcom-apq8026-lg-lenok.dts

index 0a1fd5eb3c6d26c3e3319aeb5e2c42dc068bccb1..a70de21bf139bd3f67d9e848f75cac20839335fb 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "qcom-msm8226.dtsi"
 #include "pm8226.dtsi"
+#include <dt-bindings/clock/qcom,mmcc-msm8974.h>
 
 /delete-node/ &adsp_region;
 
                pinctrl-names = "default";
                pinctrl-0 = <&wlan_regulator_default_state>;
        };
+
+       pwm_vibrator: pwm {
+               compatible = "clk-pwm";
+               clocks = <&mmcc CAMSS_GP0_CLK>;
+
+               pinctrl-0 = <&vibrator_clk_default_state>;
+               pinctrl-names = "default";
+
+               #pwm-cells = <2>;
+       };
+
+       vibrator {
+               compatible = "pwm-vibrator";
+
+               pwms = <&pwm_vibrator 0 10000>;
+               pwm-names = "enable";
+
+               vcc-supply = <&pm8226_l28>;
+               enable-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-0 = <&vibrator_en_default_state>;
+               pinctrl-names = "default";
+       };
 };
 
 &adsp {
                };
        };
 
+       vibrator_clk_default_state: vibrator-clk-default-state {
+               pins = "gpio33";
+               function = "gp0_clk";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
+       vibrator_en_default_state: vibrator-en-default-state {
+               pins = "gpio62";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        wlan_hostwake_default_state: wlan-hostwake-default-state {
                pins = "gpio37";
                function = "gpio";