Introduce device tree bindings for the initial commit of the CS40L50 driver. Signed-off-by: James Ogletree <james.ogletree@xxxxxxxxxx> --- .../bindings/input/cirrus,cs40l50.yaml | 77 +++++++++++++++++++ MAINTAINERS | 8 ++ 2 files changed, 85 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..0da7211efdec --- /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@xxxxxxxxxx> + +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 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>; + + haptic-driver@34 { + compatible = "cirrus,cs40l50"; + reg = <0x34>; + interrupt-parent = <&gpio>; + interrupts = <113 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>; + va-supply = <&vreg>; + vp-supply = <&vreg>; + vio-supply = <&vreg>; + cirrus,external-boost; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 54ef320bb689..2869dd2dbbcf 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2081,6 +2081,14 @@ 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@xxxxxxxxxx> +M: Fred Treven <fred.treven@xxxxxxxxxx> +M: Ben Bright <ben.bright@xxxxxxxxxx> +L: patches@xxxxxxxxxxxxxxxxxxxxx +S: Supported +F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml + ARM/CLKDEV SUPPORT M: Russell King <linux@xxxxxxxxxxxxxxx> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers) -- 2.25.1