diff options
author | Olof Johansson <olof@lixom.net> | 2013-06-01 02:17:39 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-06-01 02:17:39 -0400 |
commit | ed2670b334a1050aa122cd9ca53c7a545642c46b (patch) | |
tree | dc881bb034a0d27194d52cd2b9011e84a6eca3ab | |
parent | a640874bb6596f09160b1f39699618f635465e12 (diff) | |
parent | 0d0632f523fa040b307688ae421a1debf79af2d7 (diff) |
Merge tag 'pcie_kw-3.11' of git://git.infradead.org/users/jcooper/linux into next/soc
From Jason Cooper:
mvebu pcie driver (kirkwood) for v3.11
- kirkwood
- enable pcie driver
- migrate boards over to pcie dt init
depends
- mvebu/pcie
- mvebu/of_pci
Signed-off-by: Olof Johansson <olof@lixom.net>
* tag 'pcie_kw-3.11' of git://git.infradead.org/users/jcooper/linux:
arm: kirkwood: convert db-88f6281/db-88f6282 to the Device Tree
arm: kirkwood: convert QNAP TS219 to use DT for the PCIe interface
arm: kirkwood: convert ZyXEL NSA310 to use DT for the PCIe interface
arm: kirkwood: convert MPL CEC4 to use DT for the PCIe interface
arm: kirkwood: convert Iomega Iconnect to use DT for the PCIe interface
arm: kirkwood: add SoC-level Device Tree data for PCIe interfaces
arm: kirkwood: move PCIe window init to legacy driver
pci: mvebu: enable driver usage on Kirkwood
28 files changed, 339 insertions, 197 deletions
diff --git a/Documentation/devicetree/bindings/pci/mvebu-pci.txt b/Documentation/devicetree/bindings/pci/mvebu-pci.txt index eb69d92c23e1..f8d405897a94 100644 --- a/Documentation/devicetree/bindings/pci/mvebu-pci.txt +++ b/Documentation/devicetree/bindings/pci/mvebu-pci.txt | |||
@@ -4,6 +4,7 @@ Mandatory properties: | |||
4 | - compatible: one of the following values: | 4 | - compatible: one of the following values: |
5 | marvell,armada-370-pcie | 5 | marvell,armada-370-pcie |
6 | marvell,armada-xp-pcie | 6 | marvell,armada-xp-pcie |
7 | marvell,kirkwood-pcie | ||
7 | - #address-cells, set to <3> | 8 | - #address-cells, set to <3> |
8 | - #size-cells, set to <2> | 9 | - #size-cells, set to <2> |
9 | - #interrupt-cells, set to <1> | 10 | - #interrupt-cells, set to <1> |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f0895c581a89..3844ef27d7ba 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -64,6 +64,8 @@ dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ | |||
64 | integratorcp.dtb | 64 | integratorcp.dtb |
65 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb | 65 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb |
66 | dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ | 66 | dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ |
67 | kirkwood-db-88f6281.dtb \ | ||
68 | kirkwood-db-88f6282.dtb \ | ||
67 | kirkwood-dns320.dtb \ | 69 | kirkwood-dns320.dtb \ |
68 | kirkwood-dns325.dtb \ | 70 | kirkwood-dns325.dtb \ |
69 | kirkwood-dockstar.dtb \ | 71 | kirkwood-dockstar.dtb \ |
diff --git a/arch/arm/boot/dts/kirkwood-6281.dtsi b/arch/arm/boot/dts/kirkwood-6281.dtsi index d6c9d65cbaeb..51376683dbcd 100644 --- a/arch/arm/boot/dts/kirkwood-6281.dtsi +++ b/arch/arm/boot/dts/kirkwood-6281.dtsi | |||
@@ -40,5 +40,36 @@ | |||
40 | marvell,function = "sdio"; | 40 | marvell,function = "sdio"; |
41 | }; | 41 | }; |
42 | }; | 42 | }; |
43 | |||
44 | pcie-controller { | ||
45 | compatible = "marvell,kirkwood-pcie"; | ||
46 | status = "disabled"; | ||
47 | device_type = "pci"; | ||
48 | |||
49 | #address-cells = <3>; | ||
50 | #size-cells = <2>; | ||
51 | |||
52 | bus-range = <0x00 0xff>; | ||
53 | |||
54 | ranges = <0x82000000 0 0x00040000 0x00040000 0 0x00002000 /* Port 0.0 registers */ | ||
55 | 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ | ||
56 | 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ | ||
57 | |||
58 | pcie@1,0 { | ||
59 | device_type = "pci"; | ||
60 | assigned-addresses = <0x82000800 0 0x00040000 0 0x2000>; | ||
61 | reg = <0x0800 0 0 0 0>; | ||
62 | #address-cells = <3>; | ||
63 | #size-cells = <2>; | ||
64 | #interrupt-cells = <1>; | ||
65 | ranges; | ||
66 | interrupt-map-mask = <0 0 0 0>; | ||
67 | interrupt-map = <0 0 0 0 &intc 9>; | ||
68 | marvell,pcie-port = <0>; | ||
69 | marvell,pcie-lane = <0>; | ||
70 | clocks = <&gate_clk 2>; | ||
71 | status = "disabled"; | ||
72 | }; | ||
73 | }; | ||
43 | }; | 74 | }; |
44 | }; | 75 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi index 23991e45bc55..66a751ab5516 100644 --- a/arch/arm/boot/dts/kirkwood-6282.dtsi +++ b/arch/arm/boot/dts/kirkwood-6282.dtsi | |||
@@ -65,5 +65,53 @@ | |||
65 | clocks = <&gate_clk 7>; | 65 | clocks = <&gate_clk 7>; |
66 | status = "disabled"; | 66 | status = "disabled"; |
67 | }; | 67 | }; |
68 | |||
69 | pcie-controller { | ||
70 | compatible = "marvell,kirkwood-pcie"; | ||
71 | status = "disabled"; | ||
72 | device_type = "pci"; | ||
73 | |||
74 | #address-cells = <3>; | ||
75 | #size-cells = <2>; | ||
76 | |||
77 | bus-range = <0x00 0xff>; | ||
78 | |||
79 | ranges = <0x82000000 0 0x00040000 0x00040000 0 0x00002000 /* Port 0.0 registers */ | ||
80 | 0x82000000 0 0x00044000 0x00044000 0 0x00002000 /* Port 1.0 registers */ | ||
81 | 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ | ||
82 | 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ | ||
83 | |||
84 | pcie@1,0 { | ||
85 | device_type = "pci"; | ||
86 | assigned-addresses = <0x82000800 0 0x00040000 0 0x2000>; | ||
87 | reg = <0x0800 0 0 0 0>; | ||
88 | #address-cells = <3>; | ||
89 | #size-cells = <2>; | ||
90 | #interrupt-cells = <1>; | ||
91 | ranges; | ||
92 | interrupt-map-mask = <0 0 0 0>; | ||
93 | interrupt-map = <0 0 0 0 &intc 9>; | ||
94 | marvell,pcie-port = <0>; | ||
95 | marvell,pcie-lane = <0>; | ||
96 | clocks = <&gate_clk 2>; | ||
97 | status = "disabled"; | ||
98 | }; | ||
99 | |||
100 | pcie@2,0 { | ||
101 | device_type = "pci"; | ||
102 | assigned-addresses = <0x82001000 0 0x00044000 0 0x2000>; | ||
103 | reg = <0x1000 0 0 0 0>; | ||
104 | #address-cells = <3>; | ||
105 | #size-cells = <2>; | ||
106 | #interrupt-cells = <1>; | ||
107 | ranges; | ||
108 | interrupt-map-mask = <0 0 0 0>; | ||
109 | interrupt-map = <0 0 0 0 &intc 10>; | ||
110 | marvell,pcie-port = <1>; | ||
111 | marvell,pcie-lane = <0>; | ||
112 | clocks = <&gate_clk 18>; | ||
113 | status = "disabled"; | ||
114 | }; | ||
115 | }; | ||
68 | }; | 116 | }; |
69 | }; | 117 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-db-88f6281.dts b/arch/arm/boot/dts/kirkwood-db-88f6281.dts new file mode 100644 index 000000000000..9d777edd1f36 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-db-88f6281.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Marvell DB-88F6281-BP Development Board Setup | ||
3 | * | ||
4 | * Saeed Bishara <saeed@marvell.com> | ||
5 | * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without any | ||
9 | * warranty of any kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | |||
14 | /include/ "kirkwood-db.dtsi" | ||
15 | /include/ "kirkwood-6281.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Marvell DB-88F6281-BP Development Board"; | ||
19 | compatible = "marvell,db-88f6281-bp", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
20 | |||
21 | ocp@f1000000 { | ||
22 | pcie-controller { | ||
23 | status = "okay"; | ||
24 | |||
25 | pcie@1,0 { | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-db-88f6282.dts b/arch/arm/boot/dts/kirkwood-db-88f6282.dts new file mode 100644 index 000000000000..f4c852886d23 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-db-88f6282.dts | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * Marvell DB-88F6282-BP Development Board Setup | ||
3 | * | ||
4 | * Saeed Bishara <saeed@marvell.com> | ||
5 | * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without any | ||
9 | * warranty of any kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | |||
14 | /include/ "kirkwood-db.dtsi" | ||
15 | /include/ "kirkwood-6282.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Marvell DB-88F6282-BP Development Board"; | ||
19 | compatible = "marvell,db-88f6282-bp", "marvell,kirkwood-88f6282", "marvell,kirkwood"; | ||
20 | |||
21 | ocp@f1000000 { | ||
22 | pcie-controller { | ||
23 | status = "okay"; | ||
24 | |||
25 | pcie@1,0 { | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | pcie@2,0 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | }; | ||
33 | }; | ||
34 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-db.dtsi b/arch/arm/boot/dts/kirkwood-db.dtsi new file mode 100644 index 000000000000..c87cfb816120 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-db.dtsi | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | * Marvell DB-{88F6281,88F6282}-BP Development Board Setup | ||
3 | * | ||
4 | * Saeed Bishara <saeed@marvell.com> | ||
5 | * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without any | ||
9 | * warranty of any kind, whether express or implied. | ||
10 | * | ||
11 | * This file contains the definitions that are common between the 6281 | ||
12 | * and 6282 variants of the Marvell Kirkwood Development Board. | ||
13 | */ | ||
14 | |||
15 | /include/ "kirkwood.dtsi" | ||
16 | |||
17 | / { | ||
18 | memory { | ||
19 | device_type = "memory"; | ||
20 | reg = <0x00000000 0x20000000>; /* 512 MB */ | ||
21 | }; | ||
22 | |||
23 | chosen { | ||
24 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
25 | }; | ||
26 | |||
27 | ocp@f1000000 { | ||
28 | pinctrl@10000 { | ||
29 | pmx_sdio_gpios: pmx-sdio-gpios { | ||
30 | marvell,pins = "mpp37", "mpp38"; | ||
31 | marvell,function = "gpio"; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | serial@12000 { | ||
36 | pinctrl-0 = <&pmx_uart0>; | ||
37 | pinctrl-names = "default"; | ||
38 | clock-frequency = <200000000>; | ||
39 | status = "ok"; | ||
40 | }; | ||
41 | |||
42 | nand@3000000 { | ||
43 | pinctrl-0 = <&pmx_nand>; | ||
44 | pinctrl-names = "default"; | ||
45 | chip-delay = <25>; | ||
46 | status = "okay"; | ||
47 | |||
48 | partition@0 { | ||
49 | label = "uboot"; | ||
50 | reg = <0x0 0x100000>; | ||
51 | }; | ||
52 | |||
53 | partition@100000 { | ||
54 | label = "uImage"; | ||
55 | reg = <0x100000 0x400000>; | ||
56 | }; | ||
57 | |||
58 | partition@500000 { | ||
59 | label = "root"; | ||
60 | reg = <0x500000 0x1fb00000>; | ||
61 | }; | ||
62 | }; | ||
63 | |||
64 | sata@80000 { | ||
65 | nr-ports = <2>; | ||
66 | status = "okay"; | ||
67 | }; | ||
68 | |||
69 | ehci@50000 { | ||
70 | status = "okay"; | ||
71 | }; | ||
72 | |||
73 | mvsdio@90000 { | ||
74 | pinctrl-0 = <&pmx_sdio_gpios>; | ||
75 | pinctrl-names = "default"; | ||
76 | wp-gpios = <&gpio1 5 0>; | ||
77 | cd-gpios = <&gpio1 6 0>; | ||
78 | status = "okay"; | ||
79 | }; | ||
80 | |||
81 | pcie-controller { | ||
82 | status = "okay"; | ||
83 | |||
84 | pcie@1,0 { | ||
85 | status = "okay"; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts index 12ccf74ac3c4..e591d5df769f 100644 --- a/arch/arm/boot/dts/kirkwood-iconnect.dts +++ b/arch/arm/boot/dts/kirkwood-iconnect.dts | |||
@@ -109,6 +109,14 @@ | |||
109 | reg = <0x980000 0x1f400000>; | 109 | reg = <0x980000 0x1f400000>; |
110 | }; | 110 | }; |
111 | }; | 111 | }; |
112 | |||
113 | pcie-controller { | ||
114 | status = "okay"; | ||
115 | |||
116 | pcie@1,0 { | ||
117 | status = "okay"; | ||
118 | }; | ||
119 | }; | ||
112 | }; | 120 | }; |
113 | 121 | ||
114 | gpio-leds { | 122 | gpio-leds { |
diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts index 758824118a9a..90501cf129bb 100644 --- a/arch/arm/boot/dts/kirkwood-mplcec4.dts +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts | |||
@@ -139,6 +139,14 @@ | |||
139 | cd-gpios = <&gpio1 15 0>; | 139 | cd-gpios = <&gpio1 15 0>; |
140 | /* No WP GPIO */ | 140 | /* No WP GPIO */ |
141 | }; | 141 | }; |
142 | |||
143 | pcie-controller { | ||
144 | status = "okay"; | ||
145 | |||
146 | pcie@1,0 { | ||
147 | status = "okay"; | ||
148 | }; | ||
149 | }; | ||
142 | }; | 150 | }; |
143 | 151 | ||
144 | gpio-leds { | 152 | gpio-leds { |
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts index a7412b937a8a..9ddf218f2cbd 100644 --- a/arch/arm/boot/dts/kirkwood-nsa310.dts +++ b/arch/arm/boot/dts/kirkwood-nsa310.dts | |||
@@ -176,6 +176,14 @@ | |||
176 | reg = <0x5040000 0x2fc0000>; | 176 | reg = <0x5040000 0x2fc0000>; |
177 | }; | 177 | }; |
178 | }; | 178 | }; |
179 | |||
180 | pcie-controller { | ||
181 | status = "okay"; | ||
182 | |||
183 | pcie@1,0 { | ||
184 | status = "okay"; | ||
185 | }; | ||
186 | }; | ||
179 | }; | 187 | }; |
180 | 188 | ||
181 | gpio_keys { | 189 | gpio_keys { |
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts index 8295c833887f..42648ab77c61 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts | |||
@@ -1,7 +1,8 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood-ts219.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | 4 | /include/ "kirkwood-6281.dtsi" |
5 | /include/ "kirkwood-ts219.dtsi" | ||
5 | 6 | ||
6 | / { | 7 | / { |
7 | ocp@f1000000 { | 8 | ocp@f1000000 { |
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts index df3f95dfba33..95ceeb93ba5a 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts | |||
@@ -1,7 +1,8 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood-ts219.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6282.dtsi" | 4 | /include/ "kirkwood-6282.dtsi" |
5 | /include/ "kirkwood-ts219.dtsi" | ||
5 | 6 | ||
6 | / { | 7 | / { |
7 | ocp@f1000000 { | 8 | ocp@f1000000 { |
diff --git a/arch/arm/boot/dts/kirkwood-ts219.dtsi b/arch/arm/boot/dts/kirkwood-ts219.dtsi index 64ea27cb3298..7c022fd4aef7 100644 --- a/arch/arm/boot/dts/kirkwood-ts219.dtsi +++ b/arch/arm/boot/dts/kirkwood-ts219.dtsi | |||
@@ -1,5 +1,3 @@ | |||
1 | /include/ "kirkwood.dtsi" | ||
2 | |||
3 | / { | 1 | / { |
4 | model = "QNAP TS219 family"; | 2 | model = "QNAP TS219 family"; |
5 | compatible = "qnap,ts219", "marvell,kirkwood"; | 3 | compatible = "qnap,ts219", "marvell,kirkwood"; |
@@ -74,5 +72,12 @@ | |||
74 | status = "okay"; | 72 | status = "okay"; |
75 | nr-ports = <2>; | 73 | nr-ports = <2>; |
76 | }; | 74 | }; |
75 | pcie-controller { | ||
76 | status = "okay"; | ||
77 | |||
78 | pcie@1,0 { | ||
79 | status = "okay"; | ||
80 | }; | ||
81 | }; | ||
77 | }; | 82 | }; |
78 | }; | 83 | }; |
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi index fada7e6d24d8..7eef88f00fea 100644 --- a/arch/arm/boot/dts/kirkwood.dtsi +++ b/arch/arm/boot/dts/kirkwood.dtsi | |||
@@ -19,6 +19,7 @@ | |||
19 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | compatible = "simple-bus"; | 20 | compatible = "simple-bus"; |
21 | ranges = <0x00000000 0xf1000000 0x4000000 | 21 | ranges = <0x00000000 0xf1000000 0x4000000 |
22 | 0xe0000000 0xe0000000 0x8100000 /* PCIE */ | ||
22 | 0xf5000000 0xf5000000 0x0000400>; | 23 | 0xf5000000 0xf5000000 0x0000400>; |
23 | #address-cells = <1>; | 24 | #address-cells = <1>; |
24 | #size-cells = <1>; | 25 | #size-cells = <1>; |
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index 7509a89af967..b56bd3d7ece3 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -8,12 +8,6 @@ config MACH_D2NET_V2 | |||
8 | Say 'Y' here if you want your kernel to support the | 8 | Say 'Y' here if you want your kernel to support the |
9 | LaCie d2 Network v2 NAS. | 9 | LaCie d2 Network v2 NAS. |
10 | 10 | ||
11 | config MACH_DB88F6281_BP | ||
12 | bool "Marvell DB-88F6281-BP Development Board" | ||
13 | help | ||
14 | Say 'Y' here if you want your kernel to support the | ||
15 | Marvell DB-88F6281-BP Development Board. | ||
16 | |||
17 | config MACH_DOCKSTAR | 11 | config MACH_DOCKSTAR |
18 | bool "Seagate FreeAgent DockStar" | 12 | bool "Seagate FreeAgent DockStar" |
19 | help | 13 | help |
@@ -153,6 +147,13 @@ config MACH_CLOUDBOX_DT | |||
153 | Say 'Y' here if you want your kernel to support the LaCie | 147 | Say 'Y' here if you want your kernel to support the LaCie |
154 | CloudBox NAS, using Flattened Device Tree. | 148 | CloudBox NAS, using Flattened Device Tree. |
155 | 149 | ||
150 | config MACH_DB88F628X_BP_DT | ||
151 | bool "Marvell DB-88F628x-BP Development Board (Flattened Device Tree)" | ||
152 | help | ||
153 | Say 'Y' here if you want your kernel to support the Marvell | ||
154 | DB-88F6281-BP and DB-88F6282-BP Development Board (Flattened | ||
155 | Device Tree). | ||
156 | |||
156 | config MACH_DLINK_KIRKWOOD_DT | 157 | config MACH_DLINK_KIRKWOOD_DT |
157 | bool "D-Link Kirkwood-based NAS (Flattened Device Tree)" | 158 | bool "D-Link Kirkwood-based NAS (Flattened Device Tree)" |
158 | select ARCH_KIRKWOOD_DT | 159 | select ARCH_KIRKWOOD_DT |
@@ -272,14 +273,6 @@ config MACH_NETSPACE_V2_DT | |||
272 | Say 'Y' here if you want your kernel to support the LaCie | 273 | Say 'Y' here if you want your kernel to support the LaCie |
273 | Network Space v2 NAS, using Flattened Device Tree. | 274 | Network Space v2 NAS, using Flattened Device Tree. |
274 | 275 | ||
275 | config MACH_NSA310_DT | ||
276 | bool "ZyXEL NSA-310 (Flattened Device Tree)" | ||
277 | select ARCH_KIRKWOOD_DT | ||
278 | select ARM_ATAG_DTB_COMPAT | ||
279 | help | ||
280 | Say 'Y' here if you want your kernel to support the | ||
281 | ZyXEL NSA-310 board (Flattened Device Tree). | ||
282 | |||
283 | config MACH_OPENBLOCKS_A6_DT | 276 | config MACH_OPENBLOCKS_A6_DT |
284 | bool "Plat'Home OpenBlocks A6 (Flattened Device Tree)" | 277 | bool "Plat'Home OpenBlocks A6 (Flattened Device Tree)" |
285 | select ARCH_KIRKWOOD_DT | 278 | select ARCH_KIRKWOOD_DT |
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile index e1f3735d3415..2fdc3a7ad226 100644 --- a/arch/arm/mach-kirkwood/Makefile +++ b/arch/arm/mach-kirkwood/Makefile | |||
@@ -1,7 +1,6 @@ | |||
1 | obj-y += common.o irq.o pcie.o mpp.o | 1 | obj-y += common.o irq.o pcie.o mpp.o |
2 | 2 | ||
3 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o | 3 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o |
4 | obj-$(CONFIG_MACH_DB88F6281_BP) += db88f6281-bp-setup.o | ||
5 | obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o | 4 | obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o |
6 | obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o | 5 | obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o |
7 | obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o | 6 | obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o |
@@ -21,6 +20,7 @@ obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o | |||
21 | 20 | ||
22 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o | 21 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o |
23 | obj-$(CONFIG_MACH_CLOUDBOX_DT) += board-ns2.o | 22 | obj-$(CONFIG_MACH_CLOUDBOX_DT) += board-ns2.o |
23 | obj-$(CONFIG_MACH_DB88F628X_BP_DT) += board-db88f628x-bp.o | ||
24 | obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o | 24 | obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o |
25 | obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o | 25 | obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o |
26 | obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o | 26 | obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o |
@@ -37,7 +37,6 @@ obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o | |||
37 | obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o | 37 | obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o |
38 | obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o | 38 | obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o |
39 | obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o | 39 | obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o |
40 | obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o | ||
41 | obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o | 40 | obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o |
42 | obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o | 41 | obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o |
43 | obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o | 42 | obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o |
diff --git a/arch/arm/mach-kirkwood/board-db88f628x-bp.c b/arch/arm/mach-kirkwood/board-db88f628x-bp.c new file mode 100644 index 000000000000..2f574bc8ed40 --- /dev/null +++ b/arch/arm/mach-kirkwood/board-db88f628x-bp.c | |||
@@ -0,0 +1,24 @@ | |||
1 | /* | ||
2 | * Saeed Bishara <saeed@marvell.com> | ||
3 | * | ||
4 | * Marvell DB-88F628{1,2}-BP Development Board Setup | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/of.h> | ||
14 | #include <linux/mv643xx_eth.h> | ||
15 | #include "common.h" | ||
16 | |||
17 | static struct mv643xx_eth_platform_data db88f628x_ge00_data = { | ||
18 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), | ||
19 | }; | ||
20 | |||
21 | void __init db88f628x_init(void) | ||
22 | { | ||
23 | kirkwood_ge00_init(&db88f628x_ge00_data); | ||
24 | } | ||
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index 4cc9edf39865..57d4fa11a90f 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c | |||
@@ -144,6 +144,10 @@ static void __init kirkwood_dt_init(void) | |||
144 | of_machine_is_compatible("lacie,netspace_v2")) | 144 | of_machine_is_compatible("lacie,netspace_v2")) |
145 | ns2_init(); | 145 | ns2_init(); |
146 | 146 | ||
147 | if (of_machine_is_compatible("marvell,db-88f6281-bp") || | ||
148 | of_machine_is_compatible("marvell,db-88f6282-bp")) | ||
149 | db88f628x_init(); | ||
150 | |||
147 | if (of_machine_is_compatible("mpl,cec4")) | 151 | if (of_machine_is_compatible("mpl,cec4")) |
148 | mplcec4_init(); | 152 | mplcec4_init(); |
149 | 153 | ||
@@ -178,6 +182,8 @@ static const char * const kirkwood_dt_board_compat[] = { | |||
178 | "lacie,netspace_max_v2", | 182 | "lacie,netspace_max_v2", |
179 | "lacie,netspace_mini_v2", | 183 | "lacie,netspace_mini_v2", |
180 | "lacie,netspace_v2", | 184 | "lacie,netspace_v2", |
185 | "marvell,db-88f6281-bp", | ||
186 | "marvell,db-88f6282-bp", | ||
181 | "mpl,cec4", | 187 | "mpl,cec4", |
182 | "netgear,readynas-duo-v2", | 188 | "netgear,readynas-duo-v2", |
183 | "plathome,openblocks-a6", | 189 | "plathome,openblocks-a6", |
diff --git a/arch/arm/mach-kirkwood/board-iconnect.c b/arch/arm/mach-kirkwood/board-iconnect.c index c8ebde4919e2..98b5ad1bba90 100644 --- a/arch/arm/mach-kirkwood/board-iconnect.c +++ b/arch/arm/mach-kirkwood/board-iconnect.c | |||
@@ -22,11 +22,3 @@ void __init iconnect_init(void) | |||
22 | { | 22 | { |
23 | kirkwood_ge00_init(&iconnect_ge00_data); | 23 | kirkwood_ge00_init(&iconnect_ge00_data); |
24 | } | 24 | } |
25 | |||
26 | static int __init iconnect_pci_init(void) | ||
27 | { | ||
28 | if (of_machine_is_compatible("iom,iconnect")) | ||
29 | kirkwood_pcie_init(KW_PCIE0); | ||
30 | return 0; | ||
31 | } | ||
32 | subsys_initcall(iconnect_pci_init); | ||
diff --git a/arch/arm/mach-kirkwood/board-mplcec4.c b/arch/arm/mach-kirkwood/board-mplcec4.c index 7d6dc669e17f..938712e248f1 100644 --- a/arch/arm/mach-kirkwood/board-mplcec4.c +++ b/arch/arm/mach-kirkwood/board-mplcec4.c | |||
@@ -29,7 +29,6 @@ void __init mplcec4_init(void) | |||
29 | */ | 29 | */ |
30 | kirkwood_ge00_init(&mplcec4_ge00_data); | 30 | kirkwood_ge00_init(&mplcec4_ge00_data); |
31 | kirkwood_ge01_init(&mplcec4_ge01_data); | 31 | kirkwood_ge01_init(&mplcec4_ge01_data); |
32 | kirkwood_pcie_init(KW_PCIE0); | ||
33 | } | 32 | } |
34 | 33 | ||
35 | 34 | ||
diff --git a/arch/arm/mach-kirkwood/board-nsa310.c b/arch/arm/mach-kirkwood/board-nsa310.c deleted file mode 100644 index 55ade93b93bf..000000000000 --- a/arch/arm/mach-kirkwood/board-nsa310.c +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/nsa-310-setup.c | ||
3 | * | ||
4 | * ZyXEL NSA-310 Setup | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <mach/kirkwood.h> | ||
14 | #include <linux/of.h> | ||
15 | #include "common.h" | ||
16 | |||
17 | static int __init nsa310_pci_init(void) | ||
18 | { | ||
19 | if (of_machine_is_compatible("zyxel,nsa310")) | ||
20 | kirkwood_pcie_init(KW_PCIE0); | ||
21 | |||
22 | return 0; | ||
23 | } | ||
24 | |||
25 | subsys_initcall(nsa310_pci_init); | ||
diff --git a/arch/arm/mach-kirkwood/board-ts219.c b/arch/arm/mach-kirkwood/board-ts219.c index acb0187c7ee1..4695d5f35fc9 100644 --- a/arch/arm/mach-kirkwood/board-ts219.c +++ b/arch/arm/mach-kirkwood/board-ts219.c | |||
@@ -41,13 +41,3 @@ void __init qnap_dt_ts219_init(void) | |||
41 | 41 | ||
42 | pm_power_off = qnap_tsx1x_power_off; | 42 | pm_power_off = qnap_tsx1x_power_off; |
43 | } | 43 | } |
44 | |||
45 | /* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */ | ||
46 | static int __init ts219_pci_init(void) | ||
47 | { | ||
48 | if (machine_is_ts219()) | ||
49 | kirkwood_pcie_init(KW_PCIE0); | ||
50 | |||
51 | return 0; | ||
52 | } | ||
53 | subsys_initcall(ts219_pci_init); | ||
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 56250e638d9b..7c72c725b711 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -671,30 +671,6 @@ char * __init kirkwood_id(void) | |||
671 | 671 | ||
672 | void __init kirkwood_setup_wins(void) | 672 | void __init kirkwood_setup_wins(void) |
673 | { | 673 | { |
674 | /* | ||
675 | * The PCIe windows will no longer be statically allocated | ||
676 | * here once Kirkwood is migrated to the pci-mvebu driver. | ||
677 | */ | ||
678 | mvebu_mbus_add_window_remap_flags("pcie0.0", | ||
679 | KIRKWOOD_PCIE_IO_PHYS_BASE, | ||
680 | KIRKWOOD_PCIE_IO_SIZE, | ||
681 | KIRKWOOD_PCIE_IO_BUS_BASE, | ||
682 | MVEBU_MBUS_PCI_IO); | ||
683 | mvebu_mbus_add_window_remap_flags("pcie0.0", | ||
684 | KIRKWOOD_PCIE_MEM_PHYS_BASE, | ||
685 | KIRKWOOD_PCIE_MEM_SIZE, | ||
686 | MVEBU_MBUS_NO_REMAP, | ||
687 | MVEBU_MBUS_PCI_MEM); | ||
688 | mvebu_mbus_add_window_remap_flags("pcie1.0", | ||
689 | KIRKWOOD_PCIE1_IO_PHYS_BASE, | ||
690 | KIRKWOOD_PCIE1_IO_SIZE, | ||
691 | KIRKWOOD_PCIE1_IO_BUS_BASE, | ||
692 | MVEBU_MBUS_PCI_IO); | ||
693 | mvebu_mbus_add_window_remap_flags("pcie1.0", | ||
694 | KIRKWOOD_PCIE1_MEM_PHYS_BASE, | ||
695 | KIRKWOOD_PCIE1_MEM_SIZE, | ||
696 | MVEBU_MBUS_NO_REMAP, | ||
697 | MVEBU_MBUS_PCI_MEM); | ||
698 | mvebu_mbus_add_window("nand", KIRKWOOD_NAND_MEM_PHYS_BASE, | 674 | mvebu_mbus_add_window("nand", KIRKWOOD_NAND_MEM_PHYS_BASE, |
699 | KIRKWOOD_NAND_MEM_SIZE); | 675 | KIRKWOOD_NAND_MEM_SIZE); |
700 | mvebu_mbus_add_window("sram", KIRKWOOD_SRAM_PHYS_BASE, | 676 | mvebu_mbus_add_window("sram", KIRKWOOD_SRAM_PHYS_BASE, |
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 99e769893c35..e2e19b302c28 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h | |||
@@ -121,6 +121,12 @@ void km_kirkwood_init(void); | |||
121 | static inline void km_kirkwood_init(void) {}; | 121 | static inline void km_kirkwood_init(void) {}; |
122 | #endif | 122 | #endif |
123 | 123 | ||
124 | #ifdef CONFIG_MACH_DB88F628X_BP_DT | ||
125 | void db88f628x_init(void); | ||
126 | #else | ||
127 | static inline void db88f628x_init(void) {}; | ||
128 | #endif | ||
129 | |||
124 | #ifdef CONFIG_MACH_MPLCEC4_DT | 130 | #ifdef CONFIG_MACH_MPLCEC4_DT |
125 | void mplcec4_init(void); | 131 | void mplcec4_init(void); |
126 | #else | 132 | #else |
diff --git a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c b/arch/arm/mach-kirkwood/db88f6281-bp-setup.c deleted file mode 100644 index 5a369fe74754..000000000000 --- a/arch/arm/mach-kirkwood/db88f6281-bp-setup.c +++ /dev/null | |||
@@ -1,108 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/db88f6281-bp-setup.c | ||
3 | * | ||
4 | * Marvell DB-88F6281-BP Development Board Setup | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/sizes.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | #include <linux/mtd/partitions.h> | ||
16 | #include <linux/ata_platform.h> | ||
17 | #include <linux/mv643xx_eth.h> | ||
18 | #include <asm/mach-types.h> | ||
19 | #include <asm/mach/arch.h> | ||
20 | #include <mach/kirkwood.h> | ||
21 | #include <linux/platform_data/mmc-mvsdio.h> | ||
22 | #include "common.h" | ||
23 | #include "mpp.h" | ||
24 | |||
25 | static struct mtd_partition db88f6281_nand_parts[] = { | ||
26 | { | ||
27 | .name = "u-boot", | ||
28 | .offset = 0, | ||
29 | .size = SZ_1M | ||
30 | }, { | ||
31 | .name = "uImage", | ||
32 | .offset = MTDPART_OFS_NXTBLK, | ||
33 | .size = SZ_4M | ||
34 | }, { | ||
35 | .name = "root", | ||
36 | .offset = MTDPART_OFS_NXTBLK, | ||
37 | .size = MTDPART_SIZ_FULL | ||
38 | }, | ||
39 | }; | ||
40 | |||
41 | static struct mv643xx_eth_platform_data db88f6281_ge00_data = { | ||
42 | .phy_addr = MV643XX_ETH_PHY_ADDR(8), | ||
43 | }; | ||
44 | |||
45 | static struct mv_sata_platform_data db88f6281_sata_data = { | ||
46 | .n_ports = 2, | ||
47 | }; | ||
48 | |||
49 | static struct mvsdio_platform_data db88f6281_mvsdio_data = { | ||
50 | .gpio_write_protect = 37, | ||
51 | .gpio_card_detect = 38, | ||
52 | }; | ||
53 | |||
54 | static unsigned int db88f6281_mpp_config[] __initdata = { | ||
55 | MPP0_NF_IO2, | ||
56 | MPP1_NF_IO3, | ||
57 | MPP2_NF_IO4, | ||
58 | MPP3_NF_IO5, | ||
59 | MPP4_NF_IO6, | ||
60 | MPP5_NF_IO7, | ||
61 | MPP18_NF_IO0, | ||
62 | MPP19_NF_IO1, | ||
63 | MPP37_GPIO, | ||
64 | MPP38_GPIO, | ||
65 | 0 | ||
66 | }; | ||
67 | |||
68 | static void __init db88f6281_init(void) | ||
69 | { | ||
70 | /* | ||
71 | * Basic setup. Needs to be called early. | ||
72 | */ | ||
73 | kirkwood_init(); | ||
74 | kirkwood_mpp_conf(db88f6281_mpp_config); | ||
75 | |||
76 | kirkwood_nand_init(ARRAY_AND_SIZE(db88f6281_nand_parts), 25); | ||
77 | kirkwood_ehci_init(); | ||
78 | kirkwood_ge00_init(&db88f6281_ge00_data); | ||
79 | kirkwood_sata_init(&db88f6281_sata_data); | ||
80 | kirkwood_uart0_init(); | ||
81 | kirkwood_sdio_init(&db88f6281_mvsdio_data); | ||
82 | } | ||
83 | |||
84 | static int __init db88f6281_pci_init(void) | ||
85 | { | ||
86 | if (machine_is_db88f6281_bp()) { | ||
87 | u32 dev, rev; | ||
88 | |||
89 | kirkwood_pcie_id(&dev, &rev); | ||
90 | if (dev == MV88F6282_DEV_ID) | ||
91 | kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0); | ||
92 | else | ||
93 | kirkwood_pcie_init(KW_PCIE0); | ||
94 | } | ||
95 | return 0; | ||
96 | } | ||
97 | subsys_initcall(db88f6281_pci_init); | ||
98 | |||
99 | MACHINE_START(DB88F6281_BP, "Marvell DB-88F6281-BP Development Board") | ||
100 | /* Maintainer: Saeed Bishara <saeed@marvell.com> */ | ||
101 | .atag_offset = 0x100, | ||
102 | .init_machine = db88f6281_init, | ||
103 | .map_io = kirkwood_map_io, | ||
104 | .init_early = kirkwood_init_early, | ||
105 | .init_irq = kirkwood_init_irq, | ||
106 | .init_time = kirkwood_timer_init, | ||
107 | .restart = kirkwood_restart, | ||
108 | MACHINE_END | ||
diff --git a/arch/arm/mach-kirkwood/pcie.c b/arch/arm/mach-kirkwood/pcie.c index 7f43e6c2f8c0..ddcb09f5bdd3 100644 --- a/arch/arm/mach-kirkwood/pcie.c +++ b/arch/arm/mach-kirkwood/pcie.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/pci.h> | 12 | #include <linux/pci.h> |
13 | #include <linux/slab.h> | 13 | #include <linux/slab.h> |
14 | #include <linux/clk.h> | 14 | #include <linux/clk.h> |
15 | #include <linux/mbus.h> | ||
15 | #include <video/vga.h> | 16 | #include <video/vga.h> |
16 | #include <asm/irq.h> | 17 | #include <asm/irq.h> |
17 | #include <asm/mach/pci.h> | 18 | #include <asm/mach/pci.h> |
@@ -253,6 +254,27 @@ static void __init add_pcie_port(int index, void __iomem *base) | |||
253 | 254 | ||
254 | void __init kirkwood_pcie_init(unsigned int portmask) | 255 | void __init kirkwood_pcie_init(unsigned int portmask) |
255 | { | 256 | { |
257 | mvebu_mbus_add_window_remap_flags("pcie0.0", | ||
258 | KIRKWOOD_PCIE_IO_PHYS_BASE, | ||
259 | KIRKWOOD_PCIE_IO_SIZE, | ||
260 | KIRKWOOD_PCIE_IO_BUS_BASE, | ||
261 | MVEBU_MBUS_PCI_IO); | ||
262 | mvebu_mbus_add_window_remap_flags("pcie0.0", | ||
263 | KIRKWOOD_PCIE_MEM_PHYS_BASE, | ||
264 | KIRKWOOD_PCIE_MEM_SIZE, | ||
265 | MVEBU_MBUS_NO_REMAP, | ||
266 | MVEBU_MBUS_PCI_MEM); | ||
267 | mvebu_mbus_add_window_remap_flags("pcie1.0", | ||
268 | KIRKWOOD_PCIE1_IO_PHYS_BASE, | ||
269 | KIRKWOOD_PCIE1_IO_SIZE, | ||
270 | KIRKWOOD_PCIE1_IO_BUS_BASE, | ||
271 | MVEBU_MBUS_PCI_IO); | ||
272 | mvebu_mbus_add_window_remap_flags("pcie1.0", | ||
273 | KIRKWOOD_PCIE1_MEM_PHYS_BASE, | ||
274 | KIRKWOOD_PCIE1_MEM_SIZE, | ||
275 | MVEBU_MBUS_NO_REMAP, | ||
276 | MVEBU_MBUS_PCI_MEM); | ||
277 | |||
256 | vga_base = KIRKWOOD_PCIE_MEM_PHYS_BASE; | 278 | vga_base = KIRKWOOD_PCIE_MEM_PHYS_BASE; |
257 | 279 | ||
258 | if (portmask & KW_PCIE0) | 280 | if (portmask & KW_PCIE0) |
diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig index 6918fbc92c02..1f1d67fec8b2 100644 --- a/drivers/pci/host/Kconfig +++ b/drivers/pci/host/Kconfig | |||
@@ -3,6 +3,6 @@ menu "PCI host controller drivers" | |||
3 | 3 | ||
4 | config PCI_MVEBU | 4 | config PCI_MVEBU |
5 | bool "Marvell EBU PCIe controller" | 5 | bool "Marvell EBU PCIe controller" |
6 | depends on ARCH_MVEBU | 6 | depends on ARCH_MVEBU || ARCH_KIRKWOOD |
7 | 7 | ||
8 | endmenu | 8 | endmenu |
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c index 9236ac0bd17b..c8397c416a71 100644 --- a/drivers/pci/host/pci-mvebu.c +++ b/drivers/pci/host/pci-mvebu.c | |||
@@ -854,6 +854,7 @@ static int __init mvebu_pcie_probe(struct platform_device *pdev) | |||
854 | static const struct of_device_id mvebu_pcie_of_match_table[] = { | 854 | static const struct of_device_id mvebu_pcie_of_match_table[] = { |
855 | { .compatible = "marvell,armada-xp-pcie", }, | 855 | { .compatible = "marvell,armada-xp-pcie", }, |
856 | { .compatible = "marvell,armada-370-pcie", }, | 856 | { .compatible = "marvell,armada-370-pcie", }, |
857 | { .compatible = "marvell,kirkwood-pcie", }, | ||
857 | {}, | 858 | {}, |
858 | }; | 859 | }; |
859 | MODULE_DEVICE_TABLE(of, mvebu_pcie_of_match_table); | 860 | MODULE_DEVICE_TABLE(of, mvebu_pcie_of_match_table); |