/* SPDX-License-Identifier: GPL-2.0 */ /* * ZynqMP Display Driver * * Copyright (C) 2017 - 2020 Xilinx, Inc. * * Authors: * - Hyun Woo Kwon <hyun.kwon@xilinx.com> * - Laurent Pinchart <laurent.pinchart@ideasonboard.com> */ #ifndef _ZYNQMP_DISP_H_ #define _ZYNQMP_DISP_H_ #include <linux/types.h> /* * 3840x2160 is advertised as the maximum resolution, but almost any * resolutions under a 300Mhz pixel rate would work. Pick 4096x4096. */ #define ZYNQMP_DISP_MAX_WIDTH 4096 #define ZYNQMP_DISP_MAX_HEIGHT 4096 /* The DPDMA is limited to 44 bit addressing. */ #define ZYNQMP_DISP_MAX_DMA_BIT 44 struct device; struct drm_device; struct platform_device; struct zynqmp_disp; struct zynqmp_dpsub; void zynqmp_disp_handle_vblank(struct zynqmp_disp *disp); bool zynqmp_disp_audio_enabled(struct zynqmp_disp *disp); unsigned int zynqmp_disp_get_audio_clk_rate(struct zynqmp_disp *disp); uint32_t zynqmp_disp_get_crtc_mask(struct zynqmp_disp *disp); int zynqmp_disp_drm_init(struct zynqmp_dpsub *dpsub); int zynqmp_disp_probe(struct zynqmp_dpsub *dpsub, struct drm_device *drm); void zynqmp_disp_remove(struct zynqmp_dpsub *dpsub); #endif /* _ZYNQMP_DISP_H_ */