Skip to content
Snippets Groups Projects
omap_gpmc.c 28.8 KiB
Newer Older
  • Learn to ignore specific revisions
  • Dirk Behme's avatar
    Dirk Behme committed
    		nand->options |= NAND_BUSWIDTH_16;
    
    	nand->chip_delay = 100;
    
    	nand->ecc.layout = &omap_ecclayout;
    
    	/* select ECC scheme */
    #if defined(CONFIG_NAND_OMAP_ELM)
    	err = omap_select_ecc_scheme(nand, OMAP_ECC_BCH8_CODE_HW,
    			CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE);
    #elif defined(CONFIG_NAND_OMAP_BCH8)
    	err = omap_select_ecc_scheme(nand, OMAP_ECC_BCH8_CODE_HW_DETECTION_SW,
    			CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE);
    #elif !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_NAND_SOFTECC)
    	err = omap_select_ecc_scheme(nand, OMAP_ECC_HAM1_CODE_SW,
    			0, 0);
    
    	err = omap_select_ecc_scheme(nand, OMAP_ECC_HAM1_CODE_HW,
    			CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE);
    
    #ifdef CONFIG_SPL_BUILD
    
    	if (nand->options & NAND_BUSWIDTH_16)
    		nand->read_buf = nand_read_buf16;
    	else
    		nand->read_buf = nand_read_buf;
    	nand->dev_ready = omap_spl_dev_ready;
    #endif
    
    Dirk Behme's avatar
    Dirk Behme committed
    
    	return 0;
    }