summaryrefslogtreecommitdiff
path: root/board/netstal/hcu5
diff options
context:
space:
mode:
Diffstat (limited to 'board/netstal/hcu5')
-rw-r--r--board/netstal/hcu5/hcu5.c8
-rw-r--r--board/netstal/hcu5/sdram.c32
2 files changed, 22 insertions, 18 deletions
diff --git a/board/netstal/hcu5/hcu5.c b/board/netstal/hcu5/hcu5.c
index 2c7afe2..c494e93 100644
--- a/board/netstal/hcu5/hcu5.c
+++ b/board/netstal/hcu5/hcu5.c
@@ -309,15 +309,13 @@ int misc_init_r(void)
*/
if (mfspr(dbcr0) & 0x80000000) {
/* External debugger alive
- * enable trace facilty for Lauterback
- * CCR0[DAPUIB]=0 Enable broadcast of instruction data
- * to auxiliary processor interface
+ * enable trace facilty for Lauterbach
* CCR0[DTB]=0 Enable broadcast of trace information
* SDR0_PFC0[TRE] Trace signals are enabled instead of
* GPIO49-63
*/
- mtspr(ccr0, mfspr(ccr0) &~ 0x00108000);
- mtsdr(SDR0_PFC0, sdr0_pfc1 | 0x00000100);
+ mtspr(ccr0, mfspr(ccr0) &~ (CCR0_DTB));
+ mtsdr(SDR0_PFC0, sdr0_pfc1 | SDR0_PFC0_TRE_ENABLE);
}
return 0;
}
diff --git a/board/netstal/hcu5/sdram.c b/board/netstal/hcu5/sdram.c
index 5435de1..d3c2233 100644
--- a/board/netstal/hcu5/sdram.c
+++ b/board/netstal/hcu5/sdram.c
@@ -165,19 +165,25 @@ static void program_ecc(unsigned long start_address, unsigned long num_bytes)
u32 val;
char str[] = "ECC generation -";
#if defined(CONFIG_PRAM)
- u32 *magic;
-
- /* Check whether vxWorks is using EDR logging, if yes zero */
- /* also PostMortem and user reserved memory */
- magic = (u32 *)in_be32((u32 *)(start_address + num_bytes -
- (CONFIG_PRAM*1024) + sizeof(u32)));
-
- debug("\n%s: CONFIG_PRAM %d kB magic 0x%x 0x%p -> 0x%x\n", __FUNCTION__,
- CONFIG_PRAM,
- start_address + num_bytes - (CONFIG_PRAM*1024) + sizeof(u32),
- magic, in_be32(magic));
- if (in_be32(magic) == 0xbeefbabe)
- num_bytes -= (CONFIG_PRAM*1024) - PM_RESERVED_MEM;
+ u32 *magicPtr;
+ u32 magic;
+
+ if ((mfspr(dbcr0) & 0x80000000) == 0) {
+ /* only if no external debugger is alive!
+ * Check whether vxWorks is using EDR logging, if yes zero
+ * also PostMortem and user reserved memory
+ */
+ magicPtr = (u32 *)(start_address + num_bytes -
+ (CONFIG_PRAM*1024) + sizeof(u32));
+ magic = in_be32(magicPtr);
+ debug("%s: CONFIG_PRAM %d kB magic 0x%x 0x%p\n",
+ __FUNCTION__, CONFIG_PRAM,
+ magicPtr, magic);
+ if (magic == 0xbeefbabe) {
+ printf("%s: preserving at %p\n", __FUNCTION__, magicPtr);
+ num_bytes -= (CONFIG_PRAM*1024) - PM_RESERVED_MEM;
+ }
+ }
#endif
sync();