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); |