[U-Boot] [PATCH] 86xx: Report which "bank" of NOR flash we are booting from on MPC8641HPCN

Wolfgang Denk wd at denx.de
Tue Jul 21 17:05:56 CEST 2009


Dear Kumar Gala,

In message <1248187311-5943-1-git-send-email-galak at kernel.crashing.org> you wrote:
> The MPC8641HPCN board is capable of swizzling the upper address bit of
> the NOR flash we boot out of which creates the concept of "virtual"
> banks.  This is useful in that we can flash a test of image of u-boot
> and reset to one of the virtual banks while still maintaining a
> working image in "bank 0".
> 
> The PIXIS FPGA exposes registers on LBC which we can use to determine
> which "bank" we are booting out of (as well as setting which bank to
> boot out of).
> 
> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
> ---
>  board/freescale/mpc8641hpcn/mpc8641hpcn.c |   13 +++++++++++--
>  1 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
> index 7422e6b..d115ce1 100644
> --- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
> +++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
> @@ -42,10 +42,19 @@ int board_early_init_f(void)
>  
>  int checkboard(void)
>  {
> -	printf ("Board: MPC8641HPCN, System ID: 0x%02x, "
> -		"System Version: 0x%02x, FPGA Version: 0x%02x\n",
> +	u8 vboot;
> +
> +	printf ("Board: MPC8641HPCN, Sys ID: 0x%02x, "
> +		"Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
>  		in8(PIXIS_BASE + PIXIS_ID), in8(PIXIS_BASE + PIXIS_VER),
>  		in8(PIXIS_BASE + PIXIS_PVER));
> +
> +	vboot = in8(PIXIS_BASE + 0x16);
--------------------------------^^^^^^^

Maybe you can use a symbolic name here, too?

> +	if ((vboot >> 7) & 0x1)

	if (vboot & 0x80) ???

> +		printf ("vBank: %d\n", ((vboot >> 6) & 0x1));

		printf ("vBank: %d\n", !!(vboot & 0x40)); ???

And eventually you can even come up with symbolic names for the magic
numbers 0x80 and 0x40 ?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
egrep patterns are full regular expressions; it uses a fast  determi-
nistic algorithm that sometimes needs exponential space.
- unix manuals


More information about the U-Boot mailing list