#define PARPORT_MC_SET_CYCLES 0x014
#define PARPORT_MC_SET_OPMODE 0x018
+#define BOOT_MODE_REG (XPSS_SYS_CTRL_BASEADDR + 0x25C)
+#define BOOT_MODES_MASK 0x0000000F
+#define QSPI_MODE (0x00000000) /**< QSPI */
+#define NAND_FLASH_MODE (0x00000001) /**< NAND */
+#define NOR_FLASH_MODE (0x00000002) /**< NOR */
+#define SD_MODE (0x00000008) /**< Secure Digital card */
+
+
DECLARE_GLOBAL_DATA_PTR;
/* Where should these really go? */
{
icache_enable();
init_nor_flash();
+
+ return 0;
+}
+
+int board_late_init (void)
+{
+ u32 boot_mode;
+
+ boot_mode = (In32(BOOT_MODE_REG) & BOOT_MODES_MASK);
+ switch(boot_mode) {
+ case QSPI_MODE:
+ setenv("modeboot", "run qspiboot");
+ break;
+ case NAND_FLASH_MODE:
+ setenv("modeboot", "run nandboot");
+ break;
+ case NOR_FLASH_MODE:
+ setenv("modeboot", "run norboot");
+ break;
+ case SD_MODE:
+ setenv("modeboot", "run sdboot");
+ break;
+ default:
+ setenv("modeboot", "");
+ break;
+ }
return 0;
}
"ramdisk_size=0x200000\0" \
"nand_kernel_size=0x400000\0" \
"nand_ramdisk_size=0x400000\0" \
+ "bootcmd=run modeboot\0" \
"norboot=echo Copying Linux from NOR flash to RAM...; \
cp 0xE2100000 0x8000 ${kernel_size}; \
echo Copying ramdisk from NOR flash to RAM...; \
#define CONFIG_DOS_PARTITION
#endif
+#define BOARD_LATE_INIT 1
+
#endif /* __CONFIG_H */