USB: ohci-platform: Expose no_big_frame_no and num_ports in DT
authorKevin Cernekee <cernekee@gmail.com>
Sat, 11 Oct 2014 18:10:48 +0000 (11:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Nov 2014 23:38:17 +0000 (15:38 -0800)
These quirks are currently set through platform_data; allow DT-based SoCs
to use them too.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/usb/usb-ohci.txt
drivers/usb/host/ohci-platform.c

index b968a1a..19233b7 100644 (file)
@@ -9,6 +9,8 @@ Optional properties:
 - big-endian-regs : boolean, set this for hcds with big-endian registers
 - big-endian-desc : boolean, set this for hcds with big-endian descriptors
 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
+- no-big-frame-no : boolean, set if frame_no lives in bits [15:0] of HCCA
+- num-ports : u32, to override the detected port count
 - clocks : a list of phandle + clock specifier pairs
 - phys : phandle + phy specifier pair
 - phy-names : "usb"
index 4369299..6fb03f8 100644 (file)
@@ -175,6 +175,12 @@ static int ohci_platform_probe(struct platform_device *dev)
                if (of_property_read_bool(dev->dev.of_node, "big-endian"))
                        ohci->flags |= OHCI_QUIRK_BE_MMIO | OHCI_QUIRK_BE_DESC;
 
+               if (of_property_read_bool(dev->dev.of_node, "no-big-frame-no"))
+                       ohci->flags |= OHCI_QUIRK_FRAME_NO;
+
+               of_property_read_u32(dev->dev.of_node, "num-ports",
+                                    &ohci->num_ports);
+
                priv->phy = devm_phy_get(&dev->dev, "usb");
                if (IS_ERR(priv->phy)) {
                        err = PTR_ERR(priv->phy);