工具/软件:Linux
您好:
我想将 EDMA 用于 连接到 GPMC,的 nand 闪存的数据传输、但我发现使用 dra718,的原始 SDK 时不会生成 DMA 中断
然后、我会发现以下有关 Nand 配置的问题
1.我正在使用的 Nand 闪存容量为256MB,当我不更改范围属性时,有任何问题, 如下所示为红色屏蔽的?
而 Ranges 属性?的含义是什么
GPMC{
/*
*对于通过 U-Boot 进行的现有 IOdelay 配置、我们不会
*在 dra72-EVM 上支持 NAND。 保持禁用状态。 实现它
*需要 U-Boot 的不同配置。
*
状态="正常";
范围=<0 0x08000000 0x01000000>;//最小 GPMC 分区= 16MB *
NAND@0、0{
/*要使用 NAND,必须按如下方式设置 DIP 开关 SW5:
* SW5.1 (NAND_SELn)=导通(低电平)
* SW5.9 (GPMC_WPN)=关闭(高电平)
*
兼容="ti、OMAP2-nand";
reg =<0 0 4>;/*器件 IO 寄存器*/
interrupt-parent =<&GPMC>;
中断=<0 IRQ_TYPE_NONE>、/* FIFO 事件*/
<1 IRQ_TYPE_None>;// termCOUNT */
RB-GPIO =<&GPMC 0 GPIO_ACTIVE_HIGH>;/* GPMC_wait0引脚*//*器件 IO 寄存器*/
TI、nand-ecc-opt ="bch8";
TI、nand-xfer-type ="prefete-IRQ";
/*
TI、elm-id =<和 elm>;
*
NAND-BUS 宽度=<8>;
GPMC、器件宽度=<2>;
GPMC、SYNC-clk-ps =<0>;
GPMC、cs-on-ns =<0>;
GPMC、cs-rd-off-ns =<80>;
GPMC、cs-wr-off-ns =<80>;
GPMC、Adv-on-ns =<0>;
GPMC、Ad-rd -关闭-ns =<60>;
GPMC、Adv-wr-off-ns =<60>;
GPMC、WE-ON-ns =<10>;
GPMC、WE-OFF-ns =<50>;
GPMC、OE-ON-ns =<4>;
GPMC、OE-OFF-ns =<40>;
GPMC、ACCESS ns =<40>;
GPMC、wr 访问-ns =<80>;
GPMC、第周期-ns =<80>;
GPMC、功率周期-ns =<80>;
GPMC、总线翻转-ns =<0>;
GPMC、cycle2cycle-delay-ns =<0>;
GPMC、clk-activation-ns =<0>;
GPMC、等待监控 ns =<0>;
GPMC、wr-data-mux-bus-ns =<0>;
/* MTD 分区表*/
/*所有 SPL-*分区的大小均为最小长度
可独立编程。 原因
* NAND 闪存这等于擦除块的大小*/
#address-cells =<1>;
大小单元格=<1>;
分区@0{
标签="NAND.ROOTFS";
REG =<0x00000000 0x07800000>;
};
分区@1{
标签="NAND.LIB";
REG =<0x07800000 0x01800000>;
};
分区@2{
标签="NAND.USR";
reg =<0x09000000 0x01000000>;
};
分区@3{
标签="NAND.LIB_BACK_";
reg =<0x0a000000 0x01800000>;
};
分区@4{
标签="NAND.USR_BACT";
REG =<0x0b800000 0x01000000>;
};
分区@5{
标签="NAND.FLAG";
REG =<0x0c800000 0x0600000>;
};
};
};
通过 TRM、我知道 ,连接到 GPMC 的 pfwp 模块,在 GPMC 模块中有一个名为 GPMC_PREFTCH_STATUS 的寄存器,有一个问题,我能理解如下
当 pfwp 开始工作时, 当 fpwp 完成从 nand 闪存到 FIFO 的传输时、GPMC_prefetch 状态的【13:0】COUNTVALUE 位变为0
我希望你能尽快作出答复
谢谢
严晓荣