This is a cache of https://discuss.96boards.org/t/bam-dma-support-available-in-kernel/7897. It is a snapshot of the page at 2024-10-31T11:03:58.548+0000.
BAM/DMA support available in kernel? - DragonBoard 820c - 96Boards Forum

BAM/DMA support available in kernel?

Hi Guys,

I’m planning to enable BLSP BAM/DMA(drivers/dma/qcom/bam_dma.c) support for SPI. But I don’t see BAM/DMA calls in SPI driver(drivers/spi/spi-qup.c).

In Android kernel, SPI driver call SPS API for connecting BAM/DMA to SPI.

Can developers confirm BAM/DMA support available for SPI in the kernel?

Thanks & Regards,
parbatha

I have added bam/dma properties but I have some question.

With below changes, dma@7544000 is getting probed.

msm8996.dtsi

            blsp1_bam: dma@7544000 {
                    compatible = "qcom,bam-v1.7.0";
                    qcom,controlled-remotely;
                    reg = <0x7544000 0x2b000>;
                    interrupts = <0 238 0>;
                    num-channels = <2>;
                    qcom,num-ees = <1>;
                    #dma-cells = <1>;
                    qcom,ee = <0>;
            };

           blsp1_spi0: spi@07575000 {
               .......
                    interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
                                    <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
              .......
            };

apq9086-db820c.dtsi

             spi@07575000 {
            /* On Low speed expansion */
                    label = "LS-SPI0";
                    status = "okay";
                    dmas = <&blsp1_bam 12>, <&blsp1_bam 13>;
                    dma-names = "tx", "rx";
            };              
  1. What is qcom,ee & qcom,controlled-remotely property?
  2. What value should we provide to qcom,ee property?
  3. What value should we provide to qcom,num-channels? As we have tx & rx channels will value 2 is correct?
  4. What about bam_clk property? BAM/DMA clock source in gcc-msm8996.c not defined?
  5. How to verify BAM/DMA?