[PATCH v2 1/5] dt-bindings: input: cirrus,cs40l26: Support for CS40L26

From: Fred Treven
Date: Thu May 25 2023 - 20:05:08 EST


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

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

diff --git a/Documentation/devicetree/bindings/input/cirrus,cs40l26.yaml b/Documentation/devicetree/bindings/input/cirrus,cs40l26.yaml
new file mode 100644
index 000000000000..9cbc964ebded
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cirrus,cs40l26.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/cirrus,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
+
+ reset-gpios:
+ maxItems: 1
+
+ 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.
+ 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
+
+ cirrus,bst-exploratory-mode-disable:
+ description:
+ Disable boost exploratory mode.
+
+ In exploratory mode the analog maximum peak current limit of 4.5 A
+ (tolerance of + 160 mA) will be applied. This is required for the
+ device to successfully detect a boost inductor short.
+
+ Boost exploratory mode allows the device to overshoot the set boost peak
+ current limit (i.e. if current peak limit is set to 2.5 A to protect the
+ battery inductor, the current limit will be opened up to 4.5 A for
+ several milliseconds at boost startup).
+ 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.
+ type: boolean
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - reset-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/input/input.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cs40l26@58 {
+ compatible = "cirrus,cs40l26a";
+ reg = <0x58>;
+ interrupt-parent = <&gpio>;
+ interrupts = <57 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
+ VA-supply = <&dummy_vreg>;
+ VP-supply = <&dummy_vreg>;
+ cirrus,bst-ctl-microvolt = <2600000>;
+ cirrus,bst-ipk-microamp = <1650000>;
+ cirrus,bst-exploratory-mode-disable;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 2b073facf399..d72ed4957b0b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4926,6 +4926,16 @@ L: netdev@xxxxxxxxxxxxxxx
S: Maintained
F: drivers/net/ethernet/cirrus/ep93xx_eth.c

+CIRRUS LOGIC HAPTICS DRIVER
+M: Fred Treven <fred.treven@xxxxxxxxxx>
+M: Ben Bright <ben.bright@xxxxxxxxxx>
+M: James Ogletree <james.ogletree@xxxxxxxxxx>
+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/cirrus,cs40l26.yaml
+
CIRRUS LOGIC LOCHNAGAR DRIVER
M: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>
M: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>
--
2.7.4