On 27.04.2023 22:34, Luca Weiss wrote: > The Nexus 5 has a vibrator connected to the clock output of GP1_CLK > which we can use with the clk-pwm driver, then we can use that pwm with > pwm-vibrator to get haptics functionality. > > This patch is based on Brian Masney's previous patch with clk-vibrator. > > Signed-off-by: Luca Weiss <luca@xxxxxxxxx> > --- > .../dts/qcom-msm8974-lge-nexus5-hammerhead.dts | 35 ++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts > index ab35f2d644c0..fea8a6be9021 100644 > --- a/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts > +++ b/arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts > @@ -41,6 +41,25 @@ key-volume-down { > }; > }; > > + clk_pwm: pwm { > + compatible = "clk-pwm"; > + clocks = <&mmcc CAMSS_GP1_CLK>; Are you sure it's <&mmcc CAMSS_GP1_CLK> and not <&gcc GCC_GP1_CLK>? Konrad > + > + pinctrl-0 = <&vibrator_pin>; > + pinctrl-names = "default"; > + > + #pwm-cells = <2>; > + }; > + > + vibrator { > + compatible = "pwm-vibrator"; > + pwms = <&clk_pwm 0 100000>; > + pwm-names = "enable"; > + > + vcc-supply = <&pm8941_l19>; > + enable-gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>; > + }; > + > vreg_wlan: wlan-regulator { > compatible = "regulator-fixed"; > > @@ -637,6 +656,22 @@ shutdown-pins { > function = "gpio"; > }; > }; > + > + vibrator_pin: vibrator-state { > + core-pins { > + pins = "gpio27"; > + function = "gp1_clk"; > + drive-strength = <6>; > + bias-disable; > + }; > + > + enable-pins { > + pins = "gpio60"; > + function = "gpio"; > + drive-strength = <2>; > + bias-disable; > + }; > + }; > }; > > &usb { >