121 lines
3.3 KiB
Diff
121 lines
3.3 KiB
Diff
diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
|
|
index 3839eef5e4f7..595fa2562cb8 100644
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
|
|
@@ -18,3 +18,7 @@ power-domain@RK3568_PD_PIPE {
|
|
#power-domain-cells = <0>;
|
|
};
|
|
};
|
|
+
|
|
+&vop {
|
|
+ compatible = "rockchip,rk3566-vop";
|
|
+};
|
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
|
|
index 2fd313a295f8..1e55efb6fcfd 100644
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
|
|
@@ -95,3 +95,7 @@ power-domain@RK3568_PD_PIPE {
|
|
#power-domain-cells = <0>;
|
|
};
|
|
};
|
|
+
|
|
+&vop {
|
|
+ compatible = "rockchip,rk3568-vop";
|
|
+};
|
|
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
|
index a68033a23975..4008bd666d01 100644
|
|
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
|
@@ -10,6 +10,7 @@
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
#include <dt-bindings/power/rk3568-power.h>
|
|
#include <dt-bindings/soc/rockchip,boot-mode.h>
|
|
+#include <dt-bindings/soc/rockchip,vop2.h>
|
|
#include <dt-bindings/thermal/thermal.h>
|
|
|
|
/ {
|
|
@@ -129,6 +130,11 @@ opp-1800000000 {
|
|
};
|
|
};
|
|
|
|
+ display_subsystem: display-subsystem {
|
|
+ compatible = "rockchip,display-subsystem";
|
|
+ ports = <&vop_out>;
|
|
+ };
|
|
+
|
|
firmware {
|
|
scmi: scmi {
|
|
compatible = "arm,scmi-smc";
|
|
@@ -451,6 +457,51 @@ gmac1_mtl_tx_setup: tx-queues-config {
|
|
};
|
|
};
|
|
|
|
+ vop: vop@fe040000 {
|
|
+ reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
|
|
+ reg-names = "regs", "gamma_lut";
|
|
+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
+ clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
|
|
+ clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2";
|
|
+ iommus = <&vop_mmu>;
|
|
+ power-domains = <&power RK3568_PD_VO>;
|
|
+ rockchip,grf = <&grf>;
|
|
+ status = "disabled";
|
|
+
|
|
+ vop_out: ports {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ vp0: port@0 {
|
|
+ reg = <0>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ };
|
|
+
|
|
+ vp1: port@1 {
|
|
+ reg = <1>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ };
|
|
+
|
|
+ vp2: port@2 {
|
|
+ reg = <2>;
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vop_mmu: iommu@fe043e00 {
|
|
+ compatible = "rockchip,rk3568-iommu";
|
|
+ reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
|
|
+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
+ clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
|
|
+ clock-names = "aclk", "iface";
|
|
+ #iommu-cells = <0>;
|
|
+ status = "disabled";
|
|
+ };
|
|
+
|
|
qos_gpu: qos@fe128000 {
|
|
compatible = "rockchip,rk3568-qos", "syscon";
|
|
reg = <0x0 0xfe128000 0x0 0x20>;
|
|
diff --git a/include/dt-bindings/soc/rockchip,vop2.h b/include/dt-bindings/soc/rockchip,vop2.h
|
|
new file mode 100644
|
|
index 000000000000..0a87bc90564a
|
|
--- /dev/null
|
|
+++ b/include/dt-bindings/soc/rockchip,vop2.h
|
|
@@ -0,0 +1,14 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
|
|
+
|
|
+#ifndef __DT_BINDINGS_ROCKCHIP_VOP2_H
|
|
+#define __DT_BINDINGS_ROCKCHIP_VOP2_H
|
|
+
|
|
+#define RK3568_VOP2_EP_RGB 0
|
|
+#define RK3568_VOP2_EP_HDMI 1
|
|
+#define RK3568_VOP2_EP_EDP 2
|
|
+#define RK3568_VOP2_EP_MIPI0 3
|
|
+#define RK3568_VOP2_EP_LVDS0 4
|
|
+#define RK3568_VOP2_EP_MIPI1 5
|
|
+#define RK3568_VOP2_EP_LVDS1 6
|
|
+
|
|
+#endif /* __DT_BINDINGS_ROCKCHIP_VOP2_H */
|