There was a fix a while back called "Correct memory size calculation for Denali based boards" that corrected the data width detection in the 4xx bootwrapper.
This seems to have had the unintended consequence of exposing another bug in the same code. I have a board very similar to Sequoia, except that it uses a DDR2 DIMM module. It uses a single 256MB DIMM. After upgrading to the latest kernel, which includes the previously mentioned fix, U-Boot works fine, but the kernel detects 512MB instead, and of course, the kernel panics. The error seems to be in the calculation of row bits. U-Boot's SPD detection says that the DIMM uses 13 bits, but I added some printf()s to the bootwrapper, and it is setting row to 14 instead. I'm not too clear on how this code works; it calculates the row bits by subtracting the row from max_row, and maybe max_row is wrong? It looks like the data width bug canceled out this bug before, since these values end up changing the memory size by a factor of 2 (in opposite directions). Could someone with a better understanding of this code take a look? Thanks, Mike _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev