Gustavo Pimentel 41aaff2a2a dmaengine: Add Synopsys eDMA IP PCIe glue-logic
Synopsys eDMA IP is normally distributed along with Synopsys PCIe
EndPoint IP (depends of the use and licensing agreement).

This IP requires some basic configurations, such as:
 - eDMA registers BAR
 - eDMA registers offset
 - eDMA registers size
 - eDMA linked list memory BAR
 - eDMA linked list memory offset
 - eDMA linked list memory size
 - eDMA data memory BAR
 - eDMA data memory offset
 - eDMA data memory size
 - eDMA version
 - eDMA mode
 - IRQs available for eDMA

As a working example, PCIe glue-logic will attach to a Synopsys PCIe
EndPoint IP prototype kit (Vendor ID = 0x16c3, Device ID = 0xedda),
which has built-in an eDMA IP with this default configuration:
 - eDMA registers BAR = 0
 - eDMA registers offset = 0x00001000 (4 Kbytes)
 - eDMA registers size = 0x00002000 (8 Kbytes)
 - eDMA linked list memory BAR = 2
 - eDMA linked list memory offset = 0x00000000 (0 Kbytes)
 - eDMA linked list memory size = 0x00800000 (8 Mbytes)
 - eDMA data memory BAR = 2
 - eDMA data memory offset = 0x00800000 (8 Mbytes)
 - eDMA data memory size = 0x03800000 (56 Mbytes)
 - eDMA version = 0
 - eDMA mode = EDMA_MODE_UNROLL
 - IRQs = 1

This driver can be compile as built-in or external module in kernel.

To enable this driver just select DW_EDMA_PCIE option in kernel
configuration, however it requires and selects automatically DW_EDMA
option too.

Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Joao Pinto <jpinto@synopsys.com>
Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2019-06-10 13:10:39 +05:30
..
2019-05-16 19:08:15 -07:00
2019-05-16 19:08:15 -07:00
2019-05-16 09:19:14 -07:00
2019-05-16 08:31:32 -07:00
2019-05-15 18:56:50 -07:00
2019-05-16 09:19:14 -07:00
2019-05-07 08:50:40 -07:00
2019-05-16 08:31:32 -07:00
2019-05-14 10:39:08 -07:00
2019-05-07 12:56:19 -07:00
2019-05-15 18:56:50 -07:00
2019-05-16 19:08:15 -07:00
2019-05-16 09:19:14 -07:00
2019-05-09 08:40:55 -07:00
2019-05-14 10:30:10 -07:00
2019-05-08 10:03:52 -07:00
2019-05-14 10:39:08 -07:00
2019-05-14 10:39:08 -07:00
2019-05-14 19:52:51 -07:00
2019-05-16 09:19:14 -07:00
2019-05-16 09:19:14 -07:00
2019-05-16 09:19:14 -07:00
2019-05-16 11:57:16 -07:00
2019-05-16 09:19:14 -07:00
2019-05-14 14:12:59 -07:00
2019-05-07 13:39:22 -07:00
2019-05-16 08:31:32 -07:00
2019-05-15 18:44:52 -07:00