diff options
Diffstat (limited to 'target/linux/imx6/patches-3.10/120-ventana-init.ptach')
-rw-r--r-- | target/linux/imx6/patches-3.10/120-ventana-init.ptach | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/target/linux/imx6/patches-3.10/120-ventana-init.ptach b/target/linux/imx6/patches-3.10/120-ventana-init.ptach deleted file mode 100644 index 2dd91d2e9a..0000000000 --- a/target/linux/imx6/patches-3.10/120-ventana-init.ptach +++ /dev/null @@ -1,70 +0,0 @@ -Many of the Gateworks Ventana boards use a PLX PEX860X PCIe Switch -and utilize its GPIO outputs as PERST# for downstream ports. This -patch configures them appropriately during enumeration. - -Additionally many of the Ventana boards use CKO1 as the clock input for -an analog audio codec which is setup here. - ---- a/arch/arm/mach-imx/mach-imx6q.c -+++ b/arch/arm/mach-imx/mach-imx6q.c -@@ -25,6 +25,7 @@ - #include <linux/of_irq.h> - #include <linux/of_platform.h> - #include <linux/opp.h> -+#include <linux/pci.h> - #include <linux/phy.h> - #include <linux/regmap.h> - #include <linux/micrel_phy.h> -@@ -145,6 +146,42 @@ static void __init imx6q_sabrelite_init( - imx6q_sabrelite_cko1_setup(); - } - -+/* -+ * fixup for PEX 8909 bridge to configure GPIO1-7 as output High -+ * as they are used for slots1-7 PERST# -+ */ -+static void mx6_ventana_pciesw_early_fixup(struct pci_dev *dev) -+{ -+ u32 dw; -+ -+ if (!of_machine_is_compatible("gw,ventana")) -+ return; -+ -+ if (dev->devfn != 0) -+ return; -+ -+ pci_read_config_dword(dev, 0x62c, &dw); -+ 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); -+ -+ mdelay(100); -+} -+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8609, -+ mx6_ventana_pciesw_early_fixup); -+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8606, -+ mx6_ventana_pciesw_early_fixup); -+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8604, -+ mx6_ventana_pciesw_early_fixup); -+ -+static void __init imx6q_ventana_init(void) -+{ -+ imx6q_sabrelite_cko1_setup(); -+} -+ - static void __init imx6q_1588_init(void) - { - struct regmap *gpr; -@@ -163,6 +200,9 @@ static void __init imx6q_usb_init(void) - - static void __init imx6q_init_machine(void) - { -+ if (of_machine_is_compatible("gw,ventana")) -+ imx6q_ventana_init(); -+ - if (of_machine_is_compatible("fsl,imx6q-sabrelite")) - imx6q_sabrelite_init(); - |