diff options
author | Sebastian Siewior <bigeasy@tglx.de> | 2008-03-14 19:01:30 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-04-17 02:01:36 -0400 |
commit | 1028d4f162796a99b87565b6b40b5fec79c242d0 (patch) | |
tree | d8207c813ef7abb8f7f953351b2c874343a242ed | |
parent | 370131c3f2cdd82edeb71add4b098b51803e214e (diff) |
[POWERPC] 85xx: Enable DMA engine on the MPC8544 DS
Add the device tree node for the DMA engine on 8544, publish
the device and enable the driver in the defconfig.
Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/boot/dts/mpc8544ds.dts | 41 | ||||
-rw-r--r-- | arch/powerpc/configs/85xx/mpc8544_ds_defconfig | 17 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/mpc85xx_ds.c | 13 |
3 files changed, 70 insertions, 1 deletions
diff --git a/arch/powerpc/boot/dts/mpc8544ds.dts b/arch/powerpc/boot/dts/mpc8544ds.dts index 688af9d06382..131ffaae2b5d 100644 --- a/arch/powerpc/boot/dts/mpc8544ds.dts +++ b/arch/powerpc/boot/dts/mpc8544ds.dts | |||
@@ -116,6 +116,47 @@ | |||
116 | }; | 116 | }; |
117 | }; | 117 | }; |
118 | 118 | ||
119 | dma@21300 { | ||
120 | #address-cells = <1>; | ||
121 | #size-cells = <1>; | ||
122 | compatible = "fsl,mpc8544-dma", "fsl,eloplus-dma"; | ||
123 | reg = <21300 4>; | ||
124 | ranges = <0 21100 200>; | ||
125 | cell-index = <0>; | ||
126 | dma-channel@0 { | ||
127 | compatible = "fsl,mpc8544-dma-channel", | ||
128 | "fsl,eloplus-dma-channel"; | ||
129 | reg = <0 80>; | ||
130 | cell-index = <0>; | ||
131 | interrupt-parent = <&mpic>; | ||
132 | interrupts = <14 2>; | ||
133 | }; | ||
134 | dma-channel@80 { | ||
135 | compatible = "fsl,mpc8544-dma-channel", | ||
136 | "fsl,eloplus-dma-channel"; | ||
137 | reg = <80 80>; | ||
138 | cell-index = <1>; | ||
139 | interrupt-parent = <&mpic>; | ||
140 | interrupts = <15 2>; | ||
141 | }; | ||
142 | dma-channel@100 { | ||
143 | compatible = "fsl,mpc8544-dma-channel", | ||
144 | "fsl,eloplus-dma-channel"; | ||
145 | reg = <100 80>; | ||
146 | cell-index = <2>; | ||
147 | interrupt-parent = <&mpic>; | ||
148 | interrupts = <16 2>; | ||
149 | }; | ||
150 | dma-channel@180 { | ||
151 | compatible = "fsl,mpc8544-dma-channel", | ||
152 | "fsl,eloplus-dma-channel"; | ||
153 | reg = <180 80>; | ||
154 | cell-index = <3>; | ||
155 | interrupt-parent = <&mpic>; | ||
156 | interrupts = <17 2>; | ||
157 | }; | ||
158 | }; | ||
159 | |||
119 | enet0: ethernet@24000 { | 160 | enet0: ethernet@24000 { |
120 | cell-index = <0>; | 161 | cell-index = <0>; |
121 | device_type = "network"; | 162 | device_type = "network"; |
diff --git a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig index 418bcdb5f919..a9f113b243ae 100644 --- a/arch/powerpc/configs/85xx/mpc8544_ds_defconfig +++ b/arch/powerpc/configs/85xx/mpc8544_ds_defconfig | |||
@@ -162,6 +162,7 @@ CONFIG_MPC85xx=y | |||
162 | # CONFIG_MPC85xx_CDS is not set | 162 | # CONFIG_MPC85xx_CDS is not set |
163 | # CONFIG_MPC85xx_MDS is not set | 163 | # CONFIG_MPC85xx_MDS is not set |
164 | CONFIG_MPC85xx_DS=y | 164 | CONFIG_MPC85xx_DS=y |
165 | # CONFIG_KSI8560 is not set | ||
165 | # CONFIG_STX_GP3 is not set | 166 | # CONFIG_STX_GP3 is not set |
166 | # CONFIG_TQM8540 is not set | 167 | # CONFIG_TQM8540 is not set |
167 | # CONFIG_TQM8541 is not set | 168 | # CONFIG_TQM8541 is not set |
@@ -202,6 +203,7 @@ CONFIG_PREEMPT_NONE=y | |||
202 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
203 | CONFIG_BINFMT_ELF=y | 204 | CONFIG_BINFMT_ELF=y |
204 | CONFIG_BINFMT_MISC=m | 205 | CONFIG_BINFMT_MISC=m |
206 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
205 | CONFIG_MATH_EMULATION=y | 207 | CONFIG_MATH_EMULATION=y |
206 | # CONFIG_IOMMU_HELPER is not set | 208 | # CONFIG_IOMMU_HELPER is not set |
207 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 209 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
@@ -1255,7 +1257,19 @@ CONFIG_RTC_DRV_CMOS=y | |||
1255 | # | 1257 | # |
1256 | # on-CPU RTC drivers | 1258 | # on-CPU RTC drivers |
1257 | # | 1259 | # |
1258 | # CONFIG_DMADEVICES is not set | 1260 | CONFIG_DMADEVICES=y |
1261 | |||
1262 | # | ||
1263 | # DMA Devices | ||
1264 | # | ||
1265 | CONFIG_FSL_DMA=y | ||
1266 | # CONFIG_FSL_DMA_SELFTEST is not set | ||
1267 | CONFIG_DMA_ENGINE=y | ||
1268 | |||
1269 | # | ||
1270 | # DMA Clients | ||
1271 | # | ||
1272 | # CONFIG_NET_DMA is not set | ||
1259 | 1273 | ||
1260 | # | 1274 | # |
1261 | # Userspace I/O | 1275 | # Userspace I/O |
@@ -1447,6 +1461,7 @@ CONFIG_PLIST=y | |||
1447 | CONFIG_HAS_IOMEM=y | 1461 | CONFIG_HAS_IOMEM=y |
1448 | CONFIG_HAS_IOPORT=y | 1462 | CONFIG_HAS_IOPORT=y |
1449 | CONFIG_HAS_DMA=y | 1463 | CONFIG_HAS_DMA=y |
1464 | CONFIG_HAVE_LMB=y | ||
1450 | 1465 | ||
1451 | # | 1466 | # |
1452 | # Kernel hacking | 1467 | # Kernel hacking |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index 2865d019afc3..dfd8b4ad9b28 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/seq_file.h> | 20 | #include <linux/seq_file.h> |
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
22 | #include <linux/of_platform.h> | ||
22 | 23 | ||
23 | #include <asm/system.h> | 24 | #include <asm/system.h> |
24 | #include <asm/time.h> | 25 | #include <asm/time.h> |
@@ -183,6 +184,18 @@ static int __init mpc8544_ds_probe(void) | |||
183 | } | 184 | } |
184 | } | 185 | } |
185 | 186 | ||
187 | static struct of_device_id mpc85xxds_ids[] = { | ||
188 | { .type = "soc", }, | ||
189 | { .compatible = "soc", }, | ||
190 | {}, | ||
191 | }; | ||
192 | |||
193 | static int __init mpc85xxds_publish_devices(void) | ||
194 | { | ||
195 | return of_platform_bus_probe(NULL, mpc85xxds_ids, NULL); | ||
196 | } | ||
197 | machine_device_initcall(mpc8544_ds, mpc85xxds_publish_devices); | ||
198 | |||
186 | /* | 199 | /* |
187 | * Called very early, device-tree isn't unflattened | 200 | * Called very early, device-tree isn't unflattened |
188 | */ | 201 | */ |