summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Stigge <stigge@antcom.de>2012-04-21 10:10:16 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-24 11:04:07 -0700
commit1f9e349460389963838aa5428425e7dc31000af6 (patch)
treee4a43851765408d0e76686b70b46d64654907ac7
parent057340e3de29cc0664a4f97b17cfffd6b083d647 (diff)
downloadlinux-3.10-1f9e349460389963838aa5428425e7dc31000af6.tar.gz
linux-3.10-1f9e349460389963838aa5428425e7dc31000af6.tar.bz2
linux-3.10-1f9e349460389963838aa5428425e7dc31000af6.zip
iio: Add device tree support to LPC32xx ADC
This patch adds device tree support to the LPC32xx's ADC. Signed-off-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt16
-rw-r--r--drivers/staging/iio/adc/lpc32xx_adc.c10
2 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt b/Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt
new file mode 100644
index 00000000000..b3629d3a9ad
--- /dev/null
+++ b/Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt
@@ -0,0 +1,16 @@
+* NXP LPC32xx SoC ADC controller
+
+Required properties:
+- compatible: must be "nxp,lpc3220-adc"
+- reg: physical base address of the controller and length of memory mapped
+ region.
+- interrupts: The ADC interrupt
+
+Example:
+
+ adc@40048000 {
+ compatible = "nxp,lpc3220-adc";
+ reg = <0x40048000 0x1000>;
+ interrupt-parent = <&mic>;
+ interrupts = <39 0>;
+ };
diff --git a/drivers/staging/iio/adc/lpc32xx_adc.c b/drivers/staging/iio/adc/lpc32xx_adc.c
index ce9320bb9e6..d7f4fe42d17 100644
--- a/drivers/staging/iio/adc/lpc32xx_adc.c
+++ b/drivers/staging/iio/adc/lpc32xx_adc.c
@@ -30,6 +30,7 @@
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/completion.h>
+#include <linux/of.h>
#include "../iio.h"
#include "../sysfs.h"
@@ -222,12 +223,21 @@ static int __devexit lpc32xx_adc_remove(struct platform_device *pdev)
return 0;
}
+#ifdef CONFIG_OF
+static const struct of_device_id lpc32xx_adc_match[] = {
+ { .compatible = "nxp,lpc3220-adc" },
+ {},
+};
+MODULE_DEVICE_TABLE(of, lpc32xx_adc_match);
+#endif
+
static struct platform_driver lpc32xx_adc_driver = {
.probe = lpc32xx_adc_probe,
.remove = __devexit_p(lpc32xx_adc_remove),
.driver = {
.name = MOD_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(lpc32xx_adc_match),
},
};