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.

Linux/DRA718: edma gpmc

Part Number: DRA718


Tool/software: Linux

Hi:

I want to use edma for data transfer of  nand flash attached to gpmc,but I find that there is no interrupt of dma generated when using original sdk of dra718,

then I find the following questions about nand configuration

1.the Capacity of nand flash I am using is 256MB,is there any question when I do not change the range of ranges property  as follows with red color masked?

   and what is the meaning of ranges property?

&gpmc {
/*
* For the existing IOdelay configuration via U-Boot we don't
* support NAND on dra72-evm. Keep it disabled. Enabling it
* requires a different configuration by U-Boot.
*/
status = "okay";
ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
nand@0,0 {
/* To use NAND, DIP switch SW5 must be set like so:
* SW5.1 (NAND_SELn) = ON (LOW)
* SW5.9 (GPMC_WPN) = OFF (HIGH)
*/
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* device IO registers */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */ /* device IO registers */
ti,nand-ecc-opt = "bch8";
ti,nand-xfer-type = "prefetch-irq";
/*
ti,elm-id = <&elm>;
*/
nand-bus-width = <8>;
gpmc,device-width = <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,adv-rd-off-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-access-ns = <80>;
gpmc,rd-cycle-ns = <80>;
gpmc,wr-cycle-ns = <80>;
gpmc,bus-turnaround-ns = <0>;
gpmc,cycle2cycle-delay-ns = <0>;
gpmc,clk-activation-ns = <0>;
gpmc,wait-monitoring-ns = <0>;
gpmc,wr-data-mux-bus-ns = <0>;
/* MTD partition table */
/* All SPL-* partitions are sized to minimal length
* which can be independently programmable. For
* NAND flash this is equal to size of erase-block */
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "NAND.ROOTFS";
reg = <0x00000000 0x07800000>;
};
partition@1 {
label = "NAND.LIB";
reg = <0x07800000 0x01800000>;
};
partition@2 {
label = "NAND.USR";
reg = <0x09000000 0x01000000>;
};
partition@3 {
label = "NAND.LIB_BACK";
reg = <0x0a000000 0x01800000>;
};
partition@4 {
label = "NAND.USR_BACK";
reg = <0x0b800000 0x01000000>;
};
partition@5 {
label = "NAND.FLAG";
reg = <0x0c800000 0x0600000>;
};
};
};

2.through the trm I know the dma is conneted to the pfwp module of gpmc,there is a register named  GPMC_PREFETCH_STATUS within gpmc module,there is a question,can I understand as follows,

   when pfwp starts to work, the bits of 【13:0】COUNTVALUE  of GPMC_PREFETCH_STATUS become 0 when fpwp completes transfer from nand flash to fifo 

I hope for your response as soon as possible 

thanks

yan xiaoyong