[PATCH 2/2] dt-bindings: input: cirrus,cs40l26: Add bindings

From: Fred Treven
Date: Thu Apr 06 2023 - 18:20:30 EST


Add devicetree bindings for CS40L26 driver.

Signed-off-by: Fred Treven <fred.treven@xxxxxxxxxx>
---
.../devicetree/bindings/input/cs40l26.yaml | 92 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 93 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/cs40l26.yaml

diff --git a/Documentation/devicetree/bindings/input/cs40l26.yaml b/Documentation/devicetree/bindings/input/cs40l26.yaml
new file mode 100644
index 000000000000..1036a374baa0
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cs40l26.yaml
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/cs40l26.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic CS40L26 Boosted Haptic Amplifier
+
+maintainers:
+ - Fred Treven <fred.treven@xxxxxxxxxx>
+
+description:
+ CS40L26 is a Boosted Haptic Driver with Integrated DSP and Waveform Memory
+ with Advanced Closed Loop Algorithms and LRA protection
+
+properties:
+ compatible:
+ enum:
+ - cirrus,cs40l26a
+ - cirrus,cs40l26b
+ - cirrus,cs40l27a
+ - cirrus,cs40l27b
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+ description:
+ Property describing the interrupt line the devices /ALERT pin is connected to.
+ The device only has one interrupt source.
+
+ VA-supply:
+ description: Regulator for VA analog voltage
+
+ VP-supply:
+ description: Regulator for VP peak voltage
+
+ cirrus,bst-ipk-microamp:
+ description:
+ Maximum amount of current that can be drawn by the device's boost
+ converter in uA. Accepted values are between 1600000 uA and 4800000 uA in
+ 50000 uA increments.
+ minimum: 1600000
+ maximum: 4800000
+ default: 4500000
+
+ cirrus,bst-ctl-microvolt:
+ description:
+ Maximum target voltage to which the class H algorithm may increase the
+ VBST supply, expressed in uV. Valid values range from 2550000 to 11000000
+ (inclusive) in steps of 50000. If this value is specified as zero or VP
+ rises above this value, VBST is bypassed to VP. If this value is omitted,
+ the maximum target voltage remains at 11 V.
+ minimum: 2550000
+ maximum: 11000000
+ default: 11000000
+
+ cirrus,bst-exploratory-mode-disable:
+ description:
+ Disable boost exploratory mode if this boolean is present in the
+ devicetree. Boost exploratory mode allows the device to overshoot
+ the set peak current limit. This has potential to damage the boost
+ inductor. Disabling this mode will prevent this from happening; it will
+ also prevent the device from detecting boost inductor short errors.
+ (Default) Enabled
+ type: boolean
+
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ cs40l26: cs40l26@58 {
+ compatible = "cirrus,cs40l26a";
+ reg = <0x58>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <57 8>;
+ reset-gpios = <&gpio0 54 0>;
+ VA-supply = <&dummy_vreg>;
+ VP-supply = <&dummy_vreg>;
+ cirrus,bst-ctl-microvolt = <2600000>; // Max boost voltage = 2.6V
+ cirrus,bst-ipk-microamp = <1650000>; // Max boost current = 1.65A
+ cirrus,bst-exploratory-mode-disabled; // Disable exploratory mode
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 7051386d5a13..3cd9f0c8e38d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4934,6 +4934,7 @@ L: patches@xxxxxxxxxxxxxxxxxxxxx
S: Supported
W: https://github.com/CirrusLogic/linux-drivers/wiki
T: git https://github.com/CirrusLogic/linux-drivers.git
+F: Documentation/devicetree/bindings/input/cs40l26.yaml
F: drivers/input/misc/cs40l*
F: include/linux/input/cs40l*

--
2.7.4