From: Jeff LaBundy <jeff@labundy.com>
To: James Ogletree <jogletre@opensource.cirrus.com>
Cc: dmitry.torokhov@gmail.com, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
lee@kernel.org, broonie@kernel.org,
patches@opensource.cirrus.com, linux-sound@vger.kernel.org,
linux-input@vger.kernel.org, devicetree@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: Re: [PATCH v9 2/5] dt-bindings: input: cirrus,cs40l50: Add initial DT binding
Date: Sun, 10 Mar 2024 14:29:56 -0500 [thread overview]
Message-ID: <Ze4KNBEsK5juzpNR@nixie71> (raw)
In-Reply-To: <20240308222421.188858-3-jogletre@opensource.cirrus.com>
Hi James,
On Fri, Mar 08, 2024 at 10:24:18PM +0000, James Ogletree wrote:
> The CS40L50 is a haptic driver with waveform memory,
> integrated DSP, and closed-loop algorithms.
>
> Add a YAML DT binding document for this device.
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: James Ogletree <jogletre@opensource.cirrus.com>
> ---
> .../bindings/input/cirrus,cs40l50.yaml | 70 +++++++++++++++++++
> MAINTAINERS | 8 +++
> 2 files changed, 78 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> new file mode 100644
> index 000000000000..6a5bdafed56b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/cirrus,cs40l50.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic CS40L50 Advanced Haptic Driver
> +
> +maintainers:
> + - James Ogletree <james.ogletree@cirrus.com>
Nit: this email address and the one in MAINTAINERS don't match the one
you're using to sign off. There is no requirement that they do; I just
wanted to check whether this was intentional.
> +
> +description:
> + CS40L50 is a haptic driver with waveform memory,
> + integrated DSP, and closed-loop algorithms.
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,cs40l50
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> +
> + va-supply:
> + description: Power supply for internal analog circuits.
> +
> + vp-supply:
> + description: Power supply for always-on circuits.
> +
> + vio-supply:
> + description: Power supply for digital input/output.
> +
> + vamp-supply:
> + description: Power supply for the Class D amplifier.
Does L50 support external boost mode? If not, it will always be shorted
directly to VBST on the board, and there is no reason to describe it in
the binding.
If external boost mode is supported, then I recommend extending support
for it in the driver. Perhaps some additional registers must be set if
this supply is present.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - reset-gpios
> + - vp-supply
Making VP a required supply is likely inconvenient for customers; 99% of
them connect it to a battery, and end up tying this property to a dummy
regulator to keep the driver from bleating.
Only for a wall-powered case would VP be tied to something like a 3.3-V
switching supply, and I imagine those cases are rare. It seems that VP
should be optional.
> + - vio-supply
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
Nit: most device trees tend to use 8-column indentation as with kernel code.
> +
> + haptic-driver@34 {
> + compatible = "cirrus,cs40l50";
> + reg = <0x34>;
> + interrupt-parent = <&gpio>;
> + interrupts = <113 IRQ_TYPE_LEVEL_LOW>;
> + reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>;
> + vp-supply = <&vreg>;
> + vio-supply = <&vreg>;
Showing VP and VIO tied to the same supply is not a valid example; VP
typically connects to a battery, and VIO is likely a 1.8-V supply. Their
voltage ranges do not overlap, and hence they cannot be shared. I also
suspect there are sequencing restrictions between them as well.
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index dd5de540ec0b..b71017a187f8 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -4933,6 +4933,14 @@ F: sound/pci/hda/cs*
> F: sound/pci/hda/hda_cs_dsp_ctl.*
> F: sound/soc/codecs/cs*
>
> +CIRRUS LOGIC HAPTIC DRIVERS
> +M: James Ogletree <james.ogletree@cirrus.com>
> +M: Fred Treven <fred.treven@cirrus.com>
> +M: Ben Bright <ben.bright@cirrus.com>
> +L: patches@opensource.cirrus.com
> +S: Supported
> +F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> +
> CIRRUS LOGIC DSP FIRMWARE DRIVER
> M: Simon Trimmer <simont@opensource.cirrus.com>
> M: Charles Keepax <ckeepax@opensource.cirrus.com>
> --
> 2.25.1
>
Kind regards,
Jeff LaBundy
next prev parent reply other threads:[~2024-03-10 19:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-08 22:24 [PATCH v9 0/5] Add support for CS40L50 James Ogletree
2024-03-08 22:24 ` [PATCH v9 1/5] firmware: cs_dsp: Add write sequencer interface James Ogletree
2024-03-10 19:12 ` Jeff LaBundy
2024-03-11 10:14 ` Charles Keepax
2024-03-14 14:40 ` Jeff LaBundy
2024-03-15 9:29 ` Charles Keepax
2024-03-08 22:24 ` [PATCH v9 2/5] dt-bindings: input: cirrus,cs40l50: Add initial DT binding James Ogletree
2024-03-10 19:29 ` Jeff LaBundy [this message]
2024-03-11 6:31 ` Krzysztof Kozlowski
2024-03-14 14:42 ` Jeff LaBundy
2024-03-08 22:24 ` [PATCH v9 3/5] mfd: cs40l50: Add support for CS40L50 core driver James Ogletree
2024-03-10 23:40 ` Jeff LaBundy
2024-03-11 10:30 ` Charles Keepax
2024-03-14 15:15 ` Jeff LaBundy
2024-03-14 21:03 ` James Ogletree
2024-03-08 22:24 ` [PATCH v9 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver James Ogletree
2024-03-14 15:54 ` Jeff LaBundy
2024-03-15 20:23 ` James Ogletree
2024-03-08 22:24 ` [PATCH v9 5/5] ASoC: cs40l50: Support I2S streaming to CS40L50 James Ogletree
2024-03-14 16:05 ` Jeff LaBundy
2024-03-14 16:22 ` Mark Brown
2024-03-20 0:41 ` James Ogletree
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ze4KNBEsK5juzpNR@nixie71 \
--to=jeff@labundy.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=jogletre@opensource.cirrus.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lee@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).