iio: Add device tree support to LPC32xx ADC
authorRoland Stigge <stigge@antcom.de>
Sat, 21 Apr 2012 08:10:16 +0000 (10:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Apr 2012 18:04:07 +0000 (11:04 -0700)
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>
Documentation/devicetree/bindings/staging/iio/adc/lpc32xx-adc.txt [new file with mode: 0644]
drivers/staging/iio/adc/lpc32xx_adc.c

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 (file)
index 0000000..b3629d3
--- /dev/null
@@ -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>;
+       };
index ce9320bb9e621196201170de0f6c7134ccbca62f..d7f4fe42d17ee0cacffe422c18390e2a080d5011 100644 (file)
@@ -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),
        },
 };