On Jul 2, 2008, at 9:25 AM, Andrew Klossner wrote:

> The MPC8555E and MPC8548E reference manuals are quite specific about
> the formula required to change the value of CCSRBAR.  This patch
> implements that formula.

Those manuals are not correct in their description of updating CCSRBAR.

The current code meets all the requirements excepting doing a load  
from some other address location.

So you really want:

                 temp = in_be32((volatile u32 *)CFG_CCSRBAR_DEFAULT);
                 out_be32((volatile u32 *)CFG_CCSRBAR_DEFAULT,  
CFG_CCSRBAR_PHYS >> 12);

                /* do a dummy load from somewhere else */
                temp = in_be32((volatile u32 *)TEXT_BASE);

                 temp = in_be32((volatile u32 *)CFG_CCSRBAR);

The in_be32/out_be32 cover the sync requirements that are needed.

- k

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to