Re: [PATCH v4 0/3] Add support for vibrator in multiple PMICs

From: Luca Weiss
Date: Mon Aug 14 2023 - 03:43:45 EST


Hi Fenglin,

On Mon Jul 31, 2023 at 7:37 AM CEST, Fenglin Wu wrote:
> Add SW support for the vibrator module inside PMI632, PM7250B, PM7325B, PM7550BA.
> It is very similar to the vibrator module inside PM8916 which is supported in
> pm8xxx-vib driver but just the drive amplitude is controlled with 2 registers,
> and the register base offset in each PMIC is different.

Briefly tested on a SDM632+PMI632-based Fairphone 3.

I didn't really check for vibration strength or anything more detailed
but with the fftest tool the vibrator seems to work fine!

Diff is attached below. I can send the pmi632.dtsi change once this
series is merged (unless you send something first).

Many thanks for sending these patches!

Tested-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx> # sdm632-fairphone-fp3 (pmi632)

Regards
Luca


diff --git a/arch/arm64/boot/dts/qcom/pmi632.dtsi b/arch/arm64/boot/dts/qcom/pmi632.dtsi
index 4eb79e0ce40a..41ef7dad508e 100644
--- a/arch/arm64/boot/dts/qcom/pmi632.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi632.dtsi
@@ -161,5 +161,11 @@ pmi632_lpg: pwm {

status = "disabled";
};
+
+ pmi632_vib: vibrator@5700 {
+ compatible = "qcom,pmi632-vib", "qcom,spmi-vib-gen2";
+ reg = <0x5700>;
+ status = "disabled";
+ };
};
};
diff --git a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
index 301eca9a4f31..0d89bc39f613 100644
--- a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
+++ b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
@@ -112,6 +112,10 @@ led@3 {
};
};

+&pmi632_vib {
+ status = "okay";
+};
+
&sdhc_1 {
status = "okay";
vmmc-supply = <&pm8953_l8>;

> Changes in v4:
> 1. Update to use the combination of the HW type and register offset
> as the constant match data, the register base address defined in
> 'reg' property will be added when accessing SPMI registers using
> regmap APIs.
> 2. Remove 'qcom,spmi-vib-gen1' generic compatible string.
>
> Changes in v3:
> 1. Refactor the driver to support different type of the vibrators with
> better flexibility by introducing the HW type with corresponding
> register fields definitions.
> 2. Add 'qcom,spmi-vib-gen1' and 'qcom,spmi-vib-gen2' compatible
> strings, and add PMI632, PM7250B, PM7325B, PM7550BA as compatbile as
> spmi-vib-gen2.
>
> Changes in v2:
> Remove the "pm7550ba-vib" compatible string as it's compatible with pm7325b.
>
> Fenglin Wu (3):
> input: pm8xxx-vib: refactor to easily support new SPMI vibrator
> dt-bindings: input: qcom,pm8xxx-vib: add new SPMI vibrator module
> input: pm8xxx-vibrator: add new SPMI vibrator support
>
> .../bindings/input/qcom,pm8xxx-vib.yaml | 16 +-
> drivers/input/misc/pm8xxx-vibrator.c | 171 ++++++++++++------
> 2 files changed, 132 insertions(+), 55 deletions(-)