From 83aabef608886745f995c98e77fe5ad89a1f38c9 Mon Sep 17 00:00:00 2001 From: Chaoyi Chen Date: Thu, 7 Nov 2024 05:22:25 +0000 Subject: [PATCH] arm64: dts: rockchip: Add vop support for RV1126B Change-Id: Iecc96e5a371a723c8acdc773fbb52658ec0f4a4a Signed-off-by: Chaoyi Chen --- arch/arm64/boot/dts/rockchip/rv1126b.dtsi | 87 ++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rv1126b.dtsi b/arch/arm64/boot/dts/rockchip/rv1126b.dtsi index ace0c37bd90d..e4fbb3862e82 100644 --- a/arch/arm64/boot/dts/rockchip/rv1126b.dtsi +++ b/arch/arm64/boot/dts/rockchip/rv1126b.dtsi @@ -93,6 +93,24 @@ }; }; + display_subsystem: display-subsystem { + compatible = "rockchip,display-subsystem"; + ports = <&vop_out>; + status = "disabled"; + logo-memory-region = <&drm_logo>; + + route { + route_rgb: route-rgb { + status = "disabled"; + logo,uboot = "logo.bmp"; + logo,kernel = "logo_kernel.bmp"; + logo,mode = "center"; + charge_logo,mode = "center"; + connect = <&vop_out_rgb>; + }; + }; + }; + fiq_debugger: fiq-debugger { compatible = "rockchip,fiq-debugger"; rockchip,serial-id = <0>; @@ -112,6 +130,17 @@ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + drm_logo: drm-logo@0 { + compatible = "rockchip,drm-logo"; + reg = <0x0 0x0>; + }; + }; + thermal_zones: thermal-zones { cpu_thermal: cpu-thermal { polling-delay-passive = <20>; /* milliseconds */ @@ -185,8 +214,30 @@ }; ioc_grf: syscon@201a0000 { - compatible = "rockchip,rv1126b-ioc-grf", "syscon"; + compatible = "rockchip,rv1126b-ioc-grf", "syscon", "simple-mfd"; reg = <0x201a0000 0x50000>; + + rgb: rgb { + compatible = "rockchip,rv1126b-rgb"; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + rgb_in_vop: endpoint@0 { + reg = <0>; + remote-endpoint = <&vop_out_rgb>; + }; + }; + + }; + }; }; i2c2: i2c@20800000 { @@ -566,6 +617,40 @@ status = "disabled"; }; + vop: vop@22150000 { + compatible = "rockchip,rv1126b-vop"; + reg = <0x22150000 0x200>, <0x22150a00 0x400>; + reg-names = "regs", "gamma_lut"; + rockchip,grf = <&ioc_grf>; + interrupts = ; + clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; + clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; + iommus = <&vop_mmu>; + status = "disabled"; + + vop_out: port { + #address-cells = <1>; + #size-cells = <0>; + + vop_out_rgb: endpoint@0 { + reg = <0>; + remote-endpoint = <&rgb_in_vop>; + }; + }; + }; + + vop_mmu: iommu@22150f00 { + compatible = "rockchip,iommu-v2"; + reg = <0x22150f00 0x100>; + interrupts = ; + interrupt-names = "vop_mmu"; + clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; + clock-names = "aclk", "iface"; + #iommu-cells = <0>; + rockchip,disable-device-link-resume; + status = "disabled"; + }; + decom_mmu: iommu@22180000 { compatible = "rockchip,iommu-v2"; reg = <0x22180000 0x100>;