[PATCH 2/2 v2] Add DMA engine and SOC device support to mpc8641hpcn board
Zhang Wei
wei.zhang at freescale.com
Tue Oct 30 20:23:49 EST 2007
Add DMA engine and SOC device support to mpc8641hpcn board
Signed-off-by: Zhang Wei <wei.zhang at freescale.com>
Signed-off-by: Ebony Zhu <ebony.zhu at freescale.com>
---
arch/powerpc/boot/dts/mpc8641_hpcn.dts | 32 ++++++++++++++++++++++++++++
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 16 ++++++++++++++
2 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
index 3677659..ad6c528 100644
--- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
@@ -380,5 +380,37 @@
01000000 0 00000000
0 00100000>;
};
+
+ dma at 21000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fsl,mpc8540-dma";
+ reg = <21300 4>;
+ ranges = <0 21100 200>;
+ dma-channel at 0 {
+ compatible = "fsl,mpc8540-dma-channel";
+ reg = <0 80>;
+ interrupt-parent = <&mpic>;
+ interrupts = <14 2>;
+ };
+ dma-channel at 80 {
+ compatible = "fsl,mpc8540-dma-channel";
+ reg = <80 80>;
+ interrupt-parent = <&mpic>;
+ interrupts = <15 2>;
+ };
+ dma-channel at 100 {
+ compatible = "fsl,mpc8540-dma-channel";
+ reg = <100 80>;
+ interrupt-parent = <&mpic>;
+ interrupts = <16 2>;
+ };
+ dma-channel at 180 {
+ compatible = "fsl,mpc8540-dma-channel";
+ reg = <180 80>;
+ interrupt-parent = <&mpic>;
+ interrupts = <17 2>;
+ };
+ };
};
};
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
index 32a531a..92dcc22 100644
--- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -18,6 +18,7 @@
#include <linux/kdev_t.h>
#include <linux/delay.h>
#include <linux/seq_file.h>
+#include <linux/of_platform.h>
#include <asm/system.h>
#include <asm/time.h>
@@ -227,3 +228,18 @@ define_machine(mpc86xx_hpcn) {
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
#endif
};
+
+static struct of_device_id mpc86xx_of_ids[] = {
+ { .type = "soc", },
+ {},
+};
+
+static __init int mpc86xx_of_device_init(void)
+{
+ if (!machine_is(mpc86xx_hpcn))
+ return 0;
+
+ return of_platform_bus_probe(NULL, mpc86xx_of_ids, NULL);
+}
+
+device_initcall(mpc86xx_of_device_init);
--
1.5.2
More information about the Linuxppc-dev
mailing list