zynqmp_disp.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * ZynqMP Display Driver
  4. *
  5. * Copyright (C) 2017 - 2020 Xilinx, Inc.
  6. *
  7. * Authors:
  8. * - Hyun Woo Kwon <[email protected]>
  9. * - Laurent Pinchart <[email protected]>
  10. */
  11. #ifndef _ZYNQMP_DISP_H_
  12. #define _ZYNQMP_DISP_H_
  13. #include <linux/types.h>
  14. /*
  15. * 3840x2160 is advertised as the maximum resolution, but almost any
  16. * resolutions under a 300Mhz pixel rate would work. Pick 4096x4096.
  17. */
  18. #define ZYNQMP_DISP_MAX_WIDTH 4096
  19. #define ZYNQMP_DISP_MAX_HEIGHT 4096
  20. /* The DPDMA is limited to 44 bit addressing. */
  21. #define ZYNQMP_DISP_MAX_DMA_BIT 44
  22. struct device;
  23. struct drm_device;
  24. struct platform_device;
  25. struct zynqmp_disp;
  26. struct zynqmp_dpsub;
  27. void zynqmp_disp_handle_vblank(struct zynqmp_disp *disp);
  28. bool zynqmp_disp_audio_enabled(struct zynqmp_disp *disp);
  29. unsigned int zynqmp_disp_get_audio_clk_rate(struct zynqmp_disp *disp);
  30. uint32_t zynqmp_disp_get_crtc_mask(struct zynqmp_disp *disp);
  31. int zynqmp_disp_drm_init(struct zynqmp_dpsub *dpsub);
  32. int zynqmp_disp_probe(struct zynqmp_dpsub *dpsub, struct drm_device *drm);
  33. void zynqmp_disp_remove(struct zynqmp_dpsub *dpsub);
  34. #endif /* _ZYNQMP_DISP_H_ */