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/66AK2H12: EDMA driver

Part Number: 66AK2H12

Tool/software: Linux

I use kernel with 4.4.41,i found ti has edma driver.

but now, i don't know how to use it.

1,how to setting edam dts?

2,how to use edma function?

  • Hi,

    In your linux folder search for the following path:
    Documentation/dmaengine/
    And read the txt files there. There is a description of the dma apis & how to use dma in linux user space.

    As for your first question, you can have a look at the existing dts files:
    arch/arm/boot/dts/keystone-k2hk-evm.dts
    arch/arm/boot/dts/keystone.dtsi
    arch/arm/boot/dts/keystone-k2hk.dtsi

    There is also a document describing the rules on how edma is set EDMA, it is located in Documentation/devicetree/bindings/dma/ti-edma.txt

    Best Regards,
    Yordan
  • thanks,

    i can't find edma setting in 

    arch/arm/boot/dts/keystone-k2hk-evm.dts
    arch/arm/boot/dts/keystone.dtsi
    arch/arm/boot/dts/keystone-k2hk.dtsi ,

    but at

    arch/arm/boot/dts/keystone-k2g.dtsi

    edma0: edma@02700000 {
    compatible = "ti,edma3-tpcc";
    reg = <0x02700000 0x8000>;
    reg-names = "edma3_cc";
    interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>,
    <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>,
    <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
    interrupt-names = "edma3_ccint", "emda3_mperr",
    "edma3_ccerrint";
    dma-requests = <64>;
    #dma-cells = <2>;

    ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;

    ti,edma-memcpy-channels = <32 33 34 35>;

    power-domains = <&k2g_pds K2G_DEV_EDMA0>;
    clocks = <&k2g_clks K2G_DEV_EDMA0 K2G_DEV_EDMA_TPCC_CLK>;
    clock-names = "fck";
    };

    edma0_tptc0: tptc@02760000 {
    compatible = "ti,edma3-tptc";
    reg = <0x02760000 0x400>;
    power-domains = <&k2g_pds K2G_DEV_EDMA0>;
    clocks = <&k2g_clks K2G_DEV_EDMA0 K2G_DEV_EDMA_TPTC_CLK>;
    clock-names = "fck";
    };

    edma0_tptc1: tptc@02768000 {
    compatible = "ti,edma3-tptc";
    reg = <0x02768000 0x400>;
    power-domains = <&k2g_pds K2G_DEV_EDMA0>;
    clocks = <&k2g_clks K2G_DEV_EDMA0 K2G_DEV_EDMA_TPTC_CLK>;
    clock-names = "fck";
    };

    can i setting edma as k2g file?