在 2015/8/6 10:20, Jaehoon Chung 写道:
On 08/06/2015 11:16 AM, Doug Anderson wrote:
Shawn,
On Wed, Aug 5, 2015 at 1:17 AM, Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> wrote:
synopsys-dw-mshc supports three types of transfer mode. We add bindings
and description for how to use them at runtime. Without idmac and edmac
property, pio is the default transfer mode. Make sure that Idmac and emdac
should not be used simultaneously.
Can't you just read the HCON register?
[17:16]: DMA_INTERFACE
00: none
01: DW_DMA
10: GENERIC_DMA
11: NON-DW-DMA
If read it and get the exactly information. I think we can use that information.
It's helpful really, but the description is ambiguous. :(
So I make a big big mistake when I read it for the firest time .
I was just wondering the "mismatch" value from HCON and my databook.
Here I get details from our ASIC team guy :
// Name: DMA_INTERFACE
// Default: None
// Values: None (0), DW-DMA (1), Generic-DMA (2), NON-DW-DMA (3)
// Enabled: INTERNAL_DMAC==0
//
// Configures the type for DMA interface. In addition to AMBA host
interface,
// the data FIFO can be accesses by the optional DMA interface. The DMA
type
// could be either DW-DMA, which provides hand shake signals to
DW_ahb_dmac
// controller, or a generic DMA interface which provides a simpler
// request/acknowledgement protocol and dedicated DMA data-bus, or
// no DMA interface.
`define DMA_INTERFACE 1
if we use idmac, DMA_INTERFACE should be "0", and we get 2b'00 from
HCON[17:16]
if we use edmac, DMA_INTERFACE should be "1", "2" and we get 2b'01 ,2b'10
from HCON[17:16] respectively .
But if only support PIO mode, DMA_INTERFACE should be "3", and we
get 2b'11 from
HCON[17:16].
So, "none" means IDMAC, "DW_DMA"/"GENERIC_DMA" refer to two types of
external dma and "NON-DW-DMA" means pio from databook . It's a little
difficult to understand it.
This makes my work easy!
Thanks, Doug and Jeahoon.
Best Regards,
Jaehoon Chung
--
Shawn Lin