aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399.dtsi178
1 files changed, 178 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index a6dd623a8845..4c84229789ef 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -45,6 +45,7 @@
45#include <dt-bindings/interrupt-controller/arm-gic.h> 45#include <dt-bindings/interrupt-controller/arm-gic.h>
46#include <dt-bindings/interrupt-controller/irq.h> 46#include <dt-bindings/interrupt-controller/irq.h>
47#include <dt-bindings/pinctrl/rockchip.h> 47#include <dt-bindings/pinctrl/rockchip.h>
48#include <dt-bindings/power/rk3399-power.h>
48#include <dt-bindings/thermal/thermal.h> 49#include <dt-bindings/thermal/thermal.h>
49 50
50/ { 51/ {
@@ -594,6 +595,183 @@
594 status = "disabled"; 595 status = "disabled";
595 }; 596 };
596 597
598 qos_hdcp: qos@ffa90000 {
599 compatible = "syscon";
600 reg = <0x0 0xffa90000 0x0 0x20>;
601 };
602
603 qos_iep: qos@ffa98000 {
604 compatible = "syscon";
605 reg = <0x0 0xffa98000 0x0 0x20>;
606 };
607
608 qos_isp0_m0: qos@ffaa0000 {
609 compatible = "syscon";
610 reg = <0x0 0xffaa0000 0x0 0x20>;
611 };
612
613 qos_isp0_m1: qos@ffaa0080 {
614 compatible = "syscon";
615 reg = <0x0 0xffaa0080 0x0 0x20>;
616 };
617
618 qos_isp1_m0: qos@ffaa8000 {
619 compatible = "syscon";
620 reg = <0x0 0xffaa8000 0x0 0x20>;
621 };
622
623 qos_isp1_m1: qos@ffaa8080 {
624 compatible = "syscon";
625 reg = <0x0 0xffaa8080 0x0 0x20>;
626 };
627
628 qos_rga_r: qos@ffab0000 {
629 compatible = "syscon";
630 reg = <0x0 0xffab0000 0x0 0x20>;
631 };
632
633 qos_rga_w: qos@ffab0080 {
634 compatible = "syscon";
635 reg = <0x0 0xffab0080 0x0 0x20>;
636 };
637
638 qos_video_m0: qos@ffab8000 {
639 compatible = "syscon";
640 reg = <0x0 0xffab8000 0x0 0x20>;
641 };
642
643 qos_video_m1_r: qos@ffac0000 {
644 compatible = "syscon";
645 reg = <0x0 0xffac0000 0x0 0x20>;
646 };
647
648 qos_video_m1_w: qos@ffac0080 {
649 compatible = "syscon";
650 reg = <0x0 0xffac0080 0x0 0x20>;
651 };
652
653 qos_vop_big_r: qos@ffac8000 {
654 compatible = "syscon";
655 reg = <0x0 0xffac8000 0x0 0x20>;
656 };
657
658 qos_vop_big_w: qos@ffac8080 {
659 compatible = "syscon";
660 reg = <0x0 0xffac8080 0x0 0x20>;
661 };
662
663 qos_vop_little: qos@ffad0000 {
664 compatible = "syscon";
665 reg = <0x0 0xffad0000 0x0 0x20>;
666 };
667
668 qos_gpu: qos@ffae0000 {
669 compatible = "syscon";
670 reg = <0x0 0xffae0000 0x0 0x20>;
671 };
672
673 pmu: power-management@ff310000 {
674 compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
675 reg = <0x0 0xff310000 0x0 0x1000>;
676
677 /*
678 * Note: RK3399 supports 6 voltage domains including VD_CORE_L,
679 * VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU.
680 * Some of the power domains are grouped together for every
681 * voltage domain.
682 * The detail contents as below.
683 */
684 power: power-controller {
685 compatible = "rockchip,rk3399-power-controller";
686 #power-domain-cells = <1>;
687 #address-cells = <1>;
688 #size-cells = <0>;
689
690 /* These power domains are grouped by VD_CENTER */
691 pd_iep@RK3399_PD_IEP {
692 reg = <RK3399_PD_IEP>;
693 clocks = <&cru ACLK_IEP>,
694 <&cru HCLK_IEP>;
695 pm_qos = <&qos_iep>;
696 };
697 pd_rga@RK3399_PD_RGA {
698 reg = <RK3399_PD_RGA>;
699 clocks = <&cru ACLK_RGA>,
700 <&cru HCLK_RGA>;
701 pm_qos = <&qos_rga_r>,
702 <&qos_rga_w>;
703 };
704 pd_vcodec@RK3399_PD_VCODEC {
705 reg = <RK3399_PD_VCODEC>;
706 clocks = <&cru ACLK_VCODEC>,
707 <&cru HCLK_VCODEC>;
708 pm_qos = <&qos_video_m0>;
709 };
710 pd_vdu@RK3399_PD_VDU {
711 reg = <RK3399_PD_VDU>;
712 clocks = <&cru ACLK_VDU>,
713 <&cru HCLK_VDU>;
714 pm_qos = <&qos_video_m1_r>,
715 <&qos_video_m1_w>;
716 };
717
718 /* These power domains are grouped by VD_GPU */
719 pd_gpu@RK3399_PD_GPU {
720 reg = <RK3399_PD_GPU>;
721 clocks = <&cru ACLK_GPU>;
722 pm_qos = <&qos_gpu>;
723 };
724
725 /* These power domains are grouped by VD_LOGIC */
726 pd_vio@RK3399_PD_VIO {
727 reg = <RK3399_PD_VIO>;
728 #address-cells = <1>;
729 #size-cells = <0>;
730
731 pd_hdcp@RK3399_PD_HDCP {
732 reg = <RK3399_PD_HDCP>;
733 clocks = <&cru ACLK_HDCP>,
734 <&cru HCLK_HDCP>,
735 <&cru PCLK_HDCP>;
736 pm_qos = <&qos_hdcp>;
737 };
738 pd_isp0@RK3399_PD_ISP0 {
739 reg = <RK3399_PD_ISP0>;
740 clocks = <&cru ACLK_ISP0>,
741 <&cru HCLK_ISP0>;
742 pm_qos = <&qos_isp0_m0>,
743 <&qos_isp0_m1>;
744 };
745 pd_isp1@RK3399_PD_ISP1 {
746 reg = <RK3399_PD_ISP1>;
747 clocks = <&cru ACLK_ISP1>,
748 <&cru HCLK_ISP1>;
749 pm_qos = <&qos_isp1_m0>,
750 <&qos_isp1_m1>;
751 };
752 pd_vo@RK3399_PD_VO {
753 reg = <RK3399_PD_VO>;
754 #address-cells = <1>;
755 #size-cells = <0>;
756
757 pd_vopb@RK3399_PD_VOPB {
758 reg = <RK3399_PD_VOPB>;
759 clocks = <&cru ACLK_VOP0>,
760 <&cru HCLK_VOP0>;
761 pm_qos = <&qos_vop_big_r>,
762 <&qos_vop_big_w>;
763 };
764 pd_vopl@RK3399_PD_VOPL {
765 reg = <RK3399_PD_VOPL>;
766 clocks = <&cru ACLK_VOP1>,
767 <&cru HCLK_VOP1>;
768 pm_qos = <&qos_vop_little>;
769 };
770 };
771 };
772 };
773 };
774
597 pmugrf: syscon@ff320000 { 775 pmugrf: syscon@ff320000 {
598 compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd"; 776 compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
599 reg = <0x0 0xff320000 0x0 0x1000>; 777 reg = <0x0 0xff320000 0x0 0x1000>;