From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F9DF4963A5; Wed, 1 Jul 2026 16:09:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782922148; cv=none; b=rxItq1YXH/8Xf4STRbfCJySyRXLeB7amd+mL9iDDrhs34fGEB8rpFIH3RmITfbO93iaIkTqqV99BUjwWmz9Kz8ZQkluOH2NHwySB3+tGxD4O33Pf6fpw1bVz45OwPW0vCSUEsBqIDAs0PqSM0SNSw2PTsRgpBzDR43Ksv3yKg2Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782922148; c=relaxed/simple; bh=KpaJgyGmYsZzLBO5Gb1t8bI+L9nSS1cqBOVPJw4ngXs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rytlmSgSQz6Rt/BSKML9Zbcm/w9d7aYyh6PrQoJZ8FXS1AJiC1UcDlGY9g50Sks4LdD+e8HnFPwCV52YUlOXE/iy4TY+k7XwBK7HcIwjGhsnCSQ3T8wYLBBBTDBu4XT1iGX+lZZX9p/eN4dmMpp9k4hevMaMp/+XtTfJKUioe8o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Rujoh72K; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Rujoh72K" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8CF0A1F000E9; Wed, 1 Jul 2026 16:09:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782922147; bh=4ebEB2H/J6xhmM8tGmq1WgsfMgc2XbNLRd0nmJfEaDE=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=Rujoh72K+7mKLkPmqRGDKQkhroD5icrZjC2k0laKUACn0kCABee63Qx8ywXLJJIQH FJb0pEm0zcakzYB9kLuqGE+4ZzDn8Tpp+ATkiPleRFEy1e+GnDXwY4n/Us1Vv34962 5ypVutFB/TRPN7vKL1Xtt0pZWfVX2QEYOiGoTV5dtJeOZI+lRdptUHJnHV28hjr7hw BReJd/LP3wt2HhmhoHcVGlztSKBaxA79LDA7Wrp8acnjL0CBpO88EeQs04bOBbkpT7 lIBeq4K/gN+2QvQHfKz8yVIEKdQuDHk7YtCl0R7z/EvOKyInp9QuEdkNEhXWEV9aqJ moBMfguO53JjQ== From: Thierry Reding Date: Wed, 01 Jul 2026 18:08:20 +0200 Subject: [PATCH v3 09/11] arm64: tegra: Add VPR placeholder node on Tegra234 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260701-tegra-vpr-v3-9-d80f7b871bb4@nvidia.com> References: <20260701-tegra-vpr-v3-0-d80f7b871bb4@nvidia.com> In-Reply-To: <20260701-tegra-vpr-v3-0-d80f7b871bb4@nvidia.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Sowjanya Komatineni , Luca Ceresoli , Mikko Perttunen , Yury Norov , Rasmus Villemoes , Russell King , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Marek Szyprowski , Robin Murphy , Sumit Semwal , Benjamin Gaignard , Brian Starkey , John Stultz , "T.J. Mercier" , =?utf-8?q?Christian_K=C3=B6nig?= , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Catalin Marinas , Will Deacon Cc: Thierry Reding , devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-mm@kvack.org, iommu@lists.linux.dev, linaro-mm-sig@lists.linaro.org, linux-trace-kernel@vger.kernel.org, Thierry Reding X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2272; i=treding@nvidia.com; h=from:subject:message-id; bh=cpp7dV4YiiVdoQORWHY6AiIPwXT+RsNUal3/UnQC4ww=; b=owEBbQKS/ZANAwAKAd0jrNd/PrOhAcsmYgBqRTuGwnRPRpVQVZ6UBvUUz+OLr+gka5kyQDAfR yg2FhOV/9GJAjMEAAEKAB0WIQSI6sMIAUnM98CNyJ/dI6zXfz6zoQUCakU7hgAKCRDdI6zXfz6z oS8cD/wKULL/QmET3qER/1nkL84RxQ97TT70Q/7Es3JacxJ2AE+h+MiTYPq79T3eRoAtxp6I2Ut g1+1ebxljtq7bwKstf7510aaJp1dUtjfXMpXuPWJnJLiH4rJZphJTXDyfEGiYka9hzjzSe4LmJF CUjUx5PhEWCwyJ9hCeCmV5kfzc31QUrgg5uWDf2+v7SvcAMIFdVOm1qx8PIpBReJGIlO6UGWzMH NUi9fQrZ20gVRL6eTCVurLZMn8Hf7Ktjnjkgp6Zx3xjzn5CgUCfB/TkKnY5aSzenXCwaSSY6aAy pHPH4ZMutpi/rRlvZ/IgD45h9IgVweFuZ8NIP0/Bc5aUAn3boChMy+bVjkYM34LB7r2Xe6dQoR9 KbnCHJwSBl8avlapXDnu0NIVzDFlHwoCQHOmoFaHhdgkjCCG5gxtjoND9875T/AHg2AwtK9Dm7w AyOvCqUrKsBXwXK/nGqc4aooupRFGMd19I/xb+Hj+HBEY1vdbHFv9pWjpJqQA/M3ctUwHJ1gvdK CSVhfWxXoODKmWUv1ATW/Wd5aKhpf8emoK4EZqUrJwbSc3y0jzoeo4I5K7ui3gbrTqmkRj+UHKz YuEC4Ts9vSuskwF3ixXjRl2mn2lcGh/4IiIAEL9DTE4w7QtbF/X/cgyZyytPI7/rMWfeXy4bR2u 6tRViqbLmT1FpLg== X-Developer-Key: i=treding@nvidia.com; a=openpgp; fpr=88EAC3080149CCF7C08DC89FDD23ACD77F3EB3A1 From: Thierry Reding This node contains two sets of properties, one for the case where the VPR is resizable (in which case the VPR region will be dynamically allocated at boot time) and another case where the VPR is fixed in size and initialized by early firmware. The firmware running on the device is responsible for updating the node with the real physical address for the fixed VPR case and remove the properties needed only for resizable VPR. Similarly, if the VPR is resizable, the firmware should remove the "reg" property since it is no longer needed. Signed-off-by: Thierry Reding --- Changes in v3: - comment out fixed VPR properties, assume resizable by default - rename node to "protected" --- arch/arm64/boot/dts/nvidia/tegra234.dtsi | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi index 8e0c51e496e2..52ff11873580 100644 --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi @@ -29,6 +29,45 @@ aliases { i2c8 = &dp_aux_ch3_i2c; }; + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + vpr: protected { + compatible = "nvidia,tegra-video-protection-region"; + status = "disabled"; + + /* + * Two variants exist for this. For fixed VPR, the + * firmware is supposed to update the "reg" property + * with the fixed memory region configured as VPR. + * + * For resizable VPR we don't care about the exact + * address and instead want a reserved region to be + * allocated with a certain size and alignment at + * boot time. + * + * The below assumes resizable VPR by default. If the + * firmwares sets up fixed VPR, it is responsible for + * adding the missing "reg" property, removing any of + * the unused properties, as well as adding a unit- + * address matching the "reg" property. + */ + + /* fixed VPR */ + /* + reg = <0x0 0x0 0x0 0x0>; + no-map; + */ + + /* resizable VPR */ + size = <0x0 0x70000000>; + alignment = <0x0 0x100000>; + reusable; + }; + }; + bus@0 { compatible = "simple-bus"; -- 2.54.0