[PATCH RESEND 4/7] dt-bindings: mfd: cirrus,cs40l26: Support for CS40L26

From: Fred Treven
Date: Tue Feb 04 2025 - 18:21:01 EST


Introduce required basic devicetree parameters for the
initial commit of CS40L26.

Signed-off-by: Fred Treven <ftreven@xxxxxxxxxxxxxxxxxxxxx>
---
.../bindings/mfd/cirrus,cs40l26.yaml | 81 +++++++++++++++++++
MAINTAINERS | 4 +-
2 files changed, 83 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml

diff --git a/Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml b/Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml
new file mode 100644
index 000000000000..a3cccb1a2d92
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/cirrus,cs40l26.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic CS40L26 Boosted Haptic Amplifier
+
+maintainers:
+ - Fred Treven <ftreven@xxxxxxxxxxxxxxxxxxxxx>
+ - patches@xxxxxxxxxxxxxxxxxxxxx
+
+description:
+ CS40L26 is a Boosted Haptic Driver with Integrated DSP, Waveform Memory,
+ Advanced Closed Loop Algorithms, and LRA protection
+
+properties:
+ compatible:
+ enum:
+ - cirrus,cs40l26a
+ - cirrus,cs40l27b
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ reset-gpios:
+ maxItems: 1
+
+ va-supply:
+ description: Regulator for VA analog voltage
+
+ vp-supply:
+ description: Regulator for VP voltage
+
+ cirrus,bst-ipk-microamp:
+ description:
+ Maximum current that can be drawn by the device's boost converter.
+ multipleOf: 50000
+ minimum: 1600000
+ maximum: 4800000
+ default: 4500000
+
+ cirrus,bst-ctl-microvolt:
+ description: Maximum target voltage to which DSP may increase the VBST supply.
+ multipleOf: 50000
+ minimum: 2550000
+ maximum: 11000000
+ default: 11000000
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - reset-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ haptic-driver@58 {
+ compatible = "cirrus,cs40l26a";
+ reg = <0x58>;
+ interrupt-parent = <&gpio>;
+ interrupts = <57 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ va-supply = <&vreg>;
+ vp-supply = <&vreg>;
+ cirrus,bst-ctl-microvolt = <2600000>;
+ cirrus,bst-ipk-microamp = <1650000>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index bc8ce7af3303..9c4105bf0a32 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5546,11 +5546,11 @@ F: sound/soc/codecs/cs*

CIRRUS LOGIC HAPTIC DRIVERS
M: James Ogletree <jogletre@xxxxxxxxxxxxxxxxxxxxx>
-M: Fred Treven <fred.treven@xxxxxxxxxx>
+M: Fred Treven <ftreven@xxxxxxxxxxxxxxxxxxxxx>
M: Ben Bright <ben.bright@xxxxxxxxxx>
L: patches@xxxxxxxxxxxxxxxxxxxxx
S: Supported
-F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
+F: Documentation/devicetree/bindings/input/cirrus,cs40l*
F: drivers/input/misc/cs40l*
F: drivers/mfd/cs40l*
F: include/linux/mfd/cs40l*
--
2.34.1