[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