Re: [PATCH] powerpc 4xx: DDR0_14[REDUC] decoded incorrectly

From: Mikhail Zolotaryov
Date: Mon Mar 09 2009 - 17:17:25 EST



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.

You are missing the Signed-off-by tag that is needed.

I'm sorry.

Signed-off-by: Mikhail Zolotaryov <lebon@xxxxxxxxxxxx>

Aside from that, I'm curious if you found this just through inspection, or
if you actually had a problem because of it. Your fix seems correct, yet
I've had no problems with my boards at all.


I'm actually working on custom PowerPC 440EPX board development here and have found the problem: without applying changes described, Linux detects memory size incorrectly and is unable to start. The rest of memory size computation process seems to be correct.

I have checked Sequoia evaluation board with U-Boot 2009.1 and confirm that original kernel code reported memory size correctly. So, for my understanding, if computation algorithm was wrong but result was correct - the problem is source data i.e. initial DDR configuration parameters loaded by U-Boot (please don't give a damn that memory size is always reported correctly by U-Boot - it's hard-coded constant there). I have checked Sequoia board schematics (DES0211_11_SCH_11.pdf, page 5, unit U1D) and noted that BankSel#1 is not connected, while bootloader memory configuration is (board/amcc/sequoia/sdram.c):
mtsdram(DDR0_10, 0x00000300);
i.e. both Chip Selects used.

If I change this line to:
mtsdram(DDR0_10, 0x00000100);
memory is accessible, patched kernel detects memory size correctly and kernel seems to be working well.

Please check my considerations, possibly it may be necessary to request additional information from board manufacturer.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/