On Fri, Jan 31, 2025 at 01:56:35PM -0600, Fred Treven wrote:You are correct; this belongs in input. I will resolve this in v2
Introduce required basic devicetree parameters for the
initial commit of CS40L26.
This looks like soundy thing, why isn't this in sound? but title
mentions haptic, so maybe input?
Anyway, not MFD.
VBST is not a supply of the device. Rather, it is configuring the device for
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.
There is no such supply as VBST (see above, I see only VA and VP), so is this output?
I will add the supplies here in v2 after I have done my resend to fix the
+ multipleOf: 50000
+ minimum: 2550000
+ maximum: 11000000
+ default: 11000000
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - reset-gpios
Supplies as well
The driver is mfd that utilizes both ASoC and Input FF subsystems.
+
+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*
So input or mfd? I don't understand this.
Best regards,
Krzysztof