@@ -675,6 +675,42 @@ static const struct venus_resources msm8916_res = {
675675 .enc_nodename = "video-encoder" ,
676676};
677677
678+ static const struct freq_tbl msm8939_freq_table [] = {
679+ { 489600 , 266670000 }, /* 1080p @ 60 */
680+ { 244800 , 133330000 }, /* 1080p @ 30 */
681+ { 244800 , 200000000 }, /* 1080p @ 30 */
682+ { 220800 , 133330000 }, /* 720p @ 60 */
683+ { 108000 , 133330000 }, /* 720p @ 30 */
684+ { 108000 , 200000000 }, /* 720p @ 30 */
685+ { 72000 , 133330000 }, /* VGA @ 60 */
686+ { 36000 , 133330000 }, /* VGA @ 30 */
687+ };
688+
689+ static const struct reg_val msm8939_reg_preset [] = {
690+ { 0xe0020 , 0x0aaaaaaa },
691+ { 0xe0024 , 0x0aaaaaaa },
692+ { 0x80124 , 0x00000003 },
693+ };
694+
695+ static const struct venus_resources msm8939_res = {
696+ .freq_tbl = msm8939_freq_table ,
697+ .freq_tbl_size = ARRAY_SIZE (msm8939_freq_table ),
698+ .reg_tbl = msm8939_reg_preset ,
699+ .reg_tbl_size = ARRAY_SIZE (msm8939_reg_preset ),
700+ .clks = { "core" , "iface" , "bus" , },
701+ .clks_num = 3 ,
702+ .vcodec0_clks = { "core" },
703+ .vcodec1_clks = { "core" },
704+ .vcodec_clks_num = 1 ,
705+ .max_load = 489600 , /* 1080p@30 + 1080p@30 */
706+ .hfi_version = HFI_VERSION_1XX ,
707+ .vmem_id = VIDC_RESOURCE_NONE ,
708+ .vmem_size = 0 ,
709+ .vmem_addr = 0 ,
710+ .dma_mask = 0xddc00000 - 1 ,
711+ .fwname = "qcom/venus-1.8/venus.mbn" ,
712+ };
713+
678714static const struct freq_tbl msm8996_freq_table [] = {
679715 { 1944000 , 520000000 }, /* 4k UHD @ 60 (decode only) */
680716 { 972000 , 520000000 }, /* 4k UHD @ 30 */
@@ -1059,6 +1095,7 @@ static const struct venus_resources sc7280_res = {
10591095
10601096static const struct of_device_id venus_dt_match [] = {
10611097 { .compatible = "qcom,msm8916-venus" , .data = & msm8916_res , },
1098+ { .compatible = "qcom,msm8939-venus" , .data = & msm8939_res , },
10621099 { .compatible = "qcom,msm8996-venus" , .data = & msm8996_res , },
10631100 { .compatible = "qcom,msm8998-venus" , .data = & msm8998_res , },
10641101 { .compatible = "qcom,sdm660-venus" , .data = & sdm660_res , },
0 commit comments