[PATCH 2/2 v2] Add DMA engine and SOC device support to mpc8641hpcn board
From: Zhang Wei <hidden>
Date: 2007-10-30 09:14:38
Subsystem:
linux for powerpc (32-bit and 64-bit), the rest · Maintainers:
Madhavan Srinivasan, Michael Ellerman, Linus Torvalds
Add DMA engine and SOC device support to mpc8641hpcn board Signed-off-by: Zhang Wei <redacted> Signed-off-by: Ebony Zhu <redacted> --- 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@21000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fsl,mpc8540-dma"; + reg = <21300 4>; + ranges = <0 21100 200>; + dma-channel@0 { + compatible = "fsl,mpc8540-dma-channel"; + reg = <0 80>; + interrupt-parent = <&mpic>; + interrupts = <14 2>; + }; + dma-channel@80 { + compatible = "fsl,mpc8540-dma-channel"; + reg = <80 80>; + interrupt-parent = <&mpic>; + interrupts = <15 2>; + }; + dma-channel@100 { + compatible = "fsl,mpc8540-dma-channel"; + reg = <100 80>; + interrupt-parent = <&mpic>; + interrupts = <16 2>; + }; + dma-channel@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