1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2023 MediaTek Inc.
4 * Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
7 #ifndef __MDP_SM_MT8183_H__
8 #define __MDP_SM_MT8183_H__
10 #include "mtk-mdp3-type.h"
13 * ISP-MDP generic output information
14 * MD5 of the target SCP prebuild:
15 * 2d995ddb5c3b0cf26e96d6a823481886
18 #define IMG_MAX_SUBFRAMES_8183 14
20 struct img_comp_frame_8183 {
32 struct img_comp_subfrm_8183 {
35 struct img_region out;
36 struct img_offset luma;
37 struct img_offset chroma;
38 s16 out_vertical; /* Output vertical index */
39 s16 out_horizontal; /* Output horizontal index */
42 struct mdp_rdma_subfrm_8183 {
43 u32 offset[IMG_MAX_PLANES];
50 struct mdp_rdma_data_8183 {
53 u32 iova[IMG_MAX_PLANES];
54 u32 iova_end[IMG_MAX_PLANES];
61 struct mdp_rdma_subfrm_8183 subfrms[IMG_MAX_SUBFRAMES_8183];
64 struct mdp_rsz_subfrm_8183 {
70 struct mdp_rsz_data_8183 {
75 struct mdp_rsz_subfrm_8183 subfrms[IMG_MAX_SUBFRAMES_8183];
78 struct mdp_wrot_subfrm_8183 {
79 u32 offset[IMG_MAX_PLANES];
86 struct mdp_wrot_data_8183 {
87 u32 iova[IMG_MAX_PLANES];
89 u32 stride[IMG_MAX_PLANES];
93 struct mdp_wrot_subfrm_8183 subfrms[IMG_MAX_SUBFRAMES_8183];
96 struct mdp_wdma_subfrm_8183 {
97 u32 offset[IMG_MAX_PLANES];
103 struct mdp_wdma_data_8183 {
105 u32 iova[IMG_MAX_PLANES];
108 struct mdp_wdma_subfrm_8183 subfrms[IMG_MAX_SUBFRAMES_8183];
111 struct isp_data_8183 {
112 u64 dl_flags; /* 1 << (enum mdp_comp_type) */
116 u32 tpipe_iova[IMG_MAX_SUBFRAMES_8183];
119 struct img_compparam_8183 {
120 u16 type; /* enum mdp_comp_id */
121 u16 id; /* engine alias_id */
123 u32 outputs[IMG_MAX_HW_OUTPUTS];
125 struct img_comp_frame_8183 frame;
126 struct img_comp_subfrm_8183 subfrms[IMG_MAX_SUBFRAMES_8183];
129 struct mdp_rdma_data_8183 rdma;
130 struct mdp_rsz_data_8183 rsz;
131 struct mdp_wrot_data_8183 wrot;
132 struct mdp_wdma_data_8183 wdma;
133 struct isp_data_8183 isp;
137 struct img_config_8183 {
138 struct img_compparam_8183 components[IMG_MAX_COMPONENTS];
140 struct img_mmsys_ctrl ctrls[IMG_MAX_SUBFRAMES_8183];
144 #endif /* __MDP_SM_MT8183_H__ */