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

Wolfgang Denk wd at denx.de
Tue Jul 21 17:08:52 CEST 2009


Dear Kumar Gala,

In message <1248187378-5970-1-git-send-email-galak at kernel.crashing.org> you wrote:
> The p2020DS, MPC8536DS, MPC8572DS, MPC8544DS boards are capable of
> swizzling the upper address bits 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>
> ---
> * This is a merged version of previous patches that covers all the 85xx boards
> 
>  board/freescale/mpc8536ds/mpc8536ds.c |   18 ++++++++++++++++--
>  board/freescale/mpc8544ds/mpc8544ds.c |   11 +++++++++--
>  board/freescale/mpc8572ds/mpc8572ds.c |   21 ++++++++++++++++++++-
>  board/freescale/p2020ds/p2020ds.c     |   12 +++++++++++-
>  4 files changed, 56 insertions(+), 6 deletions(-)
> 
> diff --git a/board/freescale/mpc8536ds/mpc8536ds.c b/board/freescale/mpc8536ds/mpc8536ds.c
> index 28b27ee..91fb87b 100644
> --- a/board/freescale/mpc8536ds/mpc8536ds.c
> +++ b/board/freescale/mpc8536ds/mpc8536ds.c
> @@ -60,10 +60,24 @@ int board_early_init_f (void)
>  
>  int checkboard (void)
>  {
> -	printf ("Board: MPC8536DS, System ID: 0x%02x, "
> -		"System Version: 0x%02x, FPGA Version: 0x%02x\n",
> +	u8 vboot;
> +
> +	puts("Board: MPC8536DS ");
> +#ifdef CONFIG_PHYS_64BIT
> +	puts("(36-bit addrmap) ");
> +#endif
> +
> +	printf ("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);
> +	if ((vboot >> 7) & 0x1)
> +		puts ("Promjet\n");
> +	else
> +		printf ("vBank: %d\n", ((vboot >> 5) & 0x3));
> +
>  	return 0;
>  }

So how many boards are copying this mostly identical code?

How about factoring out the big common parts?

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
Mirrors should reflect a little before throwing back images.
- Jean Cocteau


More information about the U-Boot mailing list