dma: Add Synopsys eDMA IP driver (version 0)
cover dma: Add Synopsys eDMA IP driver (version 0)
Add Synopsys eDMA IP driver (version 0) to Linux kernel. This IP is generally distributed with Synopsys PCIe EndPoint IP (depends of the use and licensing agreement), which supports:
- legacy and unroll modes
- 16 independent and concurrent channels (8 write + 8 read)
- supports linked list (scatter-gather) transfer
- each linked list descriptor can transfer from 1 byte to 4 Gbytes
- PCIe EndPoint glue-logic
Gustavo Pimentel (6):
dma: Add Synopsys eDMA IP core driver
dma: Add Synopsys eDMA IP version 0 support
dma: Add Synopsys eDMA IP version 0 debugfs support
dma: Add Synopsys eDMA IP PCIe glue-logic
MAINTAINERS: Add Synopsys eDMA IP driver maintainer
pci: pci_ids: Add Synopsys device id 0xedda
MAINTAINERS | 7 + drivers/dma/Kconfig | 2 + drivers/dma/Makefile | 1 + drivers/dma/dw-edma/Kconfig | 18 + drivers/dma/dw-edma/Makefile | 7 + drivers/dma/dw-edma/dw-edma-core.c | 945 +++++++++++++++++++++++++++++++ drivers/dma/dw-edma/dw-edma-core.h | 145 +++++ drivers/dma/dw-edma/dw-edma-pcie.c | 302 ++++++++++ drivers/dma/dw-edma/dw-edma-v0-core.c | 347 ++++++++++++ drivers/dma/dw-edma/dw-edma-v0-core.h | 24 + drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 359 ++++++++++++ drivers/dma/dw-edma/dw-edma-v0-debugfs.h | 21 + drivers/dma/dw-edma/dw-edma-v0-regs.h | 143 +++++ drivers/misc/pci_endpoint_test.c | 2 +- include/linux/dma/edma.h | 42 ++ include/linux/pci_ids.h | 1 + 16 files changed, 2365 insertions(+), 1 deletion(-) create mode 100644 drivers/dma/dw-edma/Kconfig create mode 100644 drivers/dma/dw-edma/Makefile create mode 100644 drivers/dma/dw-edma/dw-edma-core.c create mode 100644 drivers/dma/dw-edma/dw-edma-core.h create mode 100644 drivers/dma/dw-edma/dw-edma-pcie.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-core.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-core.h create mode 100644 drivers/dma/dw-edma/dw-edma-v0-debugfs.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-debugfs.h create mode 100644 drivers/dma/dw-edma/dw-edma-v0-regs.h create mode 100644 include/linux/dma/edma.h
Signature · 1 line
2.7.4