dma: xilinx: Add Display Port DMA driver
Display Port (DP) has own dma driver that's why add this skeleton driver only for handling power domain setting and send configuration object to PMUFW to enable it. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Link: https://lore.kernel.org/r/fe8bc313bcd430b04e9fa6fb770d5799ef28b350.1645627920.git.michal.simek@xilinx.com
This commit is contained in:
parent
98cacab765
commit
d926695cc5
@ -68,6 +68,13 @@ config APBH_DMA
|
|||||||
help
|
help
|
||||||
Enable APBH DMA driver.
|
Enable APBH DMA driver.
|
||||||
|
|
||||||
|
config XILINX_DPDMA
|
||||||
|
bool "Enable ZynqMP Display Port DMA driver"
|
||||||
|
depends on DMA && ZYNQMP_POWER_DOMAIN
|
||||||
|
help
|
||||||
|
Enable support for Xilinx ZynqMP Display DMA driver. Currently
|
||||||
|
this file is used as placeholder for driver. The main reason is
|
||||||
|
to record compatible string and calling power domain driver.
|
||||||
|
|
||||||
if APBH_DMA
|
if APBH_DMA
|
||||||
config APBH_DMA_BURST
|
config APBH_DMA_BURST
|
||||||
|
@ -13,5 +13,6 @@ obj-$(CONFIG_SANDBOX_DMA) += sandbox-dma-test.o
|
|||||||
obj-$(CONFIG_TI_KSNAV) += keystone_nav.o keystone_nav_cfg.o
|
obj-$(CONFIG_TI_KSNAV) += keystone_nav.o keystone_nav_cfg.o
|
||||||
obj-$(CONFIG_TI_EDMA3) += ti-edma3.o
|
obj-$(CONFIG_TI_EDMA3) += ti-edma3.o
|
||||||
obj-$(CONFIG_DMA_LPC32XX) += lpc32xx_dma.o
|
obj-$(CONFIG_DMA_LPC32XX) += lpc32xx_dma.o
|
||||||
|
obj-$(CONFIG_XILINX_DPDMA) += xilinx_dpdma.o
|
||||||
|
|
||||||
obj-y += ti/
|
obj-y += ti/
|
||||||
|
43
drivers/dma/xilinx_dpdma.c
Normal file
43
drivers/dma/xilinx_dpdma.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2021 Xilinx Inc.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <cpu_func.h>
|
||||||
|
#include <dm.h>
|
||||||
|
#include <dma.h>
|
||||||
|
#include <dma-uclass.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <dm/device_compat.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct zynqmp_dpdma_priv - Private structure
|
||||||
|
* @dev: Device uclass for video_ops
|
||||||
|
*/
|
||||||
|
struct zynqmp_dpdma_priv {
|
||||||
|
struct udevice *dev;
|
||||||
|
};
|
||||||
|
|
||||||
|
static int zynqmp_dpdma_probe(struct udevice *dev)
|
||||||
|
{
|
||||||
|
/* Only placeholder for power domain driver */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct dma_ops zynqmp_dpdma_ops = {
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct udevice_id zynqmp_dpdma_ids[] = {
|
||||||
|
{ .compatible = "xlnx,zynqmp-dpdma" },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
U_BOOT_DRIVER(zynqmp_dpdma) = {
|
||||||
|
.name = "zynqmp_dpdma",
|
||||||
|
.id = UCLASS_DMA,
|
||||||
|
.of_match = zynqmp_dpdma_ids,
|
||||||
|
.ops = &zynqmp_dpdma_ops,
|
||||||
|
.probe = zynqmp_dpdma_probe,
|
||||||
|
.priv_auto = sizeof(struct zynqmp_dpdma_priv),
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user