summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Traill <john.traill@freescale.com>2006-08-09 14:33:50 +0100
committerJon Loeliger <jdl@freescale.com>2006-08-09 11:20:30 -0500
commit8fc8bd2cc479b6cd188fdede4010e0e052970b8a (patch)
tree38fa0ac96ffc225e7ed42d3393d4a88a587f4f9b
parent91a414c7d1fb0eac912592cd995b30c9f23045c9 (diff)
downloadu-boot-imx-8fc8bd2cc479b6cd188fdede4010e0e052970b8a.zip
u-boot-imx-8fc8bd2cc479b6cd188fdede4010e0e052970b8a.tar.gz
u-boot-imx-8fc8bd2cc479b6cd188fdede4010e0e052970b8a.tar.bz2
Add Rapidio support for the MPC8641HPCN
Signed-off-by: John Traill <john.traill@freescale.com>
-rw-r--r--board/mpc8641hpcn/init.S12
-rw-r--r--board/mpc8641hpcn/oftree.dts42
2 files changed, 54 insertions, 0 deletions
diff --git a/board/mpc8641hpcn/init.S b/board/mpc8641hpcn/init.S
index 69954a8..c6ea55e 100644
--- a/board/mpc8641hpcn/init.S
+++ b/board/mpc8641hpcn/init.S
@@ -84,6 +84,9 @@
#define LAWAR8 ((LAWAR_TRGT_IF_DDR2 | (LAWAR_SIZE & LAWAR_SIZE_512M)) & ~LAWAR_EN)
#endif
+#define LAWBAR9 ((CFG_RIO_MEM_BASE>>12) & 0xfffff)
+#define LAWAR9 (LAWAR_EN | LAWAR_TRGT_IF_RIO | (LAWAR_SIZE & LAWAR_SIZE_512M))
+
.section .bootpg, "ax"
.globl law_entry
law_entry:
@@ -164,5 +167,14 @@ law_entry:
ori r6,r6,LAWAR8@l
stwu r6, 0x20(r5)
+ /* LAWBAR9, LAWAR9 */
+ lis r6,LAWBAR9@h
+ ori r6,r6,LAWBAR9@l
+ stwu r6, 0x20(r4)
+
+ lis r6,LAWAR9@h
+ ori r6,r6,LAWAR9@l
+ stwu r6, 0x20(r5)
+
blr
diff --git a/board/mpc8641hpcn/oftree.dts b/board/mpc8641hpcn/oftree.dts
index 742a140..99d75ca 100644
--- a/board/mpc8641hpcn/oftree.dts
+++ b/board/mpc8641hpcn/oftree.dts
@@ -341,6 +341,48 @@
>;
interrupt-parent = <40000>;
};
+ rio@c0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ device_type = "rio";
+ model = "pq38";
+ compatible = "85xx";
+ ranges = <0 c0000000 20000000>;
+ reg = <c0000 13000>;
+ linux,phandle = <c0000>;
+ };
+ rio_message@d3000 {
+ device_type = "network";
+ compatible = "85xx";
+ linux,phandle = <d3000>;
+ reg = <d3000 d3100>;
+ interrupts = <35 2 36 2>;
+ interrupt-parent = <40000>;
+ };
+ rio_message@d3100 {
+ device_type = "network";
+ compatible = "85xx";
+ linux,phandle = <d3100>;
+ reg = <d3100 d3200>;
+ interrupts = <37 2 38 2>;
+ interrupt-parent = <40000>;
+ };
+ rio_doorbell@d3400 {
+ device_type = "doorbell";
+ compatible = "85xx";
+ linux,phandle = <d3400>;
+ reg = <d3400 d34e0>;
+ interrupts = <31 2 32 2>;
+ interrupt-parent = <40000>;
+ };
+ rio_portwrite@d34e0 {
+ device_type = "portwrite";
+ compatible = "85xx";
+ linux,phandle = <d34e0>;
+ reg = <d34e0 d3500>;
+ interrupts = <30 2>;
+ interrupt-parent = <40000>;
+ };
};
};