[PATCH] arm64: tegra: Enable NVDEC and NVENC on Tegra210

Aaron Kling via B4 Relay posted 1 patch 5 months, 3 weeks ago
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
[PATCH] arm64: tegra: Enable NVDEC and NVENC on Tegra210
Posted by Aaron Kling via B4 Relay 5 months, 3 weeks ago
From: Aaron Kling <webgeek1234@gmail.com>

The other engines are already enabled, finish filling out the media
engine nodes and power domains.

Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
---
 arch/arm64/boot/dts/nvidia/tegra210.dtsi | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
index 402b0ede1472af625d9d9e811f5af306d436cc98..80d7571d0350205b080bcf48b8b8e2c1b93227f2 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
@@ -277,13 +277,25 @@ dsib: dsi@54400000 {
 		nvdec@54480000 {
 			compatible = "nvidia,tegra210-nvdec";
 			reg = <0x0 0x54480000 0x0 0x00040000>;
-			status = "disabled";
+			clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
+			clock-names = "nvdec";
+			resets = <&tegra_car 194>;
+			reset-names = "nvdec";
+
+			iommus = <&mc TEGRA_SWGROUP_NVDEC>;
+			power-domains = <&pd_nvdec>;
 		};
 
 		nvenc@544c0000 {
 			compatible = "nvidia,tegra210-nvenc";
 			reg = <0x0 0x544c0000 0x0 0x00040000>;
-			status = "disabled";
+			clocks = <&tegra_car TEGRA210_CLK_NVENC>;
+			clock-names = "nvenc";
+			resets = <&tegra_car 219>;
+			reset-names = "nvenc";
+
+			iommus = <&mc TEGRA_SWGROUP_NVENC>;
+			power-domains = <&pd_nvenc>;
 		};
 
 		tsec@54500000 {
@@ -894,6 +906,18 @@ pd_audio: aud {
 				#power-domain-cells = <0>;
 			};
 
+			pd_nvenc: mpe {
+				clocks = <&tegra_car TEGRA210_CLK_NVENC>;
+				resets = <&tegra_car 219>;
+				#power-domain-cells = <0>;
+			};
+
+			pd_nvdec: nvdec {
+				clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
+				resets = <&tegra_car 194>;
+				#power-domain-cells = <0>;
+			};
+
 			pd_sor: sor {
 				clocks = <&tegra_car TEGRA210_CLK_SOR0>,
 					 <&tegra_car TEGRA210_CLK_SOR1>,

---
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
change-id: 20250814-tegra210-media-enable-576bb6a34b5c

Best regards,
-- 
Aaron Kling <webgeek1234@gmail.com>
Re: [PATCH] arm64: tegra: Enable NVDEC and NVENC on Tegra210
Posted by Diogo Ivo 3 months, 1 week ago
Hello,

Jumping in this reminder to add a gentle ping about the related series [1]
adding support for NVJPG.

Thank you,
Diogo

[1]: https://lore.kernel.org/linux-tegra/20250630-diogo-nvjpg-v3-0-a553c7e91354@tecnico.ulisboa.pt/
Re: [PATCH] arm64: tegra: Enable NVDEC and NVENC on Tegra210
Posted by Jon Hunter 3 months, 1 week ago
On 16/08/2025 07:03, Aaron Kling via B4 Relay wrote:
> From: Aaron Kling <webgeek1234@gmail.com>
> 
> The other engines are already enabled, finish filling out the media
> engine nodes and power domains.
> 
> Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> ---
>   arch/arm64/boot/dts/nvidia/tegra210.dtsi | 28 ++++++++++++++++++++++++++--
>   1 file changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> index 402b0ede1472af625d9d9e811f5af306d436cc98..80d7571d0350205b080bcf48b8b8e2c1b93227f2 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> @@ -277,13 +277,25 @@ dsib: dsi@54400000 {
>   		nvdec@54480000 {
>   			compatible = "nvidia,tegra210-nvdec";
>   			reg = <0x0 0x54480000 0x0 0x00040000>;
> -			status = "disabled";
> +			clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
> +			clock-names = "nvdec";
> +			resets = <&tegra_car 194>;
> +			reset-names = "nvdec";
> +
> +			iommus = <&mc TEGRA_SWGROUP_NVDEC>;
> +			power-domains = <&pd_nvdec>;
>   		};
>   
>   		nvenc@544c0000 {
>   			compatible = "nvidia,tegra210-nvenc";
>   			reg = <0x0 0x544c0000 0x0 0x00040000>;
> -			status = "disabled";
> +			clocks = <&tegra_car TEGRA210_CLK_NVENC>;
> +			clock-names = "nvenc";
> +			resets = <&tegra_car 219>;
> +			reset-names = "nvenc";
> +
> +			iommus = <&mc TEGRA_SWGROUP_NVENC>;
> +			power-domains = <&pd_nvenc>;
>   		};
>   
>   		tsec@54500000 {
> @@ -894,6 +906,18 @@ pd_audio: aud {
>   				#power-domain-cells = <0>;
>   			};
>   
> +			pd_nvenc: mpe {
> +				clocks = <&tegra_car TEGRA210_CLK_NVENC>;
> +				resets = <&tegra_car 219>;
> +				#power-domain-cells = <0>;
> +			};
> +
> +			pd_nvdec: nvdec {
> +				clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
> +				resets = <&tegra_car 194>;
> +				#power-domain-cells = <0>;
> +			};
> +
>   			pd_sor: sor {
>   				clocks = <&tegra_car TEGRA210_CLK_SOR0>,
>   					 <&tegra_car TEGRA210_CLK_SOR1>,
> 

Looks good to me!

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>

Jon

-- 
nvpublic
Re: [PATCH] arm64: tegra: Enable NVDEC and NVENC on Tegra210
Posted by Aaron Kling 3 months, 2 weeks ago
On Sat, Aug 16, 2025 at 1:03 AM Aaron Kling via B4 Relay
<devnull+webgeek1234.gmail.com@kernel.org> wrote:
>
> From: Aaron Kling <webgeek1234@gmail.com>
>
> The other engines are already enabled, finish filling out the media
> engine nodes and power domains.
>
> Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
> ---
>  arch/arm64/boot/dts/nvidia/tegra210.dtsi | 28 ++++++++++++++++++++++++++--
>  1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> index 402b0ede1472af625d9d9e811f5af306d436cc98..80d7571d0350205b080bcf48b8b8e2c1b93227f2 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
> @@ -277,13 +277,25 @@ dsib: dsi@54400000 {
>                 nvdec@54480000 {
>                         compatible = "nvidia,tegra210-nvdec";
>                         reg = <0x0 0x54480000 0x0 0x00040000>;
> -                       status = "disabled";
> +                       clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
> +                       clock-names = "nvdec";
> +                       resets = <&tegra_car 194>;
> +                       reset-names = "nvdec";
> +
> +                       iommus = <&mc TEGRA_SWGROUP_NVDEC>;
> +                       power-domains = <&pd_nvdec>;
>                 };
>
>                 nvenc@544c0000 {
>                         compatible = "nvidia,tegra210-nvenc";
>                         reg = <0x0 0x544c0000 0x0 0x00040000>;
> -                       status = "disabled";
> +                       clocks = <&tegra_car TEGRA210_CLK_NVENC>;
> +                       clock-names = "nvenc";
> +                       resets = <&tegra_car 219>;
> +                       reset-names = "nvenc";
> +
> +                       iommus = <&mc TEGRA_SWGROUP_NVENC>;
> +                       power-domains = <&pd_nvenc>;
>                 };
>
>                 tsec@54500000 {
> @@ -894,6 +906,18 @@ pd_audio: aud {
>                                 #power-domain-cells = <0>;
>                         };
>
> +                       pd_nvenc: mpe {
> +                               clocks = <&tegra_car TEGRA210_CLK_NVENC>;
> +                               resets = <&tegra_car 219>;
> +                               #power-domain-cells = <0>;
> +                       };
> +
> +                       pd_nvdec: nvdec {
> +                               clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
> +                               resets = <&tegra_car 194>;
> +                               #power-domain-cells = <0>;
> +                       };
> +
>                         pd_sor: sor {
>                                 clocks = <&tegra_car TEGRA210_CLK_SOR0>,
>                                          <&tegra_car TEGRA210_CLK_SOR1>,
>
> ---
> base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
> change-id: 20250814-tegra210-media-enable-576bb6a34b5c
>
> Best regards,
> --
> Aaron Kling <webgeek1234@gmail.com>

Reminder to review or pick up this patch.

Aaron