This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omap-l138 u-boot NAND 位宽

Other Parts Discussed in Thread: OMAP-L138

omap-l138 u-boot-2019.01+gitAUTOINC+029e4c009a-g029e4c009a中使用了16-bit-width NAND flash以匹配OMAP-LCDK单板所用MT29F4G16ABAD;现在,所用单板采用了8-bit-width NAND flash,修改了配置执行8-bit操作。但是,测试表明NAND仍然以16-bit操作。

那么,应该如何配置才能使u-boot以8-bit-width模式操作NAND flash呢?

UBL中通过改变配置能以8-bit-width模式操作NAND flash,并且能正常bootload u-boot into DDR,说明NAND硬件没有问题。

  • 请到board/davinci/da8xxevm/omapl138_lcdk.c,把DAVINCI_ABCR_ASIZE_16BIT改成DAVINCI_ABCR_ASIZE_8BIT。

    #ifdef CONFIG_NAND_DAVINCI
    /*
    * NAND CS setup - cycle counts based on da850evm NAND timings in the
    * Linux kernel @ 25MHz EMIFA
    */
    writel((DAVINCI_ABCR_WSETUP(15) |
    DAVINCI_ABCR_WSTROBE(63) |
    DAVINCI_ABCR_WHOLD(7) |
    DAVINCI_ABCR_RSETUP(15) |
    DAVINCI_ABCR_RSTROBE(63) |
    DAVINCI_ABCR_RHOLD(7) |
    DAVINCI_ABCR_TA(3) |
    DAVINCI_ABCR_ASIZE_16BIT),
    &davinci_emif_regs->ab2cr); /* CS3 */
    #endif
  • 可以了。谢谢!