|
|
|
@ -99,33 +99,6 @@ |
|
|
|
|
obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o
|
|
|
|
|
|
|
|
|
|
obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
|
|
|
|
|
--- a/drivers/usb/host/ehci-platform.c
|
|
|
|
|
+++ b/drivers/usb/host/ehci-platform.c
|
|
|
|
|
@@ -33,6 +33,8 @@
|
|
|
|
|
#include <linux/usb.h>
|
|
|
|
|
#include <linux/usb/hcd.h>
|
|
|
|
|
#include <linux/usb/ehci_pdriver.h>
|
|
|
|
|
+#include <linux/usb/phy.h>
|
|
|
|
|
+#include <linux/usb/otg.h>
|
|
|
|
|
|
|
|
|
|
#include "ehci.h"
|
|
|
|
|
|
|
|
|
|
@@ -255,6 +257,15 @@ static int ehci_platform_probe(struct platform_device *dev)
|
|
|
|
|
hcd->rsrc_start = res_mem->start;
|
|
|
|
|
hcd->rsrc_len = resource_size(res_mem);
|
|
|
|
|
|
|
|
|
|
+#ifdef CONFIG_USB_PHY
|
|
|
|
|
+ hcd->phy = devm_usb_get_phy(&dev->dev, USB_PHY_TYPE_USB2);
|
|
|
|
|
+ if (!IS_ERR_OR_NULL(hcd->phy)) {
|
|
|
|
|
+ otg_set_host(hcd->phy->otg,
|
|
|
|
|
+ &hcd->self);
|
|
|
|
|
+ usb_phy_init(hcd->phy);
|
|
|
|
|
+ }
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
|
|
|
|
|
if (IS_ERR(hcd->regs)) {
|
|
|
|
|
err = PTR_ERR(hcd->regs);
|
|
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/drivers/usb/host/mtk-phy-7621.c
|
|
|
|
|
@@ -0,0 +1,445 @@
|
|
|
|
@ -3796,40 +3769,6 @@ |
|
|
|
|
+/***********************************/
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
--- a/drivers/usb/host/ohci-platform.c
|
|
|
|
|
+++ b/drivers/usb/host/ohci-platform.c
|
|
|
|
|
@@ -27,7 +27,10 @@
|
|
|
|
|
#include <linux/reset.h>
|
|
|
|
|
#include <linux/usb/ohci_pdriver.h>
|
|
|
|
|
#include <linux/usb.h>
|
|
|
|
|
+#include <linux/usb/phy.h>
|
|
|
|
|
#include <linux/usb/hcd.h>
|
|
|
|
|
+#include <linux/dma-mapping.h>
|
|
|
|
|
+#include <linux/of.h>
|
|
|
|
|
|
|
|
|
|
#include "ohci.h"
|
|
|
|
|
|
|
|
|
|
@@ -41,6 +44,7 @@ struct ohci_platform_priv {
|
|
|
|
|
struct phy *phy;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
+static struct usb_ohci_pdata ohci_platform_defaults;
|
|
|
|
|
static const char hcd_name[] = "ohci-platform";
|
|
|
|
|
|
|
|
|
|
static int ohci_platform_reset(struct usb_hcd *hcd)
|
|
|
|
|
@@ -239,6 +243,12 @@ static int ohci_platform_probe(struct platform_device *dev)
|
|
|
|
|
hcd->rsrc_start = res_mem->start;
|
|
|
|
|
hcd->rsrc_len = resource_size(res_mem);
|
|
|
|
|
|
|
|
|
|
+#ifdef CONFIG_USB_PHY
|
|
|
|
|
+ hcd->phy = devm_usb_get_phy(&dev->dev, USB_PHY_TYPE_USB2);
|
|
|
|
|
+ if (!IS_ERR_OR_NULL(hcd->phy))
|
|
|
|
|
+ usb_phy_init(hcd->phy);
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
|
|
|
|
|
if (IS_ERR(hcd->regs)) {
|
|
|
|
|
err = PTR_ERR(hcd->regs);
|
|
|
|
|
--- a/drivers/usb/host/pci-quirks.h
|
|
|
|
|
+++ b/drivers/usb/host/pci-quirks.h
|
|
|
|
|
@@ -1,7 +1,7 @@
|
|
|
|
|