Skip to content
Snippets Groups Projects
Commit 9af9c6bd authored by Kumar Gala's avatar Kumar Gala
Browse files

86xx: Report which "bank" of NOR flash we are booting from on MPC8641HPCN


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: default avatarKumar Gala <galak@kernel.crashing.org>
parent 89188a62
No related branches found
No related tags found
No related merge requests found
...@@ -42,10 +42,20 @@ int board_early_init_f(void) ...@@ -42,10 +42,20 @@ int board_early_init_f(void)
int checkboard(void) int checkboard(void)
{ {
printf ("Board: MPC8641HPCN, System ID: 0x%02x, " u8 vboot;
"System Version: 0x%02x, FPGA Version: 0x%02x\n", u8 *pixis_base = (u8 *)PIXIS_BASE;
in8(PIXIS_BASE + PIXIS_ID), in8(PIXIS_BASE + PIXIS_VER),
in8(PIXIS_BASE + PIXIS_PVER)); printf ("Board: MPC8641HPCN, Sys ID: 0x%02x, "
"Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
in_8(pixis_base + PIXIS_ID), in_8(pixis_base + PIXIS_VER),
in_8(pixis_base + PIXIS_PVER));
vboot = in_8(pixis_base + PIXIS_VBOOT);
if (vboot & PIXIS_VBOOT_FMAP)
printf ("vBank: %d\n", ((vboot & PIXIS_VBOOT_FBANK) >> 6));
else
puts ("Promjet\n");
#ifdef CONFIG_PHYS_64BIT #ifdef CONFIG_PHYS_64BIT
printf (" 36-bit physical address map\n"); printf (" 36-bit physical address map\n");
#endif #endif
......
...@@ -224,6 +224,8 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); ...@@ -224,6 +224,8 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);
#define PIXIS_VCFGEN0 0x12 /* VELA Config Enable 0 */ #define PIXIS_VCFGEN0 0x12 /* VELA Config Enable 0 */
#define PIXIS_VCFGEN1 0x13 /* VELA Config Enable 1 */ #define PIXIS_VCFGEN1 0x13 /* VELA Config Enable 1 */
#define PIXIS_VBOOT 0x16 /* VELA VBOOT Register */ #define PIXIS_VBOOT 0x16 /* VELA VBOOT Register */
#define PIXIS_VBOOT_FMAP 0x80 /* VBOOT - CFG_FLASHMAP */
#define PIXIS_VBOOT_FBANK 0x40 /* VBOOT - CFG_FLASHBANK */
#define PIXIS_VSPEED0 0x17 /* VELA VSpeed 0 */ #define PIXIS_VSPEED0 0x17 /* VELA VSpeed 0 */
#define PIXIS_VSPEED1 0x18 /* VELA VSpeed 1 */ #define PIXIS_VSPEED1 0x18 /* VELA VSpeed 1 */
#define PIXIS_VCLKH 0x19 /* VELA VCLKH register */ #define PIXIS_VCLKH 0x19 /* VELA VCLKH register */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment