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.

EDMA3 support for kernel keystone 2 66AK2E02

Other Parts Discussed in Thread: OMAPL138

Hi experts,

I want add support for EDMA3 in my Linux kernel.

I have a source code which has version 3.10.61

In make menuconfig when i search for EDMA it showing

 Symbol: TI_EDMA [=n]                                                                                                                                                                           
  │ Type  : tristate                                                                                                                                                                                
  │ Prompt: TI EDMA support                                                                                                                                                                       Location:                                                                                                                                                                                     
  │     -> Device Drivers                                                                                                                                                                             
  │ (1)   -> DMA Engine support (DMADEVICES [=y])                                                                                                                             
  │   Defined at drivers/dma/Kconfig:214                                                                                                                                                           
  │   Depends on: DMADEVICES [=y] && ARCH_DAVINCI [=n]                                                                                                                               
  │   Selects: DMA_ENGINE [=y] && DMA_VIRTUAL_CHANNELS [=n]

It means TI_EDMA depends on ARCH_DAVINCI but my architecture is ARCH_KEYSTONE.

so how can i enable TI_EDMA support for keystone II????

  • Dear Vijay,


    In make menuconfig when i search for EDMA it showing

    Symbol: TI_EDMA [=n]
    │ Type : tristate
    │ Prompt: TI EDMA support Location:
    │ -> Device Drivers
    │ (1) -> DMA Engine support (DMADEVICES [=y])
    │ Defined at drivers/dma/Kconfig:214
    │ Depends on: DMADEVICES [=y] && ARCH_DAVINCI [=n]
    │ Selects: DMA_ENGINE [=y] && DMA_VIRTUAL_CHANNELS [=n]

    It means TI_EDMA depends on ARCH_DAVINCI but my architecture is ARCH_KEYSTONE.

    so how can i enable TI_EDMA support for keystone II????

    This EDMA will not support for keystone based devices but davinci series processor OMAPL138,OMAPL137 etc.,


    You can get the user space DMA driver in the following location for keystone devices.
    git.ti.com/.../udma
  • Hi Titus,

    Thanks for fast response. so, you are telling that TI_EDMA is not required for keystone devices.

    so my questions are,

    1) If this than KEYSTONE_UDMA and KEYSTONE_DMA is enough for support EDMA in keystone devices ??

    In my kernel both are enable.Symbol:
    KEYSTONE_UDMA [=y] │
    │ Type : tristate │
    │ Prompt: Zero Copy User Mode DMA client │
    │ Location: │
    │ -> Device Drivers │
    │ -> DMA Engine support (DMADEVICES [=y]) │
    │ (4) -> TI Keystone platform Packet DMA support (KEYSTONE_DMA[=y]) │
    │ Defined at drivers/dma/Kconfig:324 │
    │ Depends on: DMADEVICES [=y] && KEYSTONE_DMA [=y] │
    │ Selects: VIRTIO [=y] && VIRTIO_RING && CMA [=y]

    2) I want to write module for EDMA which can transfer block of memory from one to another. I got one sample from TI in following link

    processors.wiki.ti.com/.../EDMA_sample_test_application

    In this example all functions are used from edma.c (TI_EDMA). So above link is not helpful for keystone devices ??
    If no than TI provide any example of EDMA for keystone devices ???


    Thanks & regards,
    Vijaykumar
  • Dear Vijaykumar,
    You can take that code for reference and change it for keystone devices.
    EDMA concept is same for all the TI devices but only change is registers, channel controller and transfer controllers.
  • Hi Titus,

    Thanks. I will use that code for reference and change it for keystone devices.

    My confusion is i have source code which has version 3.10.61

    In that drivers/dma/Kconfig

    config TI_EDMA
    tristate "TI EDMA support"
    depends on ARCH_DAVINCI
    select DMA_ENGINE
    select DMA_VIRTUAL_CHANNELS
    default n
    help
    Enable support for the TI EDMA controller. This DMA
    engine is found on TI DaVinci and AM33xx parts.

    And another source code i download from git has version 3.13.0

    In that drivers/dma/Kconfig

    config TI_EDMA
    bool "TI EDMA support"
    depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE
    select DMA_ENGINE
    select DMA_VIRTUAL_CHANNELS
    select TI_PRIV_EDMA
    default n
    help
    Enable support for the TI EDMA controller. This DMA
    engine is found on TI DaVinci and AM33xx parts.

    So, I want to use EDMA for keystone so i want to support EDMA for 3.10.61, can i copy all dependency for EDMA from 3.13.0 to my 3.10.61 or any other way is there??

    If any other way and i am going in wrong direction just inform me.
    Because i searching in TI for EDMA support in keystone devices from last few days but i can not found good result.

    Thanks,
    Vijaykumar