Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ddbb299d authored by Dudley Du's avatar Dudley Du Committed by Dmitry Torokhov
Browse files

Input: cyapa - introduce device tree binding



Add device tree support for  Cypress trackpad devices.

Signed-off-by: default avatarDudley Du <dudl@cypress.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 36e9615b
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
Cypress I2C Touchpad

Required properties:
- compatible: must be "cypress,cyapa".
- reg: I2C address of the chip.
- interrupt-parent: a phandle for the interrupt controller (see interrupt
	binding[0]).
- interrupts: interrupt to which the chip is connected (see interrupt
	binding[0]).

Optional properties:
- wakeup-source: touchpad can be used as a wakeup source.
- pinctrl-names: should be "default" (see pinctrl binding [1]).
- pinctrl-0: a phandle pointing to the pin settings for the device (see
	pinctrl binding [1]).
- vcc-supply: a phandle for the regulator supplying 3.3V power.

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Example:
	&i2c0 {
		/* ... */

		/* Cypress Gen3 touchpad */
		touchpad@67 {
			compatible = "cypress,cyapa";
			reg = <0x24>;
			interrupt-parent = <&gpio>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
			wakeup-source;
		};

		/* Cypress Gen5 and later touchpad */
		touchpad@24 {
			compatible = "cypress,cyapa";
			reg = <0x24>;
			interrupt-parent = <&gpio>;
			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
			wakeup-source;
		};

		/* ... */
	};
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ cortina Cortina Systems, Inc.
cosmic	Cosmic Circuits
crystalfontz	Crystalfontz America, Inc.
cubietech	Cubietech, Ltd.
cypress	Cypress Semiconductor Corporation
dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
davicom	DAVICOM Semiconductor, Inc.
delta	Delta Electronics, Inc.
+10 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/uaccess.h>
#include <linux/pm_runtime.h>
#include <linux/acpi.h>
#include <linux/of.h>
#include "cyapa.h"


@@ -1487,11 +1488,20 @@ static const struct acpi_device_id cyapa_acpi_id[] = {
MODULE_DEVICE_TABLE(acpi, cyapa_acpi_id);
#endif

#ifdef CONFIG_OF
static const struct of_device_id cyapa_of_match[] = {
	{ .compatible = "cypress,cyapa" },
	{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, cyapa_of_match);
#endif

static struct i2c_driver cyapa_driver = {
	.driver = {
		.name = "cyapa",
		.pm = &cyapa_pm_ops,
		.acpi_match_table = ACPI_PTR(cyapa_acpi_id),
		.of_match_table = of_match_ptr(cyapa_of_match),
	},

	.probe = cyapa_probe,