diff options
-rw-r--r-- | board/mpc8641hpcn/init.S | 12 | ||||
-rw-r--r-- | board/mpc8641hpcn/oftree.dts | 42 |
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>; + }; }; }; |