media: hantro: Add support for MPEG-2 decoding on RK3328
authorJonas Karlman <jonas@kwiboo.se>
Wed, 12 Jun 2019 09:42:08 +0000 (05:42 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 22 Jul 2019 19:16:03 +0000 (15:16 -0400)
Add necessary bits to support MPEG2 decoding on RK3328.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/hantro/Kconfig
drivers/staging/media/hantro/hantro_drv.c
drivers/staging/media/hantro/rk3399_vpu_hw.c

index be133bb..de77fe6 100644 (file)
@@ -20,4 +20,4 @@ config VIDEO_HANTRO_ROCKCHIP
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        default y
        help
-         Enable support for RK3288 and RK3399 SoCs.
+         Enable support for RK3288, RK3328, and RK3399 SoCs.
index 839f3f4..b71a06e 100644 (file)
@@ -425,6 +425,7 @@ static const struct v4l2_file_operations hantro_fops = {
 static const struct of_device_id of_hantro_match[] = {
 #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
        { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
+       { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
        { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
 #endif
        { /* sentinel */ }
index 5718f80..f8400e4 100644 (file)
@@ -184,3 +184,20 @@ const struct hantro_variant rk3399_vpu_variant = {
        .clk_names = rk3399_clk_names,
        .num_clocks = ARRAY_SIZE(rk3399_clk_names)
 };
+
+static const struct hantro_irq rk3328_irqs[] = {
+       { "vdpu", rk3399_vdpu_irq },
+};
+
+const struct hantro_variant rk3328_vpu_variant = {
+       .dec_offset = 0x400,
+       .dec_fmts = rk3399_vpu_dec_fmts,
+       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
+       .codec = HANTRO_MPEG2_DECODER,
+       .codec_ops = rk3399_vpu_codec_ops,
+       .irqs = rk3328_irqs,
+       .num_irqs = ARRAY_SIZE(rk3328_irqs),
+       .init = rk3399_vpu_hw_init,
+       .clk_names = rk3399_clk_names,
+       .num_clocks = ARRAY_SIZE(rk3399_clk_names),
+};