用am1808 外接nand Flash 256MB, EMA_D[0:7] 连接到nand I/O上, EMA_A2 EMA_A1 接上nand的CLE ALE
static struct resource da8xx_evm_nandflash_resource[] = {
{
.start = DA8XX_AEMIF_CS3_BASE,
.end = DA8XX_AEMIF_CS3_BASE + SZ_512K + 2 * SZ_1K - 1,
.flags = IORESOURCE_MEM,
},
{
.start = DA8XX_AEMIF_CTL_BASE,
.end = DA8XX_AEMIF_CTL_BASE + SZ_32K - 1,
.flags = IORESOURCE_MEM,
},
};
数组第一个 end = DA8XX_AEMIF_CS3_BASE + SZ_512K + 2 * SZ_1K - 1,如何得到的? 我看很多都是直接DA8XX_AEMIF_CS3_BASE 加上1M。
我的理解是这个DA8XX_AEMIF_CS3_BASE就是在nand probe里面用来remap之类的 然后这个地址开始的一些nand 相关操作的寄存器地址映射。
当然 空间给得比需要的大 是可以工作的,但是如果要精确计算,应该是DA8XX_AEMIF_CS3_BASE 加上多大呢?
|