Skip to content

Commit c7dc52e

Browse files
committed
ARM: dts: rockchip: Add vpu function for rk312x
Add the vpu_combo and two sub devices, vpu and hevc, both of which with iommu attached. Change-Id: I32b931dc3d967e6569a53e8119434bca2c16f381 Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
1 parent 2fbbede commit c7dc52e

1 file changed

Lines changed: 48 additions & 8 deletions

File tree

arch/arm/boot/dts/rk312x.dtsi

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -465,14 +465,34 @@
465465
};
466466
};
467467

468-
vpu: vpu_service@10104000 {
469-
compatible = "rockchip,vpu_service";
468+
hevc: hevc_service@10104000 {
469+
compatible = "rockchip,sub";
470+
reg = <0x10104000 0x400>;
471+
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
472+
interrupt-names = "irq_dec";
473+
power-domains = <&power RK3128_PD_VIDEO>;
474+
dev_mode = <1>;
475+
name = "hevc_service";
476+
iommus = <&hevc_mmu>;
477+
status = "disabled";
478+
};
479+
480+
hevc_mmu: iommu@10104440 {
481+
compatible = "rockchip,iommu";
482+
reg = <0x10104440 0x40>, <0x10104480 0x40>;
483+
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
484+
interrupt-names = "hevc_mmu";
485+
power-domains = <&power RK3128_PD_VIDEO>;
486+
#iommu-cells = <0>;
487+
status = "disabled";
488+
};
489+
490+
vpu: vpu_service@10106000 {
491+
compatible = "rockchip,sub";
492+
reg = <0x10106000 0x800>;
470493
rockchip,grf = <&grf>;
471-
iommus = <&vpu_mmu>;
472-
iommu_enabled = <1>;
473-
reg = <0x10104000 0x800>;
474494
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
475-
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
495+
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
476496
interrupt-names = "irq_enc", "irq_dec";
477497
clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>;
478498
clock-names = "aclk_vcodec", "hclk_vcodec";
@@ -481,20 +501,40 @@
481501
power-domains = <&power RK3128_PD_VIDEO>;
482502
name = "vpu_service";
483503
dev_mode = <0>;
504+
iommus = <&vpu_mmu>;
484505
/* 0 means ion, 1 means drm */
485506
allocator = <1>;
486507
status = "disabled";
487508
};
488509

489-
vpu_mmu: iommu@10104800 {
510+
vpu_mmu: iommu@10106800 {
490511
compatible = "rockchip,iommu";
491-
reg = <0x10104800 0x40>;
512+
reg = <0x10106800 0x40>;
492513
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
493514
interrupt-names = "vpu_mmu";
494515
clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>;
495516
clock-names = "aclk", "hclk";
496517
power-domains = <&power RK3128_PD_VIDEO>;
497518
#iommu-cells = <0>;
519+
status = "disabled";
520+
};
521+
522+
vpu_combo: vpu_combo {
523+
compatible = "rockchip,vpu_combo";
524+
subcnt = <2>;
525+
rockchip,sub = <&vpu>, <&hevc>;
526+
rockchip,grf = <&grf>;
527+
clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>,
528+
<&cru SCLK_HEVC_CORE>;
529+
clock-names = "aclk_vcodec", "hclk_vcodec",
530+
"clk_core";
531+
resets = <&cru SRST_VCODEC_H>, <&cru SRST_VCODEC_A>,
532+
<&cru SRST_HEVC_CORE>;
533+
reset-names = "video_h", "video_a", "video";
534+
mode_bit = <15>;
535+
mode_ctrl = <0x144>;
536+
name = "vpu_combo";
537+
status = "disabled";
498538
};
499539

500540
iep: iep@10108000 {

0 commit comments

Comments
 (0)