IMAP_ADDR on PPC 8xx
Walter L. Wimer III
walt.wimer at timesys.com
Thu May 11 02:49:23 EST 2006
On Wed, 2006-05-10 at 11:23 -0400, Walter L. Wimer III wrote:
> Based on your comments and Wolfgang's comments, I conclude that:
>
> 1. The U-Boots on my MPC885ADS and MPC8272ADS boards are
> unequivocally broken and should be replaced with ones from the
> official U-Boot source repositories that use IMMR values
> matching the Linux kernel source.
FYI, here's a table from the "MPC885ADS PowerQUICC(tm) Application
Development System User's Guide", available on Freescale's website.
This table seems to confirm how they've configured their U-Boot -- the
IMMR is set to 0x02200000...
This may be fine for non-Linux purposes, but it looks like we need to
spread some gospel to Freescale regarding the correct IMMR address for
U-Boot / Linux....
(Or they need to convince folks on this list why their way is
right.... :-)
(In any case I'm convinced. I'm switching over to the community U-Boot
that uses 0xFF000000.)
FYI-ly,
Walt
Freescale Semiconductor, Inc.
Table 3-2. Memory Map in MP885ADS
Port
ADDESS RANGE Memory Type Size
------------------------ ----------------------------- ----
00000000 - 007FFFFF (8M) SDRAM -- CS4 32
02000000 - 020FFFFF (1M) Communication ports -- CS5
02000000 - 020000FF ATM25
02000100 - 020001FF ATM155
02000200 - 020002FF T1/E1 framer
02000300 - 020003FF BCSR5, control register
02000400 - 020004FF Reserved
02100000 - 02107FFF (32K) BCSR[0-4] (1) -- CS1 32 (2)
02100000 - 02107FE3 BCSR0
02100004 - 02107FE7 BCSR1
02100008 - 02107FEB BCSR2
0210000C - 02107FEF BCSR3
02100010 - 02107FF3 BCSR4
02108000 - 021FFFFF Empty space
02200000 - 02203FFF MPC885 internal MAP (3) 32
02204000 - 0221FFFF Empty space
02220000 - 02227FFF Security engine (SEC) 64
02228000 - 027FFFFF Empty space
02800000 - 029FFFFF (2M) 32
02A00000 - 02BFFFFF (2M) Flash SIMM -- CS0
02C00000 - 02FFFFFF (4M)
03000000 - FFFFFFFF Empty space
-----------------------------------------------------------------
(1) The device appears repeatedly in multiples of its size.
That is, BCSR0 appears at memory locations 2100000, 2100020,
2100040..., while BCSR1 appears at 2100004, 2100024,
2100044, and so on.
(2) Only the upper 16 bits (D0\u2013D15) are used.
(3) Refer to the MPC885 PowerQUICC Family Reference Manual for
a complete description of the MPC885 internal memory map.
More information about the Linuxppc-embedded
mailing list