From 666bfc6fb554441f1940eba84e00be10487e2463 Mon Sep 17 00:00:00 2001
From: John Crispin <john@phrozen.org>
Date: Thu, 23 Mar 2017 08:29:21 +0100
Subject: [PATCH] Revert "ipq806x: make the dwc3 driver and required phy
 drivers built-in"

This reverts commit d5b10bb560c2c3c615babfcfb64519bfc65818d9.

This caused boot errors on some ipq8 boards

Signed-off-by: John Crispin <john@phrozen.org>
---
 target/linux/ipq806x/config-4.9 |  7 +------
 target/linux/ipq806x/modules.mk | 31 +++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 6 deletions(-)
 create mode 100644 target/linux/ipq806x/modules.mk

diff --git a/target/linux/ipq806x/config-4.9 b/target/linux/ipq806x/config-4.9
index cf16ff4383..072ab6a897 100644
--- a/target/linux/ipq806x/config-4.9
+++ b/target/linux/ipq806x/config-4.9
@@ -371,7 +371,6 @@ CONFIG_PERF_USE_VMALLOC=y
 CONFIG_PGTABLE_LEVELS=2
 CONFIG_PHYLIB=y
 # CONFIG_PHY_QCOM_APQ8064_SATA is not set
-CONFIG_PHY_QCOM_DWC3=y
 CONFIG_PHY_QCOM_IPQ806X_SATA=y
 # CONFIG_PHY_QCOM_UFS is not set
 CONFIG_PINCTRL=y
@@ -483,12 +482,8 @@ CONFIG_UEVENT_HELPER_PATH=""
 CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
 CONFIG_USB=y
 CONFIG_USB_COMMON=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC3_HOST=y
-CONFIG_USB_DWC3_OF_SIMPLE=y
 # CONFIG_USB_EHCI_HCD is not set
-CONFIG_USB_IPQ4019_PHY=y
-CONFIG_USB_PHY=y
+# CONFIG_USB_IPQ4019_PHY is not set
 CONFIG_USB_SUPPORT=y
 # CONFIG_USB_UHCI_HCD is not set
 CONFIG_USE_OF=y
diff --git a/target/linux/ipq806x/modules.mk b/target/linux/ipq806x/modules.mk
new file mode 100644
index 0000000000..6f1ca2d2a4
--- /dev/null
+++ b/target/linux/ipq806x/modules.mk
@@ -0,0 +1,31 @@
+define KernelPackage/usb-dwc3-of-simple
+  TITLE:=DWC3 USB simple OF driver
+  DEPENDS:=+kmod-usb-dwc3
+  KCONFIG:= CONFIG_USB_DWC3_OF_SIMPLE
+  FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-of-simple.ko
+  AUTOLOAD:=$(call AutoLoad,53,dwc3-of-simple,1)
+  $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-dwc3-of-simple/description
+ This driver provides generic platform glue for the integrated DesignWare
+ USB3 IP Core.
+endef
+
+$(eval $(call KernelPackage,usb-dwc3-of-simple))
+
+define KernelPackage/usb-phy-qcom-dwc3
+  TITLE:=DWC3 USB QCOM PHY driver
+  DEPENDS:=@TARGET_ipq806x +kmod-usb-dwc3-of-simple
+  KCONFIG:= CONFIG_PHY_QCOM_DWC3
+  FILES:= $(LINUX_DIR)/drivers/phy/phy-qcom-dwc3.ko
+  AUTOLOAD:=$(call AutoLoad,45,phy-qcom-dwc3,1)
+  $(call AddDepends/usb)
+endef
+
+define KernelPackage/usb-phy-qcom-dwc3/description
+ This driver provides support for the integrated DesignWare
+ USB3 IP Core within the QCOM SoCs.
+endef
+
+$(eval $(call KernelPackage,usb-phy-qcom-dwc3))
-- 
GitLab