aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-18 11:40:19 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-18 11:40:19 +0000
commitf577cb25c09daad670755b9b46622258cf999421 (patch)
treeee7361facfb1c544bab629f3fe11376b71f3d4d7 /target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch
parente0bfd2529592313a163fcae4d99351d69dc637bf (diff)
downloadupstream-f577cb25c09daad670755b9b46622258cf999421.tar.gz
upstream-f577cb25c09daad670755b9b46622258cf999421.tar.bz2
upstream-f577cb25c09daad670755b9b46622258cf999421.zip
lantiq: Add support for linux 4.4
The following patches were dropped because they are already applied upstream: - 0038-MIPS-lantiq-fpi-on-ar9.patch - 0039-MIPS-lantiq-initialize-usb-on-boot.patch - 0042-USB-DWC2-big-endian-support.patch - 0043-gpio-stp-xway-fix-phy-mask.patch All other patches were simply refreshed, except the following: - 0001-MIPS-lantiq-add-pcie-driver.patch Changes to arch/mips/lantiq/xway/sysctrl.c (these changes disabled some PMU gates for the vrx200 / VR9 SoCs) were removed since the upstream kernel disables unused PMU gates automatically (since 95135bfa7ead1becc2879230f72583dde2b71a0c "MIPS: Lantiq: Deactivate most of the devices by default"). - 0025-NET-MIPS-lantiq-adds-xrx200-net.patch Since OpenWrt commit 55ba20afcc2fe785146316e5be2c2473cb329885 drivers should use of_get_mac_address(). of_get_mac_address_mtd is not available for drivers anymore since it's called automatically within of_get_mac_address(). - 0028-NET-lantiq-various-etop-fixes.patch Same changes as in 0025-NET-MIPS-lantiq-adds-xrx200-net.patch While refreshing the kernel configuration SPI support had to be moved to config-4.4 because otherwise M25P80 was disabled. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> SVN-Revision: 48307
Diffstat (limited to 'target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch')
-rw-r--r--target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch b/target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch
new file mode 100644
index 0000000000..5f26784621
--- /dev/null
+++ b/target/linux/lantiq/patches-4.4/0040-USB-DWC2-enable-usb-power-gpio.patch
@@ -0,0 +1,35 @@
+--- a/drivers/usb/dwc2/platform.c
++++ b/drivers/usb/dwc2/platform.c
+@@ -42,6 +42,7 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/of_device.h>
+ #include <linux/mutex.h>
++#include <linux/of_gpio.h>
+ #include <linux/platform_device.h>
+ #include <linux/phy/phy.h>
+ #include <linux/platform_data/s3c-hsotg.h>
+@@ -336,6 +337,7 @@ static int dwc2_driver_probe(struct plat
+ struct resource *res;
+ int retval;
+ int irq;
++ int gpio_count;
+
+ match = of_match_device(dwc2_of_match_table, &dev->dev);
+ if (match && match->data) {
+@@ -352,6 +354,16 @@ static int dwc2_driver_probe(struct plat
+ defparams.dma_desc_enable = 0;
+ }
+
++ gpio_count = of_gpio_count(dev->dev.of_node);
++ while (gpio_count > 0) {
++ enum of_gpio_flags flags;
++ int gpio = of_get_gpio_flags(dev->dev.of_node, --gpio_count, &flags);
++ if (gpio_request(gpio, "usb"))
++ continue;
++ dev_info(&dev->dev, "requested GPIO %d\n", gpio);
++ gpio_direction_output(gpio, (flags & OF_GPIO_ACTIVE_LOW) ? (0) : (1));
++ }
++
+ hsotg = devm_kzalloc(&dev->dev, sizeof(*hsotg), GFP_KERNEL);
+ if (!hsotg)
+ return -ENOMEM;