From e1a64270fa9aad808afd6dd5b4bb0b63e4295d20 Mon Sep 17 00:00:00 2001 From: amazingfate Date: Wed, 26 Jun 2024 16:21:39 +0800 Subject: [PATCH] rockchip64-edge: add rkvdec2 for rk356x --- config/kernel/linux-rockchip64-edge.config | 1 + .../media-0001-Add-rkvdec2-Support-v3.patch | 1 + ...Initialize-h264-frame_mbs_only_flag-.patch | 1 + .../rk356x-add-rkvdec2-support.patch | 59 +++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 120000 patch/kernel/archive/rockchip64-6.10/media-0001-Add-rkvdec2-Support-v3.patch create mode 120000 patch/kernel/archive/rockchip64-6.10/media-0002-v4l2-core-Initialize-h264-frame_mbs_only_flag-.patch create mode 100644 patch/kernel/archive/rockchip64-6.10/rk356x-add-rkvdec2-support.patch diff --git a/config/kernel/linux-rockchip64-edge.config b/config/kernel/linux-rockchip64-edge.config index d37b1f7be4..ce86eb5f68 100644 --- a/config/kernel/linux-rockchip64-edge.config +++ b/config/kernel/linux-rockchip64-edge.config @@ -7847,6 +7847,7 @@ CONFIG_STAGING_MEDIA=y # CONFIG_DVB_AV7110 is not set # CONFIG_VIDEO_MAX96712 is not set CONFIG_VIDEO_ROCKCHIP_VDEC=m +CONFIG_VIDEO_ROCKCHIP_VDEC2=m # # StarFive media platform drivers diff --git a/patch/kernel/archive/rockchip64-6.10/media-0001-Add-rkvdec2-Support-v3.patch b/patch/kernel/archive/rockchip64-6.10/media-0001-Add-rkvdec2-Support-v3.patch new file mode 120000 index 0000000000..2bf683db5f --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.10/media-0001-Add-rkvdec2-Support-v3.patch @@ -0,0 +1 @@ +../rockchip-rk3588-6.10/0027-RK3588-Add-rkvdec2-Support-v3.patch \ No newline at end of file diff --git a/patch/kernel/archive/rockchip64-6.10/media-0002-v4l2-core-Initialize-h264-frame_mbs_only_flag-.patch b/patch/kernel/archive/rockchip64-6.10/media-0002-v4l2-core-Initialize-h264-frame_mbs_only_flag-.patch new file mode 120000 index 0000000000..7f8efa7efc --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.10/media-0002-v4l2-core-Initialize-h264-frame_mbs_only_flag-.patch @@ -0,0 +1 @@ +../rockchip-rk3588-6.10/0028-media-v4l2-core-Initialize-h264-frame_mbs_only_flag-.patch \ No newline at end of file diff --git a/patch/kernel/archive/rockchip64-6.10/rk356x-add-rkvdec2-support.patch b/patch/kernel/archive/rockchip64-6.10/rk356x-add-rkvdec2-support.patch new file mode 100644 index 0000000000..eba6828574 --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.10/rk356x-add-rkvdec2-support.patch @@ -0,0 +1,59 @@ +diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +index d8543b555..37141f416 100644 +--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi +@@ -449,6 +449,19 @@ usb2phy1_grf: syscon@fdca8000 { + reg = <0x0 0xfdca8000 0x0 0x8000>; + }; + ++ sram@fdcc0000 { ++ compatible = "mmio-sram"; ++ reg = <0x0 0xfdcc0000 0x0 0xb000>; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ranges = <0x0 0x0 0xfdcc0000 0xb000>; ++ ++ vdec_sram: rkvdec-sram@0 { ++ reg = <0x0 0xb000>; ++ pool; ++ }; ++ }; ++ + pmucru: clock-controller@fdd00000 { + compatible = "rockchip,rk3568-pmucru"; + reg = <0x0 0xfdd00000 0x0 0x1000>; +@@ -635,7 +648,7 @@ gpu: gpu@fde60000 { + }; + + vpu: video-codec@fdea0400 { +- compatible = "rockchip,rk3568-vpu"; ++ compatible = "rockchip,rk3328-vpu"; + reg = <0x0 0xfdea0000 0x0 0x800>; + interrupts = ; + interrupt-names = "vdpu"; +@@ -686,6 +699,25 @@ vepu_mmu: iommu@fdee0800 { + #iommu-cells = <0>; + }; + ++ vdec: video-codec@fdf80200 { ++ compatible = "rockchip,rk3588-vdec"; ++ reg = <0x0 0xfdf80200 0x0 0x500>; ++ interrupts = ; ++ clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_RKVDEC_CA>, ++ <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; ++ clock-names = "axi", "ahb", "cabac", "core", "hevc_cabac"; ++ assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_RKVDEC_CORE>, ++ <&cru CLK_RKVDEC_CA>, <&cru CLK_RKVDEC_HEVC_CA>; ++ assigned-clock-rates = <297000000>, <297000000>, ++ <297000000>, <297000000>; ++ resets = <&cru SRST_A_RKVDEC>, <&cru SRST_H_RKVDEC>, <&cru SRST_RKVDEC_CA>, ++ <&cru SRST_RKVDEC_CORE>, <&cru SRST_RKVDEC_HEVC_CA>; ++ reset-names = "rst_axi", "rst_ahb", "rst_cabac", ++ "rst_core", "rst_hevc_cabac"; ++ power-domains = <&power RK3568_PD_RKVDEC>; ++ sram = <&vdec_sram>; ++ }; ++ + sdmmc2: mmc@fe000000 { + compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc"; + reg = <0x0 0xfe000000 0x0 0x4000>;