@@ -1002,6 +1002,110 @@ static const struct mdp5_cfg_hw sdm630_config = {
10021002 .max_clk = 412500000 ,
10031003};
10041004
1005+ static const struct mdp5_cfg_hw sdm660_config = {
1006+ .name = "sdm660" ,
1007+ .mdp = {
1008+ .count = 1 ,
1009+ .caps = MDP_CAP_DSC |
1010+ MDP_CAP_CDM |
1011+ MDP_CAP_SRC_SPLIT |
1012+ 0 ,
1013+ },
1014+ .ctl = {
1015+ .count = 5 ,
1016+ .base = { 0x01000 , 0x01200 , 0x01400 , 0x01600 , 0x01800 },
1017+ .flush_hw_mask = 0xf4ffffff ,
1018+ },
1019+ .pipe_vig = {
1020+ .count = 2 ,
1021+ .base = { 0x04000 , 0x6000 },
1022+ .caps = MDP_PIPE_CAP_HFLIP |
1023+ MDP_PIPE_CAP_VFLIP |
1024+ MDP_PIPE_CAP_SCALE |
1025+ MDP_PIPE_CAP_CSC |
1026+ MDP_PIPE_CAP_DECIMATION |
1027+ MDP_PIPE_CAP_SW_PIX_EXT |
1028+ 0 ,
1029+ },
1030+ .pipe_rgb = {
1031+ .count = 4 ,
1032+ .base = { 0x14000 , 0x16000 , 0x18000 , 0x1a000 },
1033+ .caps = MDP_PIPE_CAP_HFLIP |
1034+ MDP_PIPE_CAP_VFLIP |
1035+ MDP_PIPE_CAP_SCALE |
1036+ MDP_PIPE_CAP_DECIMATION |
1037+ MDP_PIPE_CAP_SW_PIX_EXT |
1038+ 0 ,
1039+ },
1040+ .pipe_dma = {
1041+ .count = 2 , /* driver supports max of 2 currently */
1042+ .base = { 0x24000 , 0x26000 , 0x28000 },
1043+ .caps = MDP_PIPE_CAP_HFLIP |
1044+ MDP_PIPE_CAP_VFLIP |
1045+ MDP_PIPE_CAP_SW_PIX_EXT |
1046+ 0 ,
1047+ },
1048+ .pipe_cursor = {
1049+ .count = 1 ,
1050+ .base = { 0x34000 },
1051+ .caps = MDP_PIPE_CAP_HFLIP |
1052+ MDP_PIPE_CAP_VFLIP |
1053+ MDP_PIPE_CAP_SW_PIX_EXT |
1054+ MDP_PIPE_CAP_CURSOR |
1055+ 0 ,
1056+ },
1057+
1058+ .lm = {
1059+ .count = 4 ,
1060+ .base = { 0x44000 , 0x45000 , 0x46000 , 0x49000 },
1061+ .instances = {
1062+ { .id = 0 , .pp = 0 , .dspp = 0 ,
1063+ .caps = MDP_LM_CAP_DISPLAY |
1064+ MDP_LM_CAP_PAIR , },
1065+ { .id = 1 , .pp = 1 , .dspp = 1 ,
1066+ .caps = MDP_LM_CAP_DISPLAY , },
1067+ { .id = 2 , .pp = 2 , .dspp = -1 ,
1068+ .caps = MDP_LM_CAP_DISPLAY |
1069+ MDP_LM_CAP_PAIR , },
1070+ { .id = 3 , .pp = 3 , .dspp = -1 ,
1071+ .caps = MDP_LM_CAP_WB , },
1072+ },
1073+ .nb_stages = 8 ,
1074+ .max_width = 2560 ,
1075+ .max_height = 0xFFFF ,
1076+ },
1077+ .dspp = {
1078+ .count = 2 ,
1079+ .base = { 0x54000 , 0x56000 },
1080+ },
1081+ .ad = {
1082+ .count = 2 ,
1083+ .base = { 0x78000 , 0x78800 },
1084+ },
1085+ .pp = {
1086+ .count = 5 ,
1087+ .base = { 0x70000 , 0x70800 , 0x71000 , 0x71800 , 0x72000 },
1088+ },
1089+ .cdm = {
1090+ .count = 1 ,
1091+ .base = { 0x79200 },
1092+ },
1093+ .dsc = {
1094+ .count = 2 ,
1095+ .base = { 0x80000 , 0x80400 },
1096+ },
1097+ .intf = {
1098+ .base = { 0x6a000 , 0x6a800 , 0x6b000 , 0x6b800 },
1099+ .connect = {
1100+ [0 ] = INTF_DISABLED ,
1101+ [1 ] = INTF_DSI ,
1102+ [2 ] = INTF_DSI ,
1103+ [3 ] = INTF_HDMI ,
1104+ },
1105+ },
1106+ .max_clk = 412500000 ,
1107+ };
1108+
10051109static const struct mdp5_cfg_handler cfg_handlers_v1 [] = {
10061110 { .revision = 0 , .config = { .hw = & msm8x74v1_config } },
10071111 { .revision = 2 , .config = { .hw = & msm8x74v2_config } },
@@ -1016,6 +1120,7 @@ static const struct mdp5_cfg_handler cfg_handlers_v1[] = {
10161120
10171121static const struct mdp5_cfg_handler cfg_handlers_v3 [] = {
10181122 { .revision = 0 , .config = { .hw = & msm8998_config } },
1123+ { .revision = 2 , .config = { .hw = & sdm660_config } },
10191124 { .revision = 3 , .config = { .hw = & sdm630_config } },
10201125};
10211126
0 commit comments