Commit 193b3dac authored by Pierre-Hugues Husson's avatar Pierre-Hugues Husson Committed by Hans Verkuil

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: default avatarPierre-Hugues Husson <phhusson@freebox.fr>
Signed-off-by: default avatarMarc Gonzalez <mgonzalez@freebox.fr>
Reviewed-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: default avatarVikash Garodia <quic_vgarodia@quicinc.com>
Signed-off-by: default avatarStanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent 599a0bc7
......@@ -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, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment