diff options
author | Luka Perkov <luka@openwrt.org> | 2013-10-30 23:31:26 +0000 |
---|---|---|
committer | Luka Perkov <luka@openwrt.org> | 2013-10-30 23:31:26 +0000 |
commit | 672a8cd6ba72820f24a02dd237edaec3cd8973c5 (patch) | |
tree | bc721f84fd39a89e6881ddf06389b8ac0ab87d5f /target/linux/imx6/patches-3.10 | |
parent | 8effe85ada423f2b61d863befd6e9b2430851d2d (diff) | |
download | mtk-20170518-672a8cd6ba72820f24a02dd237edaec3cd8973c5.zip mtk-20170518-672a8cd6ba72820f24a02dd237edaec3cd8973c5.tar.gz mtk-20170518-672a8cd6ba72820f24a02dd237edaec3cd8973c5.tar.bz2 |
imx6: update patches
Changes include PCI fixes and various upstream pending patches.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38624
Diffstat (limited to 'target/linux/imx6/patches-3.10')
-rw-r--r-- | target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch | 20 | ||||
-rw-r--r-- | target/linux/imx6/patches-3.10/0029-regulator-pfuze100-allow-misprogrammed-ID.patch | 32 | ||||
-rw-r--r-- | target/linux/imx6/patches-3.10/0034-PCI-imx6-add-support-for-legacy-irqs.patch | 43 | ||||
-rw-r--r-- | target/linux/imx6/patches-3.10/0034-PCI-imx6-swizzle-interrupts.patch | 26 | ||||
-rw-r--r-- | target/linux/imx6/patches-3.10/0050-sky2-allow-mac-to-come-from-dt.patch (renamed from target/linux/imx6/patches-3.10/020-marvell-sky2-macdt.patch) | 36 |
5 files changed, 99 insertions, 58 deletions
diff --git a/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch b/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch deleted file mode 100644 index a9399a9..0000000 --- a/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/regulator/pfuze100-regulator.c -+++ b/drivers/regulator/pfuze100-regulator.c -@@ -308,9 +308,14 @@ static int pfuze_identify(struct pfuze_c - if (ret) - return ret; - -- if (value & 0x0f) { -- dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); -- return -ENODEV; -+ switch (value & 0xf) { -+ case 0x0: -+ /* Freescale misprogrammed 1-3% of parts prior to week 8 of 2013 as ID=8 */ -+ case 0x8: -+ break; -+ default: -+ dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); -+ return -ENODEV; - } - - ret = regmap_read(pfuze_chip->regmap, PFUZE100_REVID, &value); diff --git a/target/linux/imx6/patches-3.10/0029-regulator-pfuze100-allow-misprogrammed-ID.patch b/target/linux/imx6/patches-3.10/0029-regulator-pfuze100-allow-misprogrammed-ID.patch new file mode 100644 index 0000000..8c0a92b --- /dev/null +++ b/target/linux/imx6/patches-3.10/0029-regulator-pfuze100-allow-misprogrammed-ID.patch @@ -0,0 +1,32 @@ +From: Tim Harvey <tharvey@gateworks.com> +Subject: [PATCH] regulator: pfuze100: allow misprogrammed ID + +prior to week 08 of 2013 Freescale misprogrammed between 1 and 3% of +PFUZE1000 parts with a ID=0x8 instead of the expected ID=0x0 + +Signed-off-by: Tim Harvey <tharvey@gateworks.com> +--- + drivers/regulator/pfuze100-regulator.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/drivers/regulator/pfuze100-regulator.c ++++ b/drivers/regulator/pfuze100-regulator.c +@@ -308,9 +308,15 @@ static int pfuze_identify(struct pfuze_c + if (ret) + return ret; + +- if (value & 0x0f) { +- dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); +- return -ENODEV; ++ switch (value & 0x0f) { ++ /* Freescale misprogrammed 1-3% of parts prior to week 8 of 2013 as ID=8 */ ++ case 0x8: ++ dev_info(pfuze_chip->dev, "Assuming misprogrammed ID=0x8"); ++ case 0x0: ++ break; ++ default: ++ dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); ++ return -ENODEV; + } + + ret = regmap_read(pfuze_chip->regmap, PFUZE100_REVID, &value); diff --git a/target/linux/imx6/patches-3.10/0034-PCI-imx6-add-support-for-legacy-irqs.patch b/target/linux/imx6/patches-3.10/0034-PCI-imx6-add-support-for-legacy-irqs.patch new file mode 100644 index 0000000..1f81e43 --- /dev/null +++ b/target/linux/imx6/patches-3.10/0034-PCI-imx6-add-support-for-legacy-irqs.patch @@ -0,0 +1,43 @@ +From: Tim Harvey <tharvey@gateworks.com> +Subject: [PATCH] PCI: imx6: add support for legacy irqs + +The i.MX6 supports legacy IRQ's via 155,154,153,152. When devices +are behind a PCIe-to-PCIe switch (at least for the TI XIO2001) the +mapping is reversed from when they are behind a PCIe switch. + +This patch still needs some review and clarification before going +upstream. +--- + drivers/pci/host/pcie-designware.c | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +--- a/drivers/pci/host/pcie-designware.c ++++ b/drivers/pci/host/pcie-designware.c +@@ -447,7 +447,26 @@ int dw_pcie_map_irq(const struct pci_dev + { + struct pcie_port *pp = sys_to_pcie(dev->bus->sysdata); + +- return pp->irq; ++ /* TI XIO2001 PCIe-to-PCI bridge IRQs are flipped it seems */ ++ if ( dev->bus && dev->bus->self ++ && (dev->bus->self->vendor == 0x104c) ++ && (dev->bus->self->device == 0x8240)) { ++ switch (pin) { ++ case 1: return pp->irq - 3; ++ case 2: return pp->irq - 2; ++ case 3: return pp->irq - 1; ++ case 4: return pp->irq; ++ default: return -1; ++ } ++ } else { ++ switch (pin) { ++ case 1: return pp->irq; ++ case 2: return pp->irq - 1; ++ case 3: return pp->irq - 2; ++ case 4: return pp->irq - 3; ++ default: return -1; ++ } ++ } + } + + static struct hw_pci dw_pci = { diff --git a/target/linux/imx6/patches-3.10/0034-PCI-imx6-swizzle-interrupts.patch b/target/linux/imx6/patches-3.10/0034-PCI-imx6-swizzle-interrupts.patch deleted file mode 100644 index d716fe4..0000000 --- a/target/linux/imx6/patches-3.10/0034-PCI-imx6-swizzle-interrupts.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Tim Harvey <tharvey@gateworks.com> -Subject: [PATCH 1/5] PCI: imx6: swizzle interrupts - - -Signed-off-by: Tim Harvey <tharvey@gateworks.com> ---- - drivers/pci/host/pcie-designware.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - ---- a/drivers/pci/host/pcie-designware.c -+++ b/drivers/pci/host/pcie-designware.c -@@ -447,7 +447,13 @@ int dw_pcie_map_irq(const struct pci_dev - { - struct pcie_port *pp = sys_to_pcie(dev->bus->sysdata); - -- return pp->irq; -+ switch (pin) { -+ case 1: return pp->irq - 3; -+ case 2: return pp->irq - 2; -+ case 3: return pp->irq - 1; -+ case 4: return pp->irq; -+ default: return -1; -+ } - } - - static struct hw_pci dw_pci = { diff --git a/target/linux/imx6/patches-3.10/020-marvell-sky2-macdt.patch b/target/linux/imx6/patches-3.10/0050-sky2-allow-mac-to-come-from-dt.patch index e1639d6..54743a5 100644 --- a/target/linux/imx6/patches-3.10/020-marvell-sky2-macdt.patch +++ b/target/linux/imx6/patches-3.10/0050-sky2-allow-mac-to-come-from-dt.patch @@ -1,3 +1,15 @@ +From: Tim Harvey <tharvey@gateworks.com> +Subject: [PATCH] sky2: allow mac to come from dt + +The driver reads the mac address from the device registers which would +need to have been programmed by the bootloader. This patch adds +the ability to pull the mac from devicetree via the aliases/sky2 node. + +Signed-off-by: Tim Harvey <tharvey@gateworks.com> +--- + drivers/net/ethernet/marvell/sky2.c | 33 ++++++++++++++++++++++++++++++++- + 1 file changed, 32 insertions(+), 1 deletion(-) + --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c @@ -44,6 +44,8 @@ @@ -27,19 +39,19 @@ + * 2) from internal registers set by bootloader + */ + iap = NULL; -+#ifdef CONFIG_OF -+ struct device_node *np; -+ np = of_find_node_by_path("/aliases"); -+ if (np) { -+ const char *path = of_get_property(np, "sky2", NULL); -+ if (path) -+ np = of_find_node_by_path(path); -+ if (np) -+ path = of_get_mac_address(np); -+ if (path) -+ iap = (unsigned char *) path; ++ if (IS_ENABLED(CONFIG_OF)) { ++ struct device_node *np; ++ np = of_find_node_by_path("/aliases"); ++ if (np) { ++ const char *path = of_get_property(np, "sky2", NULL); ++ if (path) ++ np = of_find_node_by_path(path); ++ if (np) ++ path = of_get_mac_address(np); ++ if (path) ++ iap = (unsigned char *) path; ++ } + } -+#endif + + /* + * 2) mac registers set by bootloader |