aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch')
-rw-r--r--target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch58
1 files changed, 0 insertions, 58 deletions
diff --git a/target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch b/target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch
deleted file mode 100644
index 97298fd694..0000000000
--- a/target/linux/imx6/patches-3.14/208-ventana-plx-allow-override-gpio-output-mask.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-This patch allows passing in the gpio output mask used for GPIO0-7 on the
-PLX PCIe bridge. These GPIO's are used for PERST# on the downstream ports.
-
-Allowing the kernel to override the default configuration allows for keeping
-specific devices held in reset. One important use of this is to allow
-temporarily disabling devices that may request too many resources such as
-an unprogrammed i210 device.
-
---- a/arch/arm/mach-imx/mach-imx6q.c
-+++ b/arch/arm/mach-imx/mach-imx6q.c
-@@ -84,6 +84,7 @@ static int ksz9031rn_phy_fixup(struct ph
- * fixup for PLX PEX8909 bridge to configure GPIO1-7 as output High
- * as they are used for slots1-7 PERST#
- */
-+unsigned int ventana_plx_gpio = 0xfe;
- static void ventana_pciesw_early_fixup(struct pci_dev *dev)
- {
- u32 dw;
-@@ -95,19 +96,25 @@ static void ventana_pciesw_early_fixup(s
- return;
-
- pci_read_config_dword(dev, 0x62c, &dw);
-+ dev_info(&dev->dev, "de-asserting downstream PERST# 0x%04x\n",
-+ ventana_plx_gpio);
- dw |= 0xaaa8; // GPIO1-7 outputs
- pci_write_config_dword(dev, 0x62c, dw);
--
-- pci_read_config_dword(dev, 0x644, &dw);
-- dw |= 0xfe; // GPIO1-7 output high
-- pci_write_config_dword(dev, 0x644, dw);
--
-+ pci_write_config_dword(dev, 0x644, ventana_plx_gpio);
- msleep(100);
- }
- DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8609, ventana_pciesw_early_fixup);
- DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8606, ventana_pciesw_early_fixup);
- DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8604, ventana_pciesw_early_fixup);
-
-+static int __init setup_ventana_plx_gpio(char *str)
-+{
-+ get_option(&str, &ventana_plx_gpio);
-+
-+ return 0;
-+}
-+early_param("plx_gpio", setup_ventana_plx_gpio);
-+
- static int ar8031_phy_fixup(struct phy_device *dev)
- {
- u16 val;
-@@ -328,7 +335,7 @@ static void __init imx6q_init_irq(void)
- irqchip_init();
- }
-
--static const char *imx6q_dt_compat[] __initconst = {
-+static const char *imx6q_dt_compat[] __initdata = {
- "fsl,imx6dl",
- "fsl,imx6q",
- NULL,