summaryrefslogtreecommitdiff
path: root/target/linux/imx6/patches-3.10
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2013-10-30 23:31:26 +0000
committerLuka Perkov <luka@openwrt.org>2013-10-30 23:31:26 +0000
commit672a8cd6ba72820f24a02dd237edaec3cd8973c5 (patch)
treebc721f84fd39a89e6881ddf06389b8ac0ab87d5f /target/linux/imx6/patches-3.10
parent8effe85ada423f2b61d863befd6e9b2430851d2d (diff)
downloadmtk-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.patch20
-rw-r--r--target/linux/imx6/patches-3.10/0029-regulator-pfuze100-allow-misprogrammed-ID.patch32
-rw-r--r--target/linux/imx6/patches-3.10/0034-PCI-imx6-add-support-for-legacy-irqs.patch43
-rw-r--r--target/linux/imx6/patches-3.10/0034-PCI-imx6-swizzle-interrupts.patch26
-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