diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-08-05 12:49:19 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-08-05 12:49:19 +0000 |
commit | 9257d556c27d107102a216eca3472865591a77fb (patch) | |
tree | 7c4f99cd27bc04b78a564c2c4207e1bf95680a4e | |
parent | c80dd34924322153106081ad4ff6d233841acbc9 (diff) | |
download | upstream-9257d556c27d107102a216eca3472865591a77fb.tar.gz upstream-9257d556c27d107102a216eca3472865591a77fb.tar.bz2 upstream-9257d556c27d107102a216eca3472865591a77fb.zip |
ramips: re-implement PCI mux
Parallel flash access on RT3662/RT3883 based devices
is broken without that. It was fixed already some time
ago, but that change seems lost somewhere.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37708
-rw-r--r-- | target/linux/ramips/patches-3.10/0002-MIPS-ralink-add-pinmux-driver.patch | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/target/linux/ramips/patches-3.10/0002-MIPS-ralink-add-pinmux-driver.patch b/target/linux/ramips/patches-3.10/0002-MIPS-ralink-add-pinmux-driver.patch index 1d17e4d54f..67dd69db40 100644 --- a/target/linux/ramips/patches-3.10/0002-MIPS-ralink-add-pinmux-driver.patch +++ b/target/linux/ramips/patches-3.10/0002-MIPS-ralink-add-pinmux-driver.patch @@ -49,7 +49,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> --- /dev/null +++ b/arch/mips/ralink/pinmux.c -@@ -0,0 +1,77 @@ +@@ -0,0 +1,92 @@ +/* + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published @@ -83,7 +83,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> + const __be32 *wdt; + struct device_node *np; + struct property *prop; -+ const char *uart, *pin; ++ const char *uart, *pci, *pin; + u32 mode = 0; + int m; + @@ -125,5 +125,20 @@ Signed-off-by: John Crispin <blogic@openwrt.org> + if (wdt && *wdt && rt_gpio_pinmux.wdt_reset) + rt_gpio_pinmux.wdt_reset(); + ++ pci = NULL; ++ if (rt_gpio_pinmux.pci) ++ of_property_read_string(np, "ralink,pcimux", &pci); ++ ++ if (pci) { ++ mode &= ~(rt_gpio_pinmux.pci_mask << rt_gpio_pinmux.pci_shift); ++ if (ralink_mux_mask(pci, rt_gpio_pinmux.pci, &m)) { ++ mode |= rt_gpio_pinmux.pci_mask << rt_gpio_pinmux.pci_shift; ++ pr_debug("pinmux: failed to load pcimux \"%s\"\n", pci); ++ } else { ++ mode |= m << rt_gpio_pinmux.pci_shift; ++ pr_debug("pinmux: registered pcimux \"%s\"\n", pci); ++ } ++ } ++ + rt_sysc_w32(mode, SYSC_REG_GPIO_MODE); +} |