Hi,

according to the PPC440EPx Embedded Processor User Manual (rev 1.14) DDR0_14[REDUC] bit has the following meaning:

REDUC - Enable the half data path feature of the controller
0 = Standard operation using full 64/72-bit memory bus
1 = Memory data path width is 32/40 bits

However, "1" is decoded as 64 bit (8 byte), "0" - as 32 bit (4 byte) bus by the kernel code. My understanding is this is not correct - patch attached.


--- linux.orig/arch/powerpc/boot/4xx.c  2009-03-09 17:55:01.000000000 +0200
+++ linux/arch/powerpc/boot/4xx.c       2009-03-09 17:58:07.000000000 +0200
@@ -193,9 +193,9 @@
        val = SDRAM0_READ(DDR0_14);
 
        if (DDR_GET_VAL(val, DDR_REDUC, DDR_REDUC_SHIFT))
-               dpath = 8; /* 64 bits */
-       else
                dpath = 4; /* 32 bits */
+       else
+               dpath = 8; /* 64 bits */
 
        /* get address pins (rows) */
        val = SDRAM0_READ(DDR0_42);
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to