2 * Copyright (c) 2015 MediaTek Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
18 #include "mtk_drm_ddp_comp.h"
21 #define MAX_CONNECTOR 2
31 struct mtk_mmsys_driver_data
{
32 const enum mtk_ddp_comp_id
*main_path
;
33 unsigned int main_len
;
34 const enum mtk_ddp_comp_id
*ext_path
;
36 const enum mtk_ddp_comp_id
*third_path
;
37 unsigned int third_len
;
42 struct mtk_drm_private
{
43 struct drm_device
*drm
;
44 struct device
*dma_dev
;
46 unsigned int num_pipes
;
48 struct device_node
*mutex_node
;
49 struct device
*mutex_dev
;
50 void __iomem
*config_regs
;
51 struct device_node
*comp_node
[DDP_COMPONENT_ID_MAX
];
52 struct mtk_ddp_comp
*ddp_comp
[DDP_COMPONENT_ID_MAX
];
53 const struct mtk_mmsys_driver_data
*data
;
56 struct drm_atomic_state
*state
;
57 struct work_struct work
;
61 struct drm_atomic_state
*suspend_state
;
64 extern struct platform_driver mtk_ddp_driver
;
65 extern struct platform_driver mtk_disp_color_driver
;
66 extern struct platform_driver mtk_disp_ovl_driver
;
67 extern struct platform_driver mtk_disp_rdma_driver
;
68 extern struct platform_driver mtk_dpi_driver
;
69 extern struct platform_driver mtk_dsi_driver
;
70 extern struct platform_driver mtk_mipi_tx_driver
;
72 #endif /* MTK_DRM_DRV_H */