* [PATCH v1 01/03]: media: hantro: Add support for Hantro G1 on RK356x
@ 2022-02-13 17:13 Piotr Oniszczuk
2022-02-13 17:13 ` [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: " Piotr Oniszczuk
2022-02-13 17:13 ` [PATCH v1 03/03]: dt-bindings: media: rockchip-vpu: Add RK3568 compatible Piotr Oniszczuk
0 siblings, 2 replies; 4+ messages in thread
From: Piotr Oniszczuk @ 2022-02-13 17:13 UTC (permalink / raw)
To: linux-media; +Cc: Piotr Oniszczuk
From: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
RK356x has Hantro G1 video decoder capable to decode MPEG2/H.264/VP9
video formats.
This patch adds support for RK356x family in existing Hantro
video decoder kernel driver.
Tested on [1] with FFmpeg v4l2_request code taken from [2]
with MPEG2, H.642 and VP8 samples with results [3].
[1] https://github.com/warpme/minimyth2
[2] https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
[3] https://github.com/warpme/minimyth2/blob/master/video-test-summary.txt
Signed-off-by: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
---
drivers/staging/media/hantro/hantro_drv.c | 1 +
drivers/staging/media/hantro/hantro_hw.h | 1 +
drivers/staging/media/hantro/rockchip_vpu_hw.c | 14 ++++++++++++++
3 files changed, 16 insertions(+)
diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
index 6a51f39dde56..ac7d58069eb8 100644
--- a/drivers/staging/media/hantro/hantro_drv.c
+++ b/drivers/staging/media/hantro/hantro_drv.c
@@ -613,6 +613,7 @@ static const struct of_device_id of_hantro_match[] = {
{ .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
{ .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
{ .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
+ { .compatible = "rockchip,rk3568-vpu", .data = &rk3568_vpu_variant, },
#endif
#ifdef CONFIG_VIDEO_HANTRO_IMX8M
{ .compatible = "nxp,imx8mq-vpu", .data = &imx8mq_vpu_variant, },
diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
index 4a19ae8940b9..89ec6d500938 100644
--- a/drivers/staging/media/hantro/hantro_hw.h
+++ b/drivers/staging/media/hantro/hantro_hw.h
@@ -307,6 +307,7 @@ extern const struct hantro_variant rk3066_vpu_variant;
extern const struct hantro_variant rk3288_vpu_variant;
extern const struct hantro_variant rk3328_vpu_variant;
extern const struct hantro_variant rk3399_vpu_variant;
+extern const struct hantro_variant rk3568_vpu_variant;
extern const struct hantro_variant sama5d4_vdec_variant;
extern const struct hantro_variant sunxi_vpu_variant;
diff --git a/drivers/staging/media/hantro/rockchip_vpu_hw.c b/drivers/staging/media/hantro/rockchip_vpu_hw.c
index c203b606e6e7..5e64cf068ff9 100644
--- a/drivers/staging/media/hantro/rockchip_vpu_hw.c
+++ b/drivers/staging/media/hantro/rockchip_vpu_hw.c
@@ -551,6 +551,20 @@ const struct hantro_variant rk3399_vpu_variant = {
.num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
};
+const struct hantro_variant rk3568_vpu_variant = {
+ .dec_offset = 0x400,
+ .dec_fmts = rk3399_vpu_dec_fmts,
+ .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
+ .codec = HANTRO_MPEG2_DECODER |
+ HANTRO_VP8_DECODER | HANTRO_H264_DECODER,
+ .codec_ops = rk3399_vpu_codec_ops,
+ .irqs = rockchip_vdpu2_irqs,
+ .num_irqs = ARRAY_SIZE(rockchip_vdpu2_irqs),
+ .init = rockchip_vpu_hw_init,
+ .clk_names = rockchip_vpu_clk_names,
+ .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names)
+};
+
const struct hantro_variant px30_vpu_variant = {
.enc_offset = 0x0,
.enc_fmts = rockchip_vpu_enc_fmts,
--
2.29.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: Add support for Hantro G1 on RK356x
2022-02-13 17:13 [PATCH v1 01/03]: media: hantro: Add support for Hantro G1 on RK356x Piotr Oniszczuk
@ 2022-02-13 17:13 ` Piotr Oniszczuk
2022-02-14 11:51 ` Ezequiel Garcia
2022-02-13 17:13 ` [PATCH v1 03/03]: dt-bindings: media: rockchip-vpu: Add RK3568 compatible Piotr Oniszczuk
1 sibling, 1 reply; 4+ messages in thread
From: Piotr Oniszczuk @ 2022-02-13 17:13 UTC (permalink / raw)
To: linux-media; +Cc: Piotr Oniszczuk
From: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
RK356x has Hantro G1 video decoder capable to decode MPEG2/H.264/VP9
video formats.
This patch enables RK356x video decoder in RK356x device-tree
include.
Tested on [1] with FFmpeg v4l2_request code taken from [2]
with MPEG2, H.642 and VP8 samples with results [3].
[1] https://github.com/warpme/minimyth2
[2] https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
[3] https://github.com/warpme/minimyth2/blob/master/video-test-summary.txt
Signed-off-by: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
---
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index a68033a23975..ae5d80c5ba64 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -390,6 +390,28 @@ power-domain@RK3568_PD_RKVENC {
};
};
+ vpu: video-codec@fdea0400 {
+ compatible = "rockchip,rk3568-vpu";
+ reg = <0x0 0xfdea0000 0x0 0x800>;
+ interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vdpu";
+ clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+ clock-names = "aclk", "hclk";
+ iommus = <&vdpu_mmu>;
+ power-domains = <&power RK3568_PD_VPU>;
+ };
+
+ vdpu_mmu: iommu@fdea0800 {
+ compatible = "rockchip,rk3568-iommu";
+ reg = <0x0 0xfdea0800 0x0 0x40>;
+ interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vdpu_mmu";
+ clock-names = "aclk", "iface";
+ clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+ power-domains = <&power RK3568_PD_VPU>;
+ #iommu-cells = <0>;
+ };
+
sdmmc2: mmc@fe000000 {
compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
reg = <0x0 0xfe000000 0x0 0x4000>;
--
2.29.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v1 03/03]: dt-bindings: media: rockchip-vpu: Add RK3568 compatible
2022-02-13 17:13 [PATCH v1 01/03]: media: hantro: Add support for Hantro G1 on RK356x Piotr Oniszczuk
2022-02-13 17:13 ` [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: " Piotr Oniszczuk
@ 2022-02-13 17:13 ` Piotr Oniszczuk
1 sibling, 0 replies; 4+ messages in thread
From: Piotr Oniszczuk @ 2022-02-13 17:13 UTC (permalink / raw)
To: linux-media; +Cc: Piotr Oniszczuk
From: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
RK356x has Hantro G1 video decoder capable to decode MPEG2/H.264/VP9
video formats.
This patch adds RK3568 compatible in rockchip-vpu dt-bindings.
Tested on [1] with FFmpeg v4l2_request code taken from [2]
with MPEG2, H.642 and VP8 samples with results [3].
[1] https://github.com/warpme/minimyth2
[2] https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
[3] https://github.com/warpme/minimyth2/blob/master/video-test-summary.txt
Signed-off-by: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
---
Documentation/devicetree/bindings/media/rockchip-vpu.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index bacb60a34989..6cc4d3e5a61d 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -23,6 +23,7 @@ properties:
- rockchip,rk3328-vpu
- rockchip,rk3399-vpu
- rockchip,px30-vpu
+ - rockchip,rk3568-vpu
- items:
- const: rockchip,rk3188-vpu
- const: rockchip,rk3066-vpu
--
2.29.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: Add support for Hantro G1 on RK356x
2022-02-13 17:13 ` [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: " Piotr Oniszczuk
@ 2022-02-14 11:51 ` Ezequiel Garcia
0 siblings, 0 replies; 4+ messages in thread
From: Ezequiel Garcia @ 2022-02-14 11:51 UTC (permalink / raw)
To: Piotr Oniszczuk; +Cc: linux-media
Hi Piotr,
Thanks for your patch.
On Sun, Feb 13, 2022 at 06:13:50PM +0100, Piotr Oniszczuk wrote:
> From: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
>
Please change the commit title to "arm64: dts: rockchip: Add VPU support for RK3568/RK3566".
Also, note that the commit description got some extra indentation.
> RK356x has Hantro G1 video decoder capable to decode MPEG2/H.264/VP9
> video formats.
>
s/VP9/VP8
> This patch enables RK356x video decoder in RK356x device-tree
> include.
>
> Tested on [1] with FFmpeg v4l2_request code taken from [2]
> with MPEG2, H.642 and VP8 samples with results [3].
>
> [1] https://github.com/warpme/minimyth2
> [2] https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/multimedia/ffmpeg/patches/v4l2-request/ffmpeg-001-v4l2-request.patch
> [3] https://github.com/warpme/minimyth2/blob/master/video-test-summary.txt
>
> Signed-off-by: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>
> ---
> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> index a68033a23975..ae5d80c5ba64 100644
> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> @@ -390,6 +390,28 @@ power-domain@RK3568_PD_RKVENC {
> };
> };
>
> + vpu: video-codec@fdea0400 {
> + compatible = "rockchip,rk3568-vpu";
> + reg = <0x0 0xfdea0000 0x0 0x800>;
> + interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "vdpu";
Please remove the interrupt-names, given there is only one interrupt line.
> + clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
> + clock-names = "aclk", "hclk";
> + iommus = <&vdpu_mmu>;
> + power-domains = <&power RK3568_PD_VPU>;
> + };
> +
> + vdpu_mmu: iommu@fdea0800 {
> + compatible = "rockchip,rk3568-iommu";
> + reg = <0x0 0xfdea0800 0x0 0x40>;
> + interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "vdpu_mmu";
Same here.
Thanks,
Ezequiel
> + clock-names = "aclk", "iface";
> + clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
> + power-domains = <&power RK3568_PD_VPU>;
> + #iommu-cells = <0>;
> + };
> +
> sdmmc2: mmc@fe000000 {
> compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
> reg = <0x0 0xfe000000 0x0 0x4000>;
> --
> 2.29.2
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-14 11:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-13 17:13 [PATCH v1 01/03]: media: hantro: Add support for Hantro G1 on RK356x Piotr Oniszczuk
2022-02-13 17:13 ` [PATCH v1 02/03]: arm64: dts: rk356x.dtsi: " Piotr Oniszczuk
2022-02-14 11:51 ` Ezequiel Garcia
2022-02-13 17:13 ` [PATCH v1 03/03]: dt-bindings: media: rockchip-vpu: Add RK3568 compatible Piotr Oniszczuk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).