Quantcast
Channel: Forum - Recent Threads
Viewing all articles
Browse latest Browse all 1583

RZ A1 M custom board SCIF with DMA

$
0
0

Hi,

I am using the the RZ A1 M cpu on a custom board. The debug port (console terminal) is connected to the SCIF3. Everything is working fine, except when I try to send a file through the debug port, I got overrun error. When I add delay between line sent, there is no error message. I heard that when using the SCIF with DMA, it can reduce the overrun error and therefore, removing delay or lowering it.

I tried to add the DMA but with no luck. I am receiving the kernel debug log on startup, but it stop before the login prompt and I cannot write anything.

Here is the change I have made in the linux kernel in board-rskrza1.c

Added slave config in rza1_dma_slaves[] list

{
.slave_id = RZA1DMA_SLAVE_SCIF3_TX,
.addr = 0xe800880c,
.chcfg = CHCFG(0x1, 0x0, 0x1, 0x1, 0x2, 0x1, 0x1, 0x0),
.dmars = DMARS(0x1, 0x1b),
},
{
.slave_id = RZA1DMA_SLAVE_SCIF3_RX,
.addr = 0xe8008814,
.chcfg = CHCFG(0x0, 0x0, 0x1, 0x1, 0x2, 0x1, 0x1, 0x0),
.dmars = DMARS(0x2, 0x1b),
},

added the slave id in plat_sci_port

static const struct plat_sci_port scif3_platform_data = {
.type = PORT_SCIF,
.regtype = SCIx_SH4_SCIF_FIFODATA_REGTYPE,
.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.dma_slave_tx = RZA1DMA_SLAVE_SCIF3_TX,
.dma_slave_rx = RZA1DMA_SLAVE_SCIF3_RX,
};

Am I forgetting something or doing something wrong?

Do any one of you have tried with success for using SCIF with DMA?

Thank for your help,

ABSysacom


Viewing all articles
Browse latest Browse all 1583

Trending Articles