From 4988568d7ffeb9877ab037793ef31ee330588ae0 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Fri, 8 Aug 2014 13:38:29 +0000 Subject: imx6: update upstream patches Signed-off-by: Luka Perkov git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42073 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...004-ARM-dts-imx6dl-enable-cpufreq-support.patch | 7 +-- ...are-Use-new-OF-interrupt-mapping-when-pos.patch | 64 ++++++++++++++++++++++ ...mx6-add-PCIe-interrupt-mapping-properties.patch | 38 +++++++++++++ ...dts_imx_fix-invallid-#address-cells-value.patch | 2 +- ...se-new-OF-interrupt-mapping-when-possible.patch | 58 -------------------- ...mx6-add-PCIe-interrupt-mapping-properties.patch | 38 ------------- 6 files changed, 104 insertions(+), 103 deletions(-) create mode 100644 target/linux/imx6/patches-3.14/0005-PCI-designware-Use-new-OF-interrupt-mapping-when-pos.patch create mode 100644 target/linux/imx6/patches-3.14/0006-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch delete mode 100644 target/linux/imx6/patches-3.14/0060-pci_designware_use-new-OF-interrupt-mapping-when-possible.patch delete mode 100644 target/linux/imx6/patches-3.14/0065-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch diff --git a/target/linux/imx6/patches-3.14/0004-ARM-dts-imx6dl-enable-cpufreq-support.patch b/target/linux/imx6/patches-3.14/0004-ARM-dts-imx6dl-enable-cpufreq-support.patch index be5eefbfa5..6f07cdd277 100644 --- a/target/linux/imx6/patches-3.14/0004-ARM-dts-imx6dl-enable-cpufreq-support.patch +++ b/target/linux/imx6/patches-3.14/0004-ARM-dts-imx6dl-enable-cpufreq-support.patch @@ -11,11 +11,9 @@ Signed-off-by: Shawn Guo arch/arm/boot/dts/imx6dl.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi -index 80d0abe..9c4942f 100644 --- a/arch/arm/boot/dts/imx6dl.dtsi +++ b/arch/arm/boot/dts/imx6dl.dtsi -@@ -22,6 +22,26 @@ +@@ -21,6 +21,26 @@ device_type = "cpu"; reg = <0>; next-level-cache = <&L2>; @@ -42,6 +40,3 @@ index 80d0abe..9c4942f 100644 }; cpu@1 { --- -2.0.3 - diff --git a/target/linux/imx6/patches-3.14/0005-PCI-designware-Use-new-OF-interrupt-mapping-when-pos.patch b/target/linux/imx6/patches-3.14/0005-PCI-designware-Use-new-OF-interrupt-mapping-when-pos.patch new file mode 100644 index 0000000000..19db40451d --- /dev/null +++ b/target/linux/imx6/patches-3.14/0005-PCI-designware-Use-new-OF-interrupt-mapping-when-pos.patch @@ -0,0 +1,64 @@ +From 804f57b1a63c7435fe43b36942581cc6c79ebb5c Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Wed, 5 Mar 2014 14:25:51 +0100 +Subject: [PATCH] PCI: designware: Use new OF interrupt mapping when possible + +Use new OF interrupt mapping (of_irq_parse_and_map_pci()) when possible. +This is the recommended method of doing the IRQ mapping. For old +devicetrees we fall back to the previous practice. + +This makes INTB, INTC, and INTD work on i.MX. + +Tested-by: Tim Harvey +Signed-off-by: Lucas Stach +Signed-off-by: Bjorn Helgaas +Reviewed-by: Marek Vasut +Acked-by: Arnd Bergmann +Acked-by: Jingoo Han +--- + drivers/pci/host/pcie-designware.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/drivers/pci/host/pcie-designware.c ++++ b/drivers/pci/host/pcie-designware.c +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -492,7 +493,7 @@ int __init dw_pcie_host_init(struct pcie + dw_pci.nr_controllers = 1; + dw_pci.private_data = (void **)&pp; + +- pci_common_init(&dw_pci); ++ pci_common_init_dev(pp->dev, &dw_pci); + pci_assign_unassigned_resources(); + #ifdef CONFIG_PCI_DOMAINS + dw_pci.domain++; +@@ -725,7 +726,7 @@ static struct pci_bus *dw_pcie_scan_bus( + + if (pp) { + pp->root_bus_nr = sys->busnr; +- bus = pci_scan_root_bus(NULL, sys->busnr, &dw_pcie_ops, ++ bus = pci_scan_root_bus(pp->dev, sys->busnr, &dw_pcie_ops, + sys, &sys->resources); + } else { + bus = NULL; +@@ -738,8 +739,13 @@ static struct pci_bus *dw_pcie_scan_bus( + static int dw_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) + { + struct pcie_port *pp = sys_to_pcie(dev->bus->sysdata); ++ int irq; + +- return pp->irq; ++ irq = of_irq_parse_and_map_pci(dev, slot, pin); ++ if (!irq) ++ irq = pp->irq; ++ ++ return irq; + } + + static void dw_pcie_add_bus(struct pci_bus *bus) diff --git a/target/linux/imx6/patches-3.14/0006-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch b/target/linux/imx6/patches-3.14/0006-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch new file mode 100644 index 0000000000..ade85fc290 --- /dev/null +++ b/target/linux/imx6/patches-3.14/0006-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch @@ -0,0 +1,38 @@ +From 07134a365f1c4be6e840a00ae452d1593f15c5fc Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Wed, 5 Mar 2014 14:25:50 +0100 +Subject: [PATCH] ARM: dts: imx6: add PCIe interrupt mapping properties + +As defined by the common PCI bindings. + +Signed-off-by: Lucas Stach +Acked-by: Arnd Bergmann +Signed-off-by: Shawn Guo +--- + arch/arm/boot/dts/imx6qdl.dtsi | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/arch/arm/boot/dts/imx6qdl.dtsi ++++ b/arch/arm/boot/dts/imx6qdl.dtsi +@@ -10,6 +10,8 @@ + * http://www.gnu.org/copyleft/gpl.html + */ + ++#include ++ + #include "skeleton.dtsi" + + / { +@@ -127,6 +129,12 @@ + 0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */ + num-lanes = <1>; + interrupts = <0 123 0x04>; ++ #interrupt-cells = <1>; ++ interrupt-map-mask = <0 0 0 0x7>; ++ interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, ++ <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, ++ <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, ++ <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>; + clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi"; + status = "disabled"; diff --git a/target/linux/imx6/patches-3.14/0055-ARM_dts_imx_fix-invallid-#address-cells-value.patch b/target/linux/imx6/patches-3.14/0055-ARM_dts_imx_fix-invallid-#address-cells-value.patch index 79472e8899..463d757f96 100644 --- a/target/linux/imx6/patches-3.14/0055-ARM_dts_imx_fix-invallid-#address-cells-value.patch +++ b/target/linux/imx6/patches-3.14/0055-ARM_dts_imx_fix-invallid-#address-cells-value.patch @@ -33,7 +33,7 @@ Date: Thu Mar 13 09:37:51 2014 -0700 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi -@@ -38,8 +38,6 @@ +@@ -40,8 +40,6 @@ intc: interrupt-controller@00a01000 { compatible = "arm,cortex-a9-gic"; #interrupt-cells = <3>; diff --git a/target/linux/imx6/patches-3.14/0060-pci_designware_use-new-OF-interrupt-mapping-when-possible.patch b/target/linux/imx6/patches-3.14/0060-pci_designware_use-new-OF-interrupt-mapping-when-possible.patch deleted file mode 100644 index fff074a1ed..0000000000 --- a/target/linux/imx6/patches-3.14/0060-pci_designware_use-new-OF-interrupt-mapping-when-possible.patch +++ /dev/null @@ -1,58 +0,0 @@ -commit 62fe03d1dd629a98c6da86cabb2a98b85e89d516 -Author: Lucas Stach -Date: Wed Mar 5 14:25:51 2014 +0100 - - PCI: designware: use new OF interrupt mapping when possible - - This is the recommended method of doing the IRQ - mapping. For old devicetrees we fall back to the - previous practice. - - Signed-off-by: Lucas Stach - Acked-by: Arnd Bergmann - Acked-by: Jingoo Han - Reviewed-by: Marek Vasut - ---- a/drivers/pci/host/pcie-designware.c -+++ b/drivers/pci/host/pcie-designware.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -492,7 +493,7 @@ int __init dw_pcie_host_init(struct pcie - dw_pci.nr_controllers = 1; - dw_pci.private_data = (void **)&pp; - -- pci_common_init(&dw_pci); -+ pci_common_init_dev(pp->dev, &dw_pci); - pci_assign_unassigned_resources(); - #ifdef CONFIG_PCI_DOMAINS - dw_pci.domain++; -@@ -725,7 +726,7 @@ static struct pci_bus *dw_pcie_scan_bus( - - if (pp) { - pp->root_bus_nr = sys->busnr; -- bus = pci_scan_root_bus(NULL, sys->busnr, &dw_pcie_ops, -+ bus = pci_scan_root_bus(pp->dev, sys->busnr, &dw_pcie_ops, - sys, &sys->resources); - } else { - bus = NULL; -@@ -738,8 +739,13 @@ static struct pci_bus *dw_pcie_scan_bus( - static int dw_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) - { - struct pcie_port *pp = sys_to_pcie(dev->bus->sysdata); -+ int irq; - -- return pp->irq; -+ irq = of_irq_parse_and_map_pci(dev, slot, pin); -+ if (!irq) -+ irq = pp->irq; -+ -+ return irq; - } - - static void dw_pcie_add_bus(struct pci_bus *bus) diff --git a/target/linux/imx6/patches-3.14/0065-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch b/target/linux/imx6/patches-3.14/0065-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch deleted file mode 100644 index 62ca2f33a8..0000000000 --- a/target/linux/imx6/patches-3.14/0065-ARM-dts-imx6-add-PCIe-interrupt-mapping-properties.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 07134a365f1c4be6e840a00ae452d1593f15c5fc Mon Sep 17 00:00:00 2001 -From: Lucas Stach -Date: Wed, 5 Mar 2014 14:25:50 +0100 -Subject: [PATCH] ARM: dts: imx6: add PCIe interrupt mapping properties - -As defined by the common PCI bindings. - -Signed-off-by: Lucas Stach -Acked-by: Arnd Bergmann -Signed-off-by: Shawn Guo ---- - arch/arm/boot/dts/imx6qdl.dtsi | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/arch/arm/boot/dts/imx6qdl.dtsi -+++ b/arch/arm/boot/dts/imx6qdl.dtsi -@@ -10,6 +10,8 @@ - * http://www.gnu.org/copyleft/gpl.html - */ - -+#include -+ - #include "skeleton.dtsi" - - / { -@@ -125,6 +127,12 @@ - 0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */ - num-lanes = <1>; - interrupts = <0 123 0x04>; -+ #interrupt-cells = <1>; -+ interrupt-map-mask = <0 0 0 0x7>; -+ interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, -+ <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, -+ <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, -+ <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&clks 189>, <&clks 187>, <&clks 206>, <&clks 144>; - clock-names = "pcie_ref_125m", "sata_ref_100m", "lvds_gate", "pcie_axi"; - status = "disabled"; -- cgit v1.2.3