|
465 | 465 | }; |
466 | 466 | }; |
467 | 467 |
|
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>; |
470 | 493 | rockchip,grf = <&grf>; |
471 | | - iommus = <&vpu_mmu>; |
472 | | - iommu_enabled = <1>; |
473 | | - reg = <0x10104000 0x800>; |
474 | 494 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, |
475 | | - <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
| 495 | + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
476 | 496 | interrupt-names = "irq_enc", "irq_dec"; |
477 | 497 | clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>; |
478 | 498 | clock-names = "aclk_vcodec", "hclk_vcodec"; |
|
481 | 501 | power-domains = <&power RK3128_PD_VIDEO>; |
482 | 502 | name = "vpu_service"; |
483 | 503 | dev_mode = <0>; |
| 504 | + iommus = <&vpu_mmu>; |
484 | 505 | /* 0 means ion, 1 means drm */ |
485 | 506 | allocator = <1>; |
486 | 507 | status = "disabled"; |
487 | 508 | }; |
488 | 509 |
|
489 | | - vpu_mmu: iommu@10104800 { |
| 510 | + vpu_mmu: iommu@10106800 { |
490 | 511 | compatible = "rockchip,iommu"; |
491 | | - reg = <0x10104800 0x40>; |
| 512 | + reg = <0x10106800 0x40>; |
492 | 513 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; |
493 | 514 | interrupt-names = "vpu_mmu"; |
494 | 515 | clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>; |
495 | 516 | clock-names = "aclk", "hclk"; |
496 | 517 | power-domains = <&power RK3128_PD_VIDEO>; |
497 | 518 | #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"; |
498 | 538 | }; |
499 | 539 |
|
500 | 540 | iep: iep@10108000 { |
|
0 commit comments