[PATCH] PowerPC 440EPx/GRx fix memory size calculation
Mikhail Zolotaryov
lebon at lebon.org.ua
Wed Mar 11 07:57:11 EST 2009
Valentine Barshak wrote:
> According to the AMCC 440EPX/GRX user manual,
> the Chip Select width is always fixed at 1 bit no matter
> what is actually read from register DDR_10.
Well, from my point of view original kernel code is correct in this part.
Adding one bit into memory address means multiplying memory size by 2
i.e. cs=2. The question is: is Chip Select bit used in memory address.
ChipSelect input of memory chip enables or disabled it, so if we have
only one BankSel installed/connected (DDR0_10[22:23] is 01 or 10)
there's no need to use Chip Select bit in an address. On the contrary,
if both BankSel lines are connected (DDR0_10[22:23] is 11), to let
memory controller know which memory rank to use, Chip Select bit is
added into memory address. (and yes, if DDR0_10[22:23] is 00 - no ranks
installed, memory size is 0, cs=0)
Original kernel code use exactly the same logic as I described above.
Please suggest if it's wrong.
More information about the Linuxppc-dev
mailing list