I would like to ask if somebody has used a Linux driver for Intel (Altera) IP for modular Scatter-Gather Direct Memory Access Controller? The source code could be found at https://github.com/altera-opensource/linux-socfpga/blob/813835028e9ae1f18cd11bb0ec591d0f0577d96a/drivers/dma/altera-msgdma.c.
I have been studing and trying to use it with Linux DMA Engine for some weeks but I am not successful. It seem me to be a quite non-standard driver which is not meant for general usage. I am asking in case I do not understand something basic and important.
Following things seem me strange:
- The driver is a platform driver, but there is no
compatibilityproperty. So the driver could not co-operate with DeviceTree. I am able to probe it only in case I add the compatibility string to it.
- Three registres are needed named
respin DeviceTree according to the driver code. However, if the mSGDMA IP is configured to have a streaming input or output, it has not the response port, so
respregister does not exist. Moreover, the read data from
respare always droped (according to function
- The sopc2dtc tool creates a node with different register names at DeviceTree.
- There is no documentation for this driver at Linux kernel source code nor for its DeviceTree binding.
- The device is not registered as dma-controller (function
of_dma_controller_registeris not used), so no device could point to its node at DeviceTree via
Could somebody explain these points to me?
Thanks in advance for any response or just idea.