dmaengine: tegra: Add tegra gpcdma driver
Adding GPC DMA controller driver for Tegra. The driver supports dma transfers between memory to memory, IO peripheral to memory and memory to IO peripheral. Co-developed-by: Pavan Kunapuli <pkunapuli@nvidia.com> Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com> Co-developed-by: Rajesh Gumasta <rgumasta@nvidia.com> Signed-off-by: Rajesh Gumasta <rgumasta@nvidia.com> Signed-off-by: Akhil R <akhilrajeev@nvidia.com> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-by: Dmitry Osipenko <digetx@gmail.com> Acked-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20220225132044.14478-3-akhilrajeev@nvidia.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
729106266a
commit
ee17028009
@ -629,6 +629,17 @@ config TXX9_DMAC
|
|||||||
Support the TXx9 SoC internal DMA controller. This can be
|
Support the TXx9 SoC internal DMA controller. This can be
|
||||||
integrated in chips such as the Toshiba TX4927/38/39.
|
integrated in chips such as the Toshiba TX4927/38/39.
|
||||||
|
|
||||||
|
config TEGRA186_GPC_DMA
|
||||||
|
tristate "NVIDIA Tegra GPC DMA support"
|
||||||
|
depends on (ARCH_TEGRA || COMPILE_TEST) && ARCH_DMA_ADDR_T_64BIT
|
||||||
|
select DMA_ENGINE
|
||||||
|
help
|
||||||
|
Support for the NVIDIA Tegra General Purpose Central DMA controller.
|
||||||
|
The DMA controller has multiple DMA channels which can be configured
|
||||||
|
for different peripherals like UART, SPI, etc which are on APB bus.
|
||||||
|
This DMA controller transfers data from memory to peripheral FIFO
|
||||||
|
or vice versa. It also supports memory to memory data transfer.
|
||||||
|
|
||||||
config TEGRA20_APB_DMA
|
config TEGRA20_APB_DMA
|
||||||
tristate "NVIDIA Tegra20 APB DMA support"
|
tristate "NVIDIA Tegra20 APB DMA support"
|
||||||
depends on ARCH_TEGRA || COMPILE_TEST
|
depends on ARCH_TEGRA || COMPILE_TEST
|
||||||
|
@ -72,6 +72,7 @@ obj-$(CONFIG_STM32_MDMA) += stm32-mdma.o
|
|||||||
obj-$(CONFIG_SPRD_DMA) += sprd-dma.o
|
obj-$(CONFIG_SPRD_DMA) += sprd-dma.o
|
||||||
obj-$(CONFIG_S3C24XX_DMAC) += s3c24xx-dma.o
|
obj-$(CONFIG_S3C24XX_DMAC) += s3c24xx-dma.o
|
||||||
obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o
|
obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o
|
||||||
|
obj-$(CONFIG_TEGRA186_GPC_DMA) += tegra186-gpc-dma.o
|
||||||
obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o
|
obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o
|
||||||
obj-$(CONFIG_TEGRA210_ADMA) += tegra210-adma.o
|
obj-$(CONFIG_TEGRA210_ADMA) += tegra210-adma.o
|
||||||
obj-$(CONFIG_TIMB_DMA) += timb_dma.o
|
obj-$(CONFIG_TIMB_DMA) += timb_dma.o
|
||||||
|
1507
drivers/dma/tegra186-gpc-dma.c
Normal file
1507
drivers/dma/tegra186-gpc-dma.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user