From: Jonas Karlman <jonas@xxxxxxxxx> Add necessary bits to support MPEG2 decoding on RK3328. Signed-off-by: Jonas Karlman <jonas@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> -- Changes from v5: * New patch. drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c | 12 ++++++++++++ .../staging/media/rockchip/vpu/rockchip_vpu_drv.c | 1 + drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h | 1 + 3 files changed, 14 insertions(+) diff --git a/drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c b/drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c index 2b3689968ef4..341f8d69c33d 100644 --- a/drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c +++ b/drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c @@ -175,3 +175,15 @@ const struct rockchip_vpu_variant rk3399_vpu_variant = { .clk_names = {"aclk", "hclk"}, .num_clocks = 2 }; + +const struct rockchip_vpu_variant rk3328_vpu_variant = { + .dec_offset = 0x400, + .dec_fmts = rk3399_vpu_dec_fmts, + .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), + .codec = RK_VPU_MPEG2_DECODER, + .codec_ops = rk3399_vpu_codec_ops, + .vdpu_irq = rk3399_vdpu_irq, + .init = rk3399_vpu_hw_init, + .clk_names = {"aclk", "hclk"}, + .num_clocks = 2 +}; diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c index b94ff97451db..2e22009b6583 100644 --- a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c +++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c @@ -419,6 +419,7 @@ static const struct v4l2_file_operations rockchip_vpu_fops = { static const struct of_device_id of_rockchip_vpu_match[] = { { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, }, + { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, }, { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, }, { /* sentinel */ } }; diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h b/drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h index 6cecb528f994..3d6b97af90fb 100644 --- a/drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h +++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h @@ -79,6 +79,7 @@ enum rockchip_vpu_enc_fmt { }; extern const struct rockchip_vpu_variant rk3399_vpu_variant; +extern const struct rockchip_vpu_variant rk3328_vpu_variant; extern const struct rockchip_vpu_variant rk3288_vpu_variant; void rockchip_vpu_watchdog(struct work_struct *work); -- 2.20.1