[U-Boot-Users] [PATCH] MPC85xx: correct the procedure to change CCSRBAR.

Kumar Gala galak at kernel.crashing.org
Wed Jul 2 16:48:16 CEST 2008


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




More information about the U-Boot mailing list