mirror of https://github.com/armbian/build.git
rockchip-rk3588: edge: add rkvdec2 support
This commit is contained in:
parent
bbd5699e13
commit
f790473789
|
@ -8415,6 +8415,7 @@ CONFIG_DVB_BUDGET_PATCH=m
|
|||
CONFIG_DVB_SP8870=m
|
||||
# CONFIG_VIDEO_MAX96712 is not set
|
||||
CONFIG_VIDEO_ROCKCHIP_VDEC=m
|
||||
CONFIG_VIDEO_ROCKCHIP_VDEC2=m
|
||||
|
||||
#
|
||||
# StarFive media platform drivers
|
||||
|
|
|
@ -32,43 +32,6 @@ index 111111111111..222222222222 100644
|
|||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Date: Thu, 13 Jun 2024 15:48:43 +0200
|
||||
Subject: media: dt-bindings: rockchip-vpu: Add RK3588 VPU121
|
||||
|
||||
From: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
|
||||
RK3588 has four Hantro H1 VEPUs (encoder-only) modules and one combined
|
||||
Hantro H1/G1 VPU (decoder and encoder). These are not described as
|
||||
separate IP, since they are sharing an internal cache. This adds the
|
||||
RK3588 specific compatible string for the combined VPU, which seems to
|
||||
be identical to the version found in the RK3568.
|
||||
|
||||
Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
Acked-by: Conor Dooley <conor.dooley@microchip.com>
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
Documentation/devicetree/bindings/media/rockchip-vpu.yaml | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
|
||||
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
|
||||
@@ -31,6 +31,9 @@ properties:
|
||||
- items:
|
||||
- const: rockchip,rk3228-vpu
|
||||
- const: rockchip,rk3399-vpu
|
||||
+ - items:
|
||||
+ - const: rockchip,rk3588-vpu121
|
||||
+ - const: rockchip,rk3568-vpu
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
--
|
||||
Armbian
|
||||
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Date: Thu, 13 Jun 2024 15:48:44 +0200
|
||||
|
@ -307,22 +270,23 @@ Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
|
|||
Tested-by: Hugh Cole-Baker <sigmaris@gmail.com>
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 21 ++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 22 ++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
||||
@@ -1282,6 +1282,27 @@ power-domain@RK3588_PD_SDMMC {
|
||||
@@ -1282,6 +1282,28 @@ power-domain@RK3588_PD_SDMMC {
|
||||
};
|
||||
};
|
||||
|
||||
+ vpu121: video-codec@fdb50000 {
|
||||
+ compatible = "rockchip,rk3588-vpu121", "rockchip,rk3568-vpu";
|
||||
+ compatible = "rockchip,rk3588-vpu121", "rockchip,rk3399-vpu";
|
||||
+ reg = <0x0 0xfdb50000 0x0 0x800>;
|
||||
+ interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
+ interrupt-names = "vdpu";
|
||||
+ interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
+ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
+ interrupt-names = "vepu", "vdpu";
|
||||
+ clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
|
||||
+ clock-names = "aclk", "hclk";
|
||||
+ iommus = <&vpu121_mmu>;
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,43 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: amazingfate <liujianfeng1994@gmail.com>
|
||||
Date: Fri, 21 Jun 2024 16:32:55 +0800
|
||||
Subject: media: v4l2-core: Initialize h264 frame_mbs_only_flag as 1
|
||||
|
||||
---
|
||||
drivers/media/v4l2-core/v4l2-ctrls-core.c | 13 ++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/media/v4l2-core/v4l2-ctrls-core.c
|
||||
+++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c
|
||||
@@ -111,6 +111,7 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx,
|
||||
struct v4l2_ctrl_vp9_frame *p_vp9_frame;
|
||||
struct v4l2_ctrl_fwht_params *p_fwht_params;
|
||||
struct v4l2_ctrl_h264_scaling_matrix *p_h264_scaling_matrix;
|
||||
+ struct v4l2_ctrl_h264_sps *p_h264_sps;
|
||||
struct v4l2_ctrl_av1_sequence *p_av1_sequence;
|
||||
void *p = ptr.p + idx * ctrl->elem_size;
|
||||
|
||||
@@ -179,6 +180,18 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx,
|
||||
*/
|
||||
memset(p_h264_scaling_matrix, 16, sizeof(*p_h264_scaling_matrix));
|
||||
break;
|
||||
+ case V4L2_CTRL_TYPE_H264_SPS:
|
||||
+ p_h264_sps = p;
|
||||
+ /*
|
||||
+ * Without V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY,
|
||||
+ * frame_mbs_only_flag set to 0 will translate to a miniumum
|
||||
+ * height of 32 (see H.264 specification 7-8). Some driver may
|
||||
+ * have a minimum size lower then 32, which would fail
|
||||
+ * validation with the SPS value. Set this flag, so that there
|
||||
+ * is now doubling in the height, allowing a valid default.
|
||||
+ */
|
||||
+ p_h264_sps->flags = V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
Loading…
Reference in New Issue