does someone can send over 4096 byte to i2s via dma
Posted: Fri Dec 08, 2017 1:58 am
dma to i2s, Vonger have an example in here: http://vonger.cn/?p=14302
.....
// start dma transfer
writel(p->addr, p->gdma + 0x0020); // src
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x10000046, p->gdma + 0x0028); //Target_Byte_Count=4096 CH_EN=1
.....
But I need more than 10k data to i2s, so change to this code:
unsigned char buff[ 10* 1024];
memset(buff,0xFF,sizeof(buf)); //only for test
.....
writel(p->addr, p->gdma + 0x0020); // buff address
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x28000046, p->gdma + 0x0028); //Target_Byte_Count=0x2800 = 10k CH_EN=1
.......
but in my USBee only catch 4096 byte, can't see more than 4096 byte, can someone help me, thks.
.....
// start dma transfer
writel(p->addr, p->gdma + 0x0020); // src
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x10000046, p->gdma + 0x0028); //Target_Byte_Count=4096 CH_EN=1
.....
But I need more than 10k data to i2s, so change to this code:
unsigned char buff[ 10* 1024];
memset(buff,0xFF,sizeof(buf)); //only for test
.....
writel(p->addr, p->gdma + 0x0020); // buff address
writel(0x10000a10, p->gdma + 0x0024); //I2S address
writel(0x00200210, p->gdma + 0x002c); // gdma ct1 2
writel(0x28000046, p->gdma + 0x0028); //Target_Byte_Count=0x2800 = 10k CH_EN=1
.......
but in my USBee only catch 4096 byte, can't see more than 4096 byte, can someone help me, thks.