mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-30 13:03:01 +00:00
media: venus: add msm8998 support
Add the missing bits for msm8998 support. Downstream vendor code for reference: https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/ kernel.lnx.4.4.r38-rel/arch/arm/boot/dts/qcom/msm8998-vidc.dtsi#L42-53 qcom,load-freq-tbl = /* Encoders */ <972000 465000000 0x55555555>, /* 4k UHD @ 30 */ <489600 360000000 0x55555555>, /* 1080p @ 60 */ <244800 186000000 0x55555555>, /* 1080p @ 30 */ <108000 100000000 0x55555555>, /* 720p @ 30 */ /* Decoders */ <1944000 465000000 0xffffffff>, /* 4k UHD @ 60 */ < 972000 360000000 0xffffffff>, /* 4k UHD @ 30 */ < 489600 186000000 0xffffffff>, /* 1080p @ 60 */ < 244800 100000000 0xffffffff>; /* 1080p @ 30 */ Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr> Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
599a0bc7f1
commit
193b3dac29
@ -591,6 +591,44 @@ static const struct venus_resources msm8996_res = {
|
||||
.fwname = "qcom/venus-4.2/venus.mbn",
|
||||
};
|
||||
|
||||
static const struct freq_tbl msm8998_freq_table[] = {
|
||||
{ 1944000, 465000000 }, /* 4k UHD @ 60 (decode only) */
|
||||
{ 972000, 465000000 }, /* 4k UHD @ 30 */
|
||||
{ 489600, 360000000 }, /* 1080p @ 60 */
|
||||
{ 244800, 186000000 }, /* 1080p @ 30 */
|
||||
{ 108000, 100000000 }, /* 720p @ 30 */
|
||||
};
|
||||
|
||||
static const struct reg_val msm8998_reg_preset[] = {
|
||||
{ 0x80124, 0x00000003 },
|
||||
{ 0x80550, 0x01111111 },
|
||||
{ 0x80560, 0x01111111 },
|
||||
{ 0x80568, 0x01111111 },
|
||||
{ 0x80570, 0x01111111 },
|
||||
{ 0x80580, 0x01111111 },
|
||||
{ 0x80588, 0x01111111 },
|
||||
{ 0xe2010, 0x00000000 },
|
||||
};
|
||||
|
||||
static const struct venus_resources msm8998_res = {
|
||||
.freq_tbl = msm8998_freq_table,
|
||||
.freq_tbl_size = ARRAY_SIZE(msm8998_freq_table),
|
||||
.reg_tbl = msm8998_reg_preset,
|
||||
.reg_tbl_size = ARRAY_SIZE(msm8998_reg_preset),
|
||||
.clks = { "core", "iface", "bus", "mbus" },
|
||||
.clks_num = 4,
|
||||
.vcodec0_clks = { "core" },
|
||||
.vcodec1_clks = { "core" },
|
||||
.vcodec_clks_num = 1,
|
||||
.max_load = 2563200,
|
||||
.hfi_version = HFI_VERSION_3XX,
|
||||
.vmem_id = VIDC_RESOURCE_NONE,
|
||||
.vmem_size = 0,
|
||||
.vmem_addr = 0,
|
||||
.dma_mask = 0xddc00000 - 1,
|
||||
.fwname = "qcom/venus-4.4/venus.mbn",
|
||||
};
|
||||
|
||||
static const struct freq_tbl sdm660_freq_table[] = {
|
||||
{ 979200, 518400000 },
|
||||
{ 489600, 441600000 },
|
||||
@ -897,6 +935,7 @@ static const struct venus_resources sc7280_res = {
|
||||
static const struct of_device_id venus_dt_match[] = {
|
||||
{ .compatible = "qcom,msm8916-venus", .data = &msm8916_res, },
|
||||
{ .compatible = "qcom,msm8996-venus", .data = &msm8996_res, },
|
||||
{ .compatible = "qcom,msm8998-venus", .data = &msm8998_res, },
|
||||
{ .compatible = "qcom,sdm660-venus", .data = &sdm660_res, },
|
||||
{ .compatible = "qcom,sdm845-venus", .data = &sdm845_res, },
|
||||
{ .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, },
|
||||
|
Loading…
Reference in New Issue
Block a user