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:
Michal Simek 2022-02-23 15:52:03 +01:00
parent 98cacab765
commit d926695cc5
3 changed files with 51 additions and 0 deletions

View File

@ -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

View File

@ -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/

View 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),
};