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.

AM625: Migrating Cyclone-10 FPGA design from am335x to am62x

Part Number: AM625

Hello,

We have designed a new board with an am625 with an Intel Cyclone-10 FPGA connected to the GPMC, as a follow-on module from a design utilising am am335x SoC with the same FPGA.

I have managed to get the GPMC interface running and I am able to read and write memory-mapped registers correctly over the GPMC.

In our am335x design we utilised the XDMA_EVENT_INTR0 line to signal the am335x that there was data available in the FIFO's and that triggered a DMA transfer.

I am struggling to understand the architecture of the DMA in the am62x, but as far as I can figure out, I should be using the BCDMA module which is functionally similar to EDMA in the am335x.

In our am62x design we have routed the GPIO1_15 signal to the FPGA signal indicating data is available, and I understand that in the am62x that any GPIO may be utilized to trigger DMA transfers.

I do not find any examples in the device tree of the kernel I am currently using which is the ti-linux-kernel on branch ti-linux-5.10.y commit b28123e3a3c358bfcce6a82795a9980cd0ec9496 illustrating how configure BCDMA nor how to configure a GPIO to trigger a DMA transfer using BCDMA.

Any assistance would be greatly appreciated.

Hamish

  • Hi Hamish,

    Since the AM625x Linux GPMC driver doesn't use DMA for data transfers, I won't be able to provide details in using DMA  on AM625x GPMC. But for using BCDMA in kernel drivers, you can refer to the AM625x CSI driver which uses BCDMA. The driver is drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c. The device tree for CSI module is in arch/arm64/boot/dts/ti/k3-am62-main.dtsi, node ticsi2rx@30102000.