Add bindings for qcom PMIC PMI8998 haptics driver.
Signed-off-by: Caleb Connolly <[email protected]>
---
.../bindings/input/qcom,pmi8998-haptics.yaml | 73 +++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
diff --git a/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml b/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
new file mode 100644
index 000000000000..d43324cceb89
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2020 Unisoc Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/qcom,pmi8998-haptics.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PMI8998/PM660 Haptics
+
+maintainers:
+ - Caleb Connolly <[email protected]>
+
+description: |
+ Qualcomm SPMI haptics is a peripheral on some QTI PMICs. It supports linear resonant
+ actuators and eccentric rotating mass type haptics commonly found in mobile devices.
+ It supports multiple sources of wave data such as an internal buffer, direct play
+ (from kernel or userspace) as well as an audio output mode.
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - qcom,pmi8998-haptics
+ - qcom,pm660-charger
+ - qcom,pmi8996-haptics
+ - qcom,pmi8941-haptics
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 2
+
+ interrupt-names:
+ items:
+ - const: short
+ - const: play
+
+ qcom,wave-play-duration-us:
+ description: |
+ Wave sample duration in microseconds, 1/f where f
+ is the resonant frequency of the actuator.
+ This property is named qcom,wave-play-rate-us in
+ downstream kernels.
+ minimum: 0
+ maximum: 20475
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - qcom,wave-play-rate-us
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ spmi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pmi8998_haptics: haptics@c000 {
+ compatible = "qcom,pmi8998-haptics";
+ reg = <0xc000>;
+
+ interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "short", "play";
+
+ qcom,wave-play-rate-us = <4255>;
+ };
+ };
--
2.38.0
On 15/10/2022 13:30, Caleb Connolly wrote:
> Add bindings for qcom PMIC PMI8998 haptics driver.
>
> Signed-off-by: Caleb Connolly <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof
On Sat, 15 Oct 2022 17:30:35 +0000, Caleb Connolly wrote:
> Add bindings for qcom PMIC PMI8998 haptics driver.
>
> Signed-off-by: Caleb Connolly <[email protected]>
> ---
> .../bindings/input/qcom,pmi8998-haptics.yaml | 73 +++++++++++++++++++
> 1 file changed, 73 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.example.dtb: haptics@c000: 'qcom,wave-play-rate-us' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/patch/
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit.
On 15/10/2022 18:30, Caleb Connolly wrote:
> Add bindings for qcom PMIC PMI8998 haptics driver.
>
> Signed-off-by: Caleb Connolly <[email protected]>
> ---
> .../bindings/input/qcom,pmi8998-haptics.yaml | 73 +++++++++++++++++++
> 1 file changed, 73 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml b/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
> new file mode 100644
> index 000000000000..d43324cceb89
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/qcom,pmi8998-haptics.yaml
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2020 Unisoc Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/qcom,pmi8998-haptics.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PMI8998/PM660 Haptics
> +
> +maintainers:
> + - Caleb Connolly <[email protected]>
> +
> +description: |
> + Qualcomm SPMI haptics is a peripheral on some QTI PMICs. It supports linear resonant
> + actuators and eccentric rotating mass type haptics commonly found in mobile devices.
> + It supports multiple sources of wave data such as an internal buffer, direct play
> + (from kernel or userspace) as well as an audio output mode.
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - qcom,pmi8998-haptics
> + - qcom,pm660-charger
I've just noticed this typo! Will respin and fix...
> + - qcom,pmi8996-haptics
> + - qcom,pmi8941-haptics
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 2
> +
> + interrupt-names:
> + items:
> + - const: short
> + - const: play
> +
> + qcom,wave-play-duration-us:
> + description: |
> + Wave sample duration in microseconds, 1/f where f
> + is the resonant frequency of the actuator.
> + This property is named qcom,wave-play-rate-us in
> + downstream kernels.
> + minimum: 0
> + maximum: 20475
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - qcom,wave-play-rate-us
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + spmi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pmi8998_haptics: haptics@c000 {
> + compatible = "qcom,pmi8998-haptics";
> + reg = <0xc000>;
> +
> + interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
> + <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
> + interrupt-names = "short", "play";
> +
> + qcom,wave-play-rate-us = <4255>;
> + };
> + };
> --
> 2.38.0
>
--
Kind Regards,
Caleb