Message ID | 20230808172511.665787-1-james.ogletree@cirrus.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: input: cirrus,cs40l50: Support for CS40L50 | expand |
On 08/08/2023 19:25, James Ogletree wrote: > Introduce device tree bindings for the initial commit > of the CS40L50 driver. > > Change-Id: I95369831f947cb32a0a80e81923fd28ace888481 Please run scripts/checkpatch.pl and fix reported warnings. Some warnings can be ignored, but the code here looks like it needs a fix. Feel free to get in touch if the warning is not clear. > Signed-off-by: James Ogletree <james.ogletree@cirrus.com> > --- > .../bindings/input/cirrus,cs40l50.yaml | 77 +++++++++++++++++++ > MAINTAINERS | 9 +++ > 2 files changed, 86 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..5437c6beb1b3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml > @@ -0,0 +1,77 @@ > +# 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 Driver as "motor"? If yes, then ok. If "Linux Driver" then not. > + > +maintainers: > + - James Ogletree <james.ogletree@cirrus.com> > + > +description: > + CS40L50 is a Haptic Driver with Waveform Memory DSP > + and Closed-Loop Algorithms > + > +properties: > + compatible: > + enum: > + - cirrus,cs40l50 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + VA-supply: > + description: Regulator for analog voltage Keep lowercase, so "va-supply". > + > + VP-supply: > + description: Regulator for peak voltage ditto > + > + VIO-supply: > + description: Regulator for digital IO voltage ditto > + > + cirrus,external-boost: > + description: > + Bypass the CS40L50 boost converter. > + > + The amplifier on CS40L50 can be powered internally through the boost > + converter, or else can be powered using an external supply. If an > + external VA supply is used, the boost converter must be bypassed. > + type: boolean Isn't this property then conflicting with va-supply? > + > +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>; > + > + cs40l50@34 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "cirrus,cs40l50"; > + reg = <0x34>; > + interrupt-parent = <&gpio>; > + interrupts = <113 IRQ_TYPE_LEVEL_LOW>; > + reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>; > + VA-supply = <&dummy_vreg>; s/dummy_// > + VP-supply = <&dummy_vreg>; s/dummy_// > + VIO-supply = <&dummy_vreg>; s/dummy_// > + cirrus,external-boost; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 54ef320bb689..016e5ff3b831 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2081,6 +2081,15 @@ F: arch/arm/boot/compressed/misc-ep93xx.h > F: arch/arm/mach-ep93xx/ > F: drivers/iio/adc/ep93xx_adc.c > > +CIRRUS LOGIC HAPTICS DRIVER > +M: James Ogletree <james.ogletree@cirrus.com> > +M: Fred Treven <fred.treven@cirrus.com> > +M: Ben Bright <ben.bright@cirrus.com> > +L: patches@Qopensource.cirrus.com No typo in email? Qopensource? > +S: Supported > +T: git https://github.com/CirrusLogic/linux-drivers.git We do not have real maintenance entries for individual drivers, thus no git trees. Who is going to pull from your tree? Is your GPG key in kernel.org keyring? I propose to drop the tree reference. > +F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml > + > ARM/CLKDEV SUPPORT > M: Russell King <linux@armlinux.org.uk> > L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) Best regards, Krzysztof
> On Aug 9, 2023, at 1:43 AM, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 08/08/2023 19:25, James Ogletree wrote: > >> Signed-off-by: James Ogletree <james.ogletree@cirrus.com> >> --- >> .../bindings/input/cirrus,cs40l50.yaml | 77 +++++++++++++++++++ >> MAINTAINERS | 9 +++ >> 2 files changed, 86 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..5437c6beb1b3 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml >> @@ -0,0 +1,77 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: https://urldefense.com/v3/__http://devicetree.org/schemas/input/cirrus,cs40l50.yaml*__;Iw!!DQ3KfwI!2ioHhI2ig3axVRD-7MYqqT1LF_bitWe1l-B-FQDJfUX_EaTLrLmUnqtyDtEXCVE2cNozj7ODAF7f09JdwmjS9avyHs13Hiw$ >> +$schema: https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core.yaml*__;Iw!!DQ3KfwI!2ioHhI2ig3axVRD-7MYqqT1LF_bitWe1l-B-FQDJfUX_EaTLrLmUnqtyDtEXCVE2cNozj7ODAF7f09JdwmjS9avyeDxRunA$ >> + >> +title: Cirrus Logic CS40L50 Advanced Haptic Driver > > Driver as "motor"? If yes, then ok. If "Linux Driver" then not. The former, so keeping as-is. > >> + >> + cirrus,external-boost: >> + description: >> + Bypass the CS40L50 boost converter. >> + >> + The amplifier on CS40L50 can be powered internally through the boost >> + converter, or else can be powered using an external supply. If an >> + external VA supply is used, the boost converter must be bypassed. >> + type: boolean > > Isn't this property then conflicting with va-supply? “VA" was intended to mean amplifier voltage, not analog voltage. I will remove “VA" to fix the ambiguity. Best, James Ogletree
diff --git a/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml new file mode 100644 index 000000000000..5437c6beb1b3 --- /dev/null +++ b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml @@ -0,0 +1,77 @@ +# 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> + +description: + CS40L50 is a Haptic Driver with Waveform Memory DSP + and Closed-Loop Algorithms + +properties: + compatible: + enum: + - cirrus,cs40l50 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + VA-supply: + description: Regulator for analog voltage + + VP-supply: + description: Regulator for peak voltage + + VIO-supply: + description: Regulator for digital IO voltage + + cirrus,external-boost: + description: + Bypass the CS40L50 boost converter. + + The amplifier on CS40L50 can be powered internally through the boost + converter, or else can be powered using an external supply. If an + external VA supply is used, the boost converter must be bypassed. + 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>; + + cs40l50@34 { + compatible = "cirrus,cs40l50"; + reg = <0x34>; + interrupt-parent = <&gpio>; + interrupts = <113 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>; + VA-supply = <&dummy_vreg>; + VP-supply = <&dummy_vreg>; + VIO-supply = <&dummy_vreg>; + cirrus,external-boost; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 54ef320bb689..016e5ff3b831 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2081,6 +2081,15 @@ F: arch/arm/boot/compressed/misc-ep93xx.h F: arch/arm/mach-ep93xx/ F: drivers/iio/adc/ep93xx_adc.c +CIRRUS LOGIC HAPTICS DRIVER +M: James Ogletree <james.ogletree@cirrus.com> +M: Fred Treven <fred.treven@cirrus.com> +M: Ben Bright <ben.bright@cirrus.com> +L: patches@Qopensource.cirrus.com +S: Supported +T: git https://github.com/CirrusLogic/linux-drivers.git +F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml + ARM/CLKDEV SUPPORT M: Russell King <linux@armlinux.org.uk> L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
Introduce device tree bindings for the initial commit of the CS40L50 driver. Change-Id: I95369831f947cb32a0a80e81923fd28ace888481 Signed-off-by: James Ogletree <james.ogletree@cirrus.com> --- .../bindings/input/cirrus,cs40l50.yaml | 77 +++++++++++++++++++ MAINTAINERS | 9 +++ 2 files changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml