diff options
| author | Pratyush Anand <pratyush.anand@st.com> | 2014-09-03 01:20:49 -0400 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-09-22 16:19:30 -0400 |
| commit | 65aaae245a2842e3ed9d12f27aeb42fa215dfc2c (patch) | |
| tree | 3cbbc777711c8cced032639cc9d37e13a7deee8c | |
| parent | 52addcf9d6669fa439387610bc65c92fa0980cef (diff) | |
PCI: spear: Pass config resource through reg property
PCIe configuration space should be passed through reg property, rather than
through ranges property. This patch does the correction for SPEAr13XX
SOCs.
Signed-off-by: Pratyush Anand <pratyush.anand@st.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Mohit Kumar <mohit.kumar@st.com>
| -rw-r--r-- | arch/arm/boot/dts/spear1310.dtsi | 18 | ||||
| -rw-r--r-- | arch/arm/boot/dts/spear1340.dtsi | 6 | ||||
| -rw-r--r-- | drivers/pci/host/pcie-spear13xx.c | 2 |
3 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/boot/dts/spear1310.dtsi b/arch/arm/boot/dts/spear1310.dtsi index fa5f2bb5f106..9d342920695a 100644 --- a/arch/arm/boot/dts/spear1310.dtsi +++ b/arch/arm/boot/dts/spear1310.dtsi | |||
| @@ -85,7 +85,8 @@ | |||
| 85 | 85 | ||
| 86 | pcie0: pcie@b1000000 { | 86 | pcie0: pcie@b1000000 { |
| 87 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; | 87 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; |
| 88 | reg = <0xb1000000 0x4000>; | 88 | reg = <0xb1000000 0x4000>, <0x80000000 0x20000>; |
| 89 | reg-names = "dbi", "config"; | ||
| 89 | interrupts = <0 68 0x4>; | 90 | interrupts = <0 68 0x4>; |
| 90 | interrupt-map-mask = <0 0 0 0>; | 91 | interrupt-map-mask = <0 0 0 0>; |
| 91 | interrupt-map = <0x0 0 &gic 0 68 0x4>; | 92 | interrupt-map = <0x0 0 &gic 0 68 0x4>; |
| @@ -95,15 +96,15 @@ | |||
| 95 | #address-cells = <3>; | 96 | #address-cells = <3>; |
| 96 | #size-cells = <2>; | 97 | #size-cells = <2>; |
| 97 | device_type = "pci"; | 98 | device_type = "pci"; |
| 98 | ranges = <0x00000800 0 0x80000000 0x80000000 0 0x00020000 /* configuration space */ | 99 | ranges = <0x81000000 0 0 0x80020000 0 0x00010000 /* downstream I/O */ |
| 99 | 0x81000000 0 0 0x80020000 0 0x00010000 /* downstream I/O */ | ||
| 100 | 0x82000000 0 0x80030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ | 100 | 0x82000000 0 0x80030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ |
| 101 | status = "disabled"; | 101 | status = "disabled"; |
| 102 | }; | 102 | }; |
| 103 | 103 | ||
| 104 | pcie1: pcie@b1800000 { | 104 | pcie1: pcie@b1800000 { |
| 105 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; | 105 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; |
| 106 | reg = <0xb1800000 0x4000>; | 106 | reg = <0xb1800000 0x4000>, <0x90000000 0x20000>; |
| 107 | reg-names = "dbi", "config"; | ||
| 107 | interrupts = <0 69 0x4>; | 108 | interrupts = <0 69 0x4>; |
| 108 | interrupt-map-mask = <0 0 0 0>; | 109 | interrupt-map-mask = <0 0 0 0>; |
| 109 | interrupt-map = <0x0 0 &gic 0 69 0x4>; | 110 | interrupt-map = <0x0 0 &gic 0 69 0x4>; |
| @@ -113,15 +114,15 @@ | |||
| 113 | #address-cells = <3>; | 114 | #address-cells = <3>; |
| 114 | #size-cells = <2>; | 115 | #size-cells = <2>; |
| 115 | device_type = "pci"; | 116 | device_type = "pci"; |
| 116 | ranges = <0x00000800 0 0x90000000 0x90000000 0 0x00020000 /* configuration space */ | 117 | ranges = <0x81000000 0 0 0x90020000 0 0x00010000 /* downstream I/O */ |
| 117 | 0x81000000 0 0 0x90020000 0 0x00010000 /* downstream I/O */ | ||
| 118 | 0x82000000 0 0x90030000 0x90030000 0 0x0ffd0000>; /* non-prefetchable memory */ | 118 | 0x82000000 0 0x90030000 0x90030000 0 0x0ffd0000>; /* non-prefetchable memory */ |
| 119 | status = "disabled"; | 119 | status = "disabled"; |
| 120 | }; | 120 | }; |
| 121 | 121 | ||
| 122 | pcie2: pcie@b4000000 { | 122 | pcie2: pcie@b4000000 { |
| 123 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; | 123 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; |
| 124 | reg = <0xb4000000 0x4000>; | 124 | reg = <0xb4000000 0x4000>, <0xc0000000 0x20000>; |
| 125 | reg-names = "dbi", "config"; | ||
| 125 | interrupts = <0 70 0x4>; | 126 | interrupts = <0 70 0x4>; |
| 126 | interrupt-map-mask = <0 0 0 0>; | 127 | interrupt-map-mask = <0 0 0 0>; |
| 127 | interrupt-map = <0x0 0 &gic 0 70 0x4>; | 128 | interrupt-map = <0x0 0 &gic 0 70 0x4>; |
| @@ -131,8 +132,7 @@ | |||
| 131 | #address-cells = <3>; | 132 | #address-cells = <3>; |
| 132 | #size-cells = <2>; | 133 | #size-cells = <2>; |
| 133 | device_type = "pci"; | 134 | device_type = "pci"; |
| 134 | ranges = <0x00000800 0 0xc0000000 0xc0000000 0 0x00020000 /* configuration space */ | 135 | ranges = <0x81000000 0 0 0xc0020000 0 0x00010000 /* downstream I/O */ |
| 135 | 0x81000000 0 0 0xc0020000 0 0x00010000 /* downstream I/O */ | ||
| 136 | 0x82000000 0 0xc0030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ | 136 | 0x82000000 0 0xc0030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ |
| 137 | status = "disabled"; | 137 | status = "disabled"; |
| 138 | }; | 138 | }; |
diff --git a/arch/arm/boot/dts/spear1340.dtsi b/arch/arm/boot/dts/spear1340.dtsi index e71df0f2cb52..13e1aa33daa2 100644 --- a/arch/arm/boot/dts/spear1340.dtsi +++ b/arch/arm/boot/dts/spear1340.dtsi | |||
| @@ -50,7 +50,8 @@ | |||
| 50 | 50 | ||
| 51 | pcie0: pcie@b1000000 { | 51 | pcie0: pcie@b1000000 { |
| 52 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; | 52 | compatible = "st,spear1340-pcie", "snps,dw-pcie"; |
| 53 | reg = <0xb1000000 0x4000>; | 53 | reg = <0xb1000000 0x4000>, <0x80000000 0x20000>; |
| 54 | reg-names = "dbi", "config"; | ||
| 54 | interrupts = <0 68 0x4>; | 55 | interrupts = <0 68 0x4>; |
| 55 | interrupt-map-mask = <0 0 0 0>; | 56 | interrupt-map-mask = <0 0 0 0>; |
| 56 | interrupt-map = <0x0 0 &gic 0 68 0x4>; | 57 | interrupt-map = <0x0 0 &gic 0 68 0x4>; |
| @@ -60,8 +61,7 @@ | |||
| 60 | #address-cells = <3>; | 61 | #address-cells = <3>; |
| 61 | #size-cells = <2>; | 62 | #size-cells = <2>; |
| 62 | device_type = "pci"; | 63 | device_type = "pci"; |
| 63 | ranges = <0x00000800 0 0x80000000 0x80000000 0 0x00020000 /* configuration space */ | 64 | ranges = <0x81000000 0 0 0x80020000 0 0x00010000 /* downstream I/O */ |
| 64 | 0x81000000 0 0 0x80020000 0 0x00010000 /* downstream I/O */ | ||
| 65 | 0x82000000 0 0x80030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ | 65 | 0x82000000 0 0x80030000 0xc0030000 0 0x0ffd0000>; /* non-prefetchable memory */ |
| 66 | status = "disabled"; | 66 | status = "disabled"; |
| 67 | }; | 67 | }; |
diff --git a/drivers/pci/host/pcie-spear13xx.c b/drivers/pci/host/pcie-spear13xx.c index 6dea9e43a75c..85f594e1708f 100644 --- a/drivers/pci/host/pcie-spear13xx.c +++ b/drivers/pci/host/pcie-spear13xx.c | |||
| @@ -340,7 +340,7 @@ static int __init spear13xx_pcie_probe(struct platform_device *pdev) | |||
| 340 | 340 | ||
| 341 | pp->dev = dev; | 341 | pp->dev = dev; |
| 342 | 342 | ||
| 343 | dbi_base = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 343 | dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi"); |
| 344 | pp->dbi_base = devm_ioremap_resource(dev, dbi_base); | 344 | pp->dbi_base = devm_ioremap_resource(dev, dbi_base); |
| 345 | if (IS_ERR(pp->dbi_base)) { | 345 | if (IS_ERR(pp->dbi_base)) { |
| 346 | dev_err(dev, "couldn't remap dbi base %p\n", dbi_base); | 346 | dev_err(dev, "couldn't remap dbi base %p\n", dbi_base); |
