unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
 
+#ifndef CONFIG_SYS_NO_FLASH
 static int sh_flash_init(void)
 {
        gd->bd->bi_flashsize = flash_init();
 
        return 0;
 }
+#endif /* CONFIG_SYS_NO_FLASH */
 
 #if defined(CONFIG_CMD_NAND)
 # include <nand.h>
        dram_init,              /* SDRAM init */
        timer_init,             /* SuperH Timer (TCNT0 only) init */
        sh_mem_env_init,
-       sh_flash_init,  /* Flash memory(NOR) init*/
+#ifndef CONFIG_SYS_NO_FLASH
+       sh_flash_init,  /* Flash memory init*/
+#endif
        INIT_FUNC_NAND_INIT/* Flash memory (NAND) init */
        INIT_FUNC_PCI_INIT      /* PCI init */
        stdio_init,
        bd = gd->bd;
        bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
        bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
+#ifndef CONFIG_SYS_NO_FLASH
        bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;
+#endif
 #if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE)
        bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;
        bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;