ARM: vt8500: Update vt8500-ehci driver to support device tree.
authorTony Prisk <linux@prisktech.co.nz>
Sat, 21 Jul 2012 10:58:52 +0000 (22:58 +1200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Aug 2012 21:00:37 +0000 (14:00 -0700)
Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/usb/vt8500-ehci.txt [new file with mode: 0644]
drivers/usb/host/ehci-vt8500.c

diff --git a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
new file mode 100644 (file)
index 0000000..5fb8fd6
--- /dev/null
@@ -0,0 +1,12 @@
+VIA VT8500 and Wondermedia WM8xxx SoC USB controllers.
+
+Required properties:
+ - compatible: Should be "via,vt8500-ehci" or "wm,prizm-ehci".
+ - reg: Address range of the ehci registers. size should be 0x200
+ - interrupts: Should contain the ehci interrupt.
+
+usb: ehci@D8007100 {
+       compatible = "wm,prizm-ehci", "usb-ehci";
+       reg = <0xD8007100 0x200>;
+       interrupts = <1>;
+};
index a8916177bed7ade9a08f829739d7894ede4de2e5..96722bfebc84ba0bed49f6cd4c0aa3313f7f55dd 100644 (file)
@@ -16,6 +16,7 @@
  *
  */
 
+#include <linux/of.h>
 #include <linux/platform_device.h>
 
 static int ehci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
@@ -139,6 +140,12 @@ static int vt8500_ehci_drv_remove(struct platform_device *pdev)
        return 0;
 }
 
+static const struct of_device_id vt8500_ehci_ids[] = {
+       { .compatible = "via,vt8500-ehci", },
+       { .compatible = "wm,prizm-ehci", },
+       {}
+};
+
 static struct platform_driver vt8500_ehci_driver = {
        .probe          = vt8500_ehci_drv_probe,
        .remove         = vt8500_ehci_drv_remove,
@@ -146,7 +153,9 @@ static struct platform_driver vt8500_ehci_driver = {
        .driver = {
                .name   = "vt8500-ehci",
                .owner  = THIS_MODULE,
+               .of_match_table = of_match_ptr(vt8500_ehci_ids),
        }
 };
 
 MODULE_ALIAS("platform:vt8500-ehci");
+MODULE_DEVICE_TABLE(of, vt8500_ehci_ids);