mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
ar71xx: fix build without CONFIG_NOP_USB_XCEIV (FS#593)
Open-code usb_phy_generic_register instead of calling it, since it is really trivial. Avoid pulling CONFIG_NOP_USB_XCEIV into the kernel config and add a proper dependency instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
f2516e53c1
commit
0504cd22aa
@ -1387,9 +1387,8 @@ $(eval $(call KernelPackage,usbip-server))
|
|||||||
|
|
||||||
define KernelPackage/usb-chipidea
|
define KernelPackage/usb-chipidea
|
||||||
TITLE:=Host and device support for Chipidea controllers
|
TITLE:=Host and device support for Chipidea controllers
|
||||||
DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget @TARGET_ar71xx +kmod-usb-ehci
|
DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget @TARGET_ar71xx +kmod-usb-ehci +kmod-usb-phy-nop
|
||||||
KCONFIG:= \
|
KCONFIG:= \
|
||||||
CONFIG_NOP_USB_XCEIV=y \
|
|
||||||
CONFIG_EXTCON \
|
CONFIG_EXTCON \
|
||||||
CONFIG_USB_CHIPIDEA \
|
CONFIG_USB_CHIPIDEA \
|
||||||
CONFIG_USB_CHIPIDEA_HOST=y \
|
CONFIG_USB_CHIPIDEA_HOST=y \
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
#include <asm/mach-ath79/ath79.h>
|
#include <asm/mach-ath79/ath79.h>
|
||||||
#include <asm/mach-ath79/ar71xx_regs.h>
|
#include <asm/mach-ath79/ar71xx_regs.h>
|
||||||
@@ -170,6 +173,54 @@ static void __init ar913x_usb_setup(void
|
@@ -170,6 +173,51 @@ static void __init ar913x_usb_setup(void
|
||||||
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
|
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,10 +48,9 @@
|
|||||||
+
|
+
|
||||||
+static void __init ar933x_ci_usb_setup(void)
|
+static void __init ar933x_ci_usb_setup(void)
|
||||||
+{
|
+{
|
||||||
+ u32 bootstrap;
|
|
||||||
+ enum usb_dr_mode dr_mode;
|
|
||||||
+ struct ci_hdrc_platform_data ci_pdata;
|
+ struct ci_hdrc_platform_data ci_pdata;
|
||||||
+ struct platform_device *phy;
|
+ enum usb_dr_mode dr_mode;
|
||||||
|
+ u32 bootstrap;
|
||||||
+
|
+
|
||||||
+ bootstrap = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
|
+ bootstrap = ath79_reset_rr(AR933X_RESET_REG_BOOTSTRAP);
|
||||||
+ if (bootstrap & AR933X_BOOTSTRAP_USB_MODE_HOST) {
|
+ if (bootstrap & AR933X_BOOTSTRAP_USB_MODE_HOST) {
|
||||||
@ -70,10 +69,8 @@
|
|||||||
+ ci_pdata.id_extcon.edev = ERR_PTR(-ENODEV);
|
+ ci_pdata.id_extcon.edev = ERR_PTR(-ENODEV);
|
||||||
+ ci_pdata.itc_setting = 1;
|
+ ci_pdata.itc_setting = 1;
|
||||||
+
|
+
|
||||||
+ /* register a nop PHY */
|
+ platform_device_register_simple("usb_phy_generic",
|
||||||
+ phy = usb_phy_generic_register();
|
+ PLATFORM_DEVID_AUTO, NULL, 0);
|
||||||
+ if (IS_ERR(phy))
|
|
||||||
+ return;
|
|
||||||
+
|
+
|
||||||
+ ath79_usb_register("ci_hdrc", -1,
|
+ ath79_usb_register("ci_hdrc", -1,
|
||||||
+ AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
|
+ AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
|
||||||
@ -84,7 +81,7 @@
|
|||||||
static void __init ar933x_usb_setup(void)
|
static void __init ar933x_usb_setup(void)
|
||||||
{
|
{
|
||||||
ath79_device_reset_set(AR933X_RESET_USBSUS_OVERRIDE);
|
ath79_device_reset_set(AR933X_RESET_USBSUS_OVERRIDE);
|
||||||
@@ -185,6 +236,8 @@ static void __init ar933x_usb_setup(void
|
@@ -185,6 +233,8 @@ static void __init ar933x_usb_setup(void
|
||||||
AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
|
AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
|
||||||
ATH79_CPU_IRQ(3),
|
ATH79_CPU_IRQ(3),
|
||||||
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
|
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
|
||||||
|
Loading…
Reference in New Issue
Block a user