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

Commit 5cb727a8 authored by Roland Stigge's avatar Roland Stigge Committed by Dmitry Torokhov
Browse files

Input: lpc32xx_ts - add device tree support



This change implements device tree support for the LPC32xx SoC's touchscreen
controller.

Signed-off-by: default avatarRoland Stigge <stigge@antcom.de>
Reviewed-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent b5e9528b
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
* NXP LPC32xx SoC Touchscreen Controller (TSC)

Required properties:
- compatible: must be "nxp,lpc32xx-tsc"
- reg: physical base address of the controller and length of memory mapped
  region.
- interrupts: The TSC/ADC interrupt

Example:

	tsc@40048000 {
		compatible = "nxp,lpc32xx-tsc";
		reg = <0x40048000 0x1000>;
		interrupt-parent = <&mic>;
		interrupts = <39 0>;
	};
+10 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/of.h>

/*
 * Touchscreen controller register offsets
@@ -383,6 +384,14 @@ static const struct dev_pm_ops lpc32xx_ts_pm_ops = {
#define LPC32XX_TS_PM_OPS NULL
#endif

#ifdef CONFIG_OF
static struct of_device_id lpc32xx_tsc_of_match[] = {
	{ .compatible = "nxp,lpc32xx-tsc", },
	{ },
};
MODULE_DEVICE_TABLE(of, lpc32xx_tsc_of_match);
#endif

static struct platform_driver lpc32xx_ts_driver = {
	.probe		= lpc32xx_ts_probe,
	.remove		= __devexit_p(lpc32xx_ts_remove),
@@ -390,6 +399,7 @@ static struct platform_driver lpc32xx_ts_driver = {
		.name	= MOD_NAME,
		.owner	= THIS_MODULE,
		.pm	= LPC32XX_TS_PM_OPS,
		.of_match_table = of_match_ptr(lpc32xx_tsc_of_match),
	},
};
module_platform_driver(lpc32xx_ts_driver);