From 3c9f1cd3430b1feb3cb2dcc404b5e9d57c184327 Mon Sep 17 00:00:00 2001 From: Santosh Reddy Galma Date: Thu, 17 Oct 2024 06:51:25 +0000 Subject: [PATCH] t23x: nv-soc: Add display fb carveout DT node - Add display fb carveout region node to the list of reserved memory regions - UEFI updates the "reg" property with base address and size of display fb carveout memory region and "status" of display fb carveout region node to "okay" if UEFI initializes display. - keeping the fb carveout region node disabled by default such that it is enabled by UEFI dynamically only when UEFI initializes display and handsoff display fb carveout region to kernel. - add display fb reserved region node handle to display DT node for unity mapping of display reserved region when SMMU driver comes up in kernel only if display fb carveout region DT node is enabled by UEFI. Bug 3601162 Bug 4650169 Change-Id: Ia7060558e0723f4c04c2b026bc93a7e58692898a Signed-off-by: Santosh Reddy Galma Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/soc/t23x/+/2857443 (cherry picked from 5b2263f878459f4795e079d475cb0c3f416aaf7d) Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2942106 (cherry picked from commit 09beba7104ca292e509014d5789d93c88fd2f65b) Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2978255 Reviewed-by: Jon Hunter GVS: buildbot_gerritrpt Reviewed-by: Brad Griffis --- nv-soc/tegra234-soc-display-overlay.dtsi | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/nv-soc/tegra234-soc-display-overlay.dtsi b/nv-soc/tegra234-soc-display-overlay.dtsi index ca1631d..9d581b8 100644 --- a/nv-soc/tegra234-soc-display-overlay.dtsi +++ b/nv-soc/tegra234-soc-display-overlay.dtsi @@ -1,9 +1,19 @@ // SPDX-License-Identifier: GPL-2.0-only -// SPDX-FileCopyrightText: Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. #include / { + reserved-memory { + fb0_reserved: framebuffer@0,0 { + compatible = "framebuffer"; + reg = <0x00 0x00 0x00 0x00>; + iommu-addresses = <&nvdisplay 0x0 0x0 0x0 0x0>; + no-map; + status = "disabled"; + }; + }; + dce@d800000 { compatible = "nvidia,tegra234-dce"; reg = <0x0 0x0d800000 0x0 0x00800000>; @@ -16,7 +26,7 @@ status = "disabled"; }; - display@13800000 { + nvdisplay: display@13800000 { compatible = "nvidia,tegra234-display"; power-domains = <&bpmp TEGRA234_POWER_DOMAIN_DISP>; nvidia,num-dpaux-instance = <1>; @@ -164,6 +174,7 @@ "mipi_cal_reset"; hdcp_enabled; status = "disabled"; + memory-region = <&fb0_reserved>; nvidia,disp-sw-soc-chip-id = <0x2350>; interconnects = <&mc TEGRA234_MEMORY_CLIENT_NVDISPLAYR &emc>, <&mc TEGRA234_MEMORY_CLIENT_NVDISPLAYR1 &emc>;