@@ -30,6 +30,7 @@ enum mtk_ovl_adaptor_comp_type {
3030 OVL_ADAPTOR_TYPE_ETHDR ,
3131 OVL_ADAPTOR_TYPE_MDP_RDMA ,
3232 OVL_ADAPTOR_TYPE_MERGE ,
33+ OVL_ADAPTOR_TYPE_PADDING ,
3334 OVL_ADAPTOR_TYPE_NUM ,
3435};
3536
@@ -47,6 +48,14 @@ enum mtk_ovl_adaptor_comp_id {
4748 OVL_ADAPTOR_MERGE1 ,
4849 OVL_ADAPTOR_MERGE2 ,
4950 OVL_ADAPTOR_MERGE3 ,
51+ OVL_ADAPTOR_PADDING0 ,
52+ OVL_ADAPTOR_PADDING1 ,
53+ OVL_ADAPTOR_PADDING2 ,
54+ OVL_ADAPTOR_PADDING3 ,
55+ OVL_ADAPTOR_PADDING4 ,
56+ OVL_ADAPTOR_PADDING5 ,
57+ OVL_ADAPTOR_PADDING6 ,
58+ OVL_ADAPTOR_PADDING7 ,
5059 OVL_ADAPTOR_ID_MAX
5160};
5261
@@ -67,6 +76,7 @@ static const char * const private_comp_stem[OVL_ADAPTOR_TYPE_NUM] = {
6776 [OVL_ADAPTOR_TYPE_ETHDR ] = "ethdr" ,
6877 [OVL_ADAPTOR_TYPE_MDP_RDMA ] = "vdo1-rdma" ,
6978 [OVL_ADAPTOR_TYPE_MERGE ] = "merge" ,
79+ [OVL_ADAPTOR_TYPE_PADDING ] = "padding" ,
7080};
7181
7282static const struct mtk_ddp_comp_funcs ethdr = {
@@ -81,6 +91,13 @@ static const struct mtk_ddp_comp_funcs merge = {
8191 .clk_disable = mtk_merge_clk_disable ,
8292};
8393
94+ static const struct mtk_ddp_comp_funcs padding = {
95+ .clk_enable = mtk_padding_clk_enable ,
96+ .clk_disable = mtk_padding_clk_disable ,
97+ .start = mtk_padding_start ,
98+ .stop = mtk_padding_stop ,
99+ };
100+
84101static const struct mtk_ddp_comp_funcs rdma = {
85102 .power_on = mtk_mdp_rdma_power_on ,
86103 .power_off = mtk_mdp_rdma_power_off ,
@@ -102,6 +119,14 @@ static const struct ovl_adaptor_comp_match comp_matches[OVL_ADAPTOR_ID_MAX] = {
102119 [OVL_ADAPTOR_MERGE1 ] = { OVL_ADAPTOR_TYPE_MERGE , DDP_COMPONENT_MERGE2 , 2 , & merge },
103120 [OVL_ADAPTOR_MERGE2 ] = { OVL_ADAPTOR_TYPE_MERGE , DDP_COMPONENT_MERGE3 , 3 , & merge },
104121 [OVL_ADAPTOR_MERGE3 ] = { OVL_ADAPTOR_TYPE_MERGE , DDP_COMPONENT_MERGE4 , 4 , & merge },
122+ [OVL_ADAPTOR_PADDING0 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING0 , 0 , & padding },
123+ [OVL_ADAPTOR_PADDING1 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING1 , 1 , & padding },
124+ [OVL_ADAPTOR_PADDING2 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING2 , 2 , & padding },
125+ [OVL_ADAPTOR_PADDING3 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING3 , 3 , & padding },
126+ [OVL_ADAPTOR_PADDING4 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING4 , 4 , & padding },
127+ [OVL_ADAPTOR_PADDING5 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING5 , 5 , & padding },
128+ [OVL_ADAPTOR_PADDING6 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING6 , 6 , & padding },
129+ [OVL_ADAPTOR_PADDING7 ] = { OVL_ADAPTOR_TYPE_PADDING , DDP_COMPONENT_PADDING7 , 7 , & padding },
105130};
106131
107132void mtk_ovl_adaptor_layer_config (struct device * dev , unsigned int idx ,
@@ -437,6 +462,7 @@ static int ovl_adaptor_comp_get_id(struct device *dev, struct device_node *node,
437462}
438463
439464static const struct of_device_id mtk_ovl_adaptor_comp_dt_ids [] = {
465+ { .compatible = "mediatek,mt8188-disp-padding" , .data = (void * )OVL_ADAPTOR_TYPE_PADDING },
440466 { .compatible = "mediatek,mt8195-disp-ethdr" , .data = (void * )OVL_ADAPTOR_TYPE_ETHDR },
441467 { .compatible = "mediatek,mt8195-disp-merge" , .data = (void * )OVL_ADAPTOR_TYPE_MERGE },
442468 { .compatible = "mediatek,mt8195-vdo1-rdma" , .data = (void * )OVL_ADAPTOR_TYPE_MDP_RDMA },
0 commit comments