X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/67251bb1a5eb25906240b3646561b488b3c22138..b1f3482e708d8d7e2088e80144b09c4c51b07431:/target/linux/lantiq/patches/700-dwc_otg.patch diff --git a/target/linux/lantiq/patches/700-dwc_otg.patch b/target/linux/lantiq/patches/700-dwc_otg.patch index b50970350..81884034c 100644 --- a/target/linux/lantiq/patches/700-dwc_otg.patch +++ b/target/linux/lantiq/patches/700-dwc_otg.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig -@@ -111,6 +111,8 @@ +@@ -113,6 +113,8 @@ source "drivers/usb/host/Kconfig" @@ -39,9 +39,9 @@ + bool "HOST ONLY MODE" + depends on DWC_OTG + -+config DWC_OTG_DEVICE_ONLY -+ bool "DEVICE ONLY MODE" -+ depends on DWC_OTG ++#config DWC_OTG_DEVICE_ONLY ++# bool "DEVICE ONLY MODE" ++# depends on DWC_OTG +endchoice + +choice @@ -1917,7 +1917,7 @@ + dwc_modify_reg32(&global_regs->gintmsk, intr_mask.d32, 0); +} + -+#if 1 ++#if 0 +/* currently not used, keep it here as if needed later */ +static int phy_read(dwc_otg_core_if_t * _core_if, int addr) +{ @@ -5693,7 +5693,7 @@ +} --- /dev/null +++ b/drivers/usb/dwc_otg/dwc_otg_driver.c -@@ -0,0 +1,1269 @@ +@@ -0,0 +1,1274 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg_ipmate/linux/drivers/dwc_otg_driver.c $ + * $Revision: 1.1.1.1 $ @@ -6335,16 +6335,21 @@ +static int __devinit +dwc_otg_driver_probe(struct platform_device *_dev) +{ -+ int retval = 0; -+ dwc_otg_device_t *dwc_otg_device; -+ int32_t snpsid; ++ int retval = 0; ++ dwc_otg_device_t *dwc_otg_device; ++ int pin = (int)_dev->dev.platform_data; ++ int32_t snpsid; + struct resource *res; + gusbcfg_data_t usbcfg = {.d32 = 0}; + + // GPIOs -+ gpio_request(_dev->dev.platform_data, "USB_POWER"); -+ gpio_direction_output(_dev->dev.platform_data, 1); -+ ++ if(pin >= 0) ++ { ++ gpio_request(pin, "usb_power"); ++ gpio_direction_output(pin, 1); ++ gpio_set_value(pin, 1); ++ gpio_export(pin, 0); ++ } + dev_dbg(&_dev->dev, "dwc_otg_driver_probe (%p)\n", _dev); + + dwc_otg_device = kmalloc(sizeof(dwc_otg_device_t), GFP_KERNEL); @@ -13245,7 +13250,7 @@ +#endif /* DWC_DEVICE_ONLY */ --- /dev/null +++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c -@@ -0,0 +1,105 @@ +@@ -0,0 +1,101 @@ +/****************************************************************************** +** +** FILE NAME : dwc_otg_ifx.c @@ -13339,10 +13344,6 @@ + writel (0x14014, (volatile unsigned long *)0xbe10103c); +} + -+static void release_platform_dev(struct device * dev) -+{ -+} -+ +int ifx_usb_hc_init(unsigned long base_addr, int irq) +{ + return 0; @@ -15603,29 +15604,3 @@ +extern void __init xway_register_dwc(int pin); + +#endif ---- a/arch/mips/lantiq/xway/mach-arv45xx.c -+++ b/arch/mips/lantiq/xway/mach-arv45xx.c -@@ -23,6 +23,7 @@ - #include - - #include "devices.h" -+#include "dev-dwc_otg.h" - - #define ARV452_LATCH_SWITCH (1 << 10) - #define ARV752DPW22_LATCH_DEFAULT (2) -@@ -195,6 +196,7 @@ - lq_register_pci(&lq_pci_data); - lq_register_wdt(); - arv45xx_register_ethernet(); -+ xway_register_dwc(14); - } - - MIPS_MACHINE(LANTIQ_MACH_ARV4518, -@@ -214,6 +216,7 @@ - lq_register_pci(&lq_pci_data); - lq_register_wdt(); - arv45xx_register_ethernet(); -+ xway_register_dwc(28); - } - - MIPS_MACHINE(LANTIQ_MACH_ARV452,