}
 }
 
-#ifdef MXC_NFC_V1_1
-static void mxc_setup_config1(void)
-{
-       uint16_t tmp;
-
-       tmp = readw(&host->regs->config1);
-       tmp |= NFC_ONE_CYCLE;
-       tmp |= NFC_4_8N_ECC;
-       writew(tmp, &host->regs->config1);
-       if (host->pagesize_2k)
-               writew(64/2, &host->regs->spare_area_size);
-       else
-               writew(16/2, &host->regs->spare_area_size);
-}
-#else
-#define mxc_setup_config1()
-#endif
-
 #ifdef CONFIG_SYS_NAND_USE_FLASH_BBT
 
 static u8 bbt_pattern[] = {'B', 'b', 't', '0' };
        /* Reset NAND */
        this->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
 
+       /* NAND bus width determines access functions used by upper layer */
+       if (is_16bit_nand())
+               this->options |= NAND_BUSWIDTH_16;
+
+#ifdef CONFIG_SYS_NAND_LARGEPAGE
+       host->pagesize_2k = 1;
+       this->ecc.layout = &nand_hw_eccoob2k;
+#else
+       host->pagesize_2k = 0;
+       this->ecc.layout = &nand_hw_eccoob;
+#endif
+
+#ifdef MXC_NFC_V1_1
+       tmp = readw(&host->regs->config1);
+       tmp |= NFC_ONE_CYCLE;
+       tmp |= NFC_4_8N_ECC;
+       writew(tmp, &host->regs->config1);
+       if (host->pagesize_2k)
+               writew(64/2, &host->regs->spare_area_size);
+       else
+               writew(16/2, &host->regs->spare_area_size);
+#endif
+
        /*
         * preset operation
         * Unlock the internal RAM Buffer
        /* Unlock Block Command for given address range */
        writew(0x4, &host->regs->wrprot);
 
-       /* NAND bus width determines access functions used by upper layer */
-       if (is_16bit_nand())
-               this->options |= NAND_BUSWIDTH_16;
-
-#ifdef CONFIG_SYS_NAND_LARGEPAGE
-       host->pagesize_2k = 1;
-       this->ecc.layout = &nand_hw_eccoob2k;
-#else
-       host->pagesize_2k = 0;
-       this->ecc.layout = &nand_hw_eccoob;
-#endif
-       mxc_setup_config1();
        return 0;
 }