Add a device tree node for NVDEC on Tegra186, and
device tree nodes for NVDEC and NVDEC1 on Tegra194.

Signed-off-by: Mikko Perttunen <mperttu...@nvidia.com>
---
v5:
* Change from nvidia,instance to nvidia,host1x-class
v4:
* Add dma-coherent markers
v3:
* Change read2 to read-1
v2:
* Add NVDECSRD1 memory client
* Add also to T194 (both NVDEC0/1)
---
 arch/arm64/boot/dts/nvidia/tegra186.dtsi | 16 ++++++++++
 arch/arm64/boot/dts/nvidia/tegra194.dtsi | 38 ++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi 
b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
index d02f6bf3e2ca..4f2f21242b2c 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
@@ -1342,6 +1342,22 @@ dsib: dsi@15400000 {
                        power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
                };
 
+               nvdec@15480000 {
+                       compatible = "nvidia,tegra186-nvdec";
+                       reg = <0x15480000 0x40000>;
+                       clocks = <&bpmp TEGRA186_CLK_NVDEC>;
+                       clock-names = "nvdec";
+                       resets = <&bpmp TEGRA186_RESET_NVDEC>;
+                       reset-names = "nvdec";
+
+                       power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
+                       interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD 
&emc>,
+                                       <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 
&emc>,
+                                       <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR 
&emc>;
+                       interconnect-names = "dma-mem", "read-1", "write";
+                       iommus = <&smmu TEGRA186_SID_NVDEC>;
+               };
+
                sor0: sor@15540000 {
                        compatible = "nvidia,tegra186-sor";
                        reg = <0x15540000 0x10000>;
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi 
b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
index 5ba7a4519b95..04e883aa7aa2 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -1412,6 +1412,25 @@ host1x@13e00000 {
                        interconnect-names = "dma-mem";
                        iommus = <&smmu TEGRA194_SID_HOST1X>;
 
+                       nvdec@15140000 {
+                               compatible = "nvidia,tegra194-nvdec";
+                               reg = <0x15140000 0x00040000>;
+                               clocks = <&bpmp TEGRA194_CLK_NVDEC1>;
+                               clock-names = "nvdec";
+                               resets = <&bpmp TEGRA194_RESET_NVDEC1>;
+                               reset-names = "nvdec";
+
+                               power-domains = <&bpmp 
TEGRA194_POWER_DOMAIN_NVDECB>;
+                               interconnects = <&mc 
TEGRA194_MEMORY_CLIENT_NVDEC1SRD &emc>,
+                                               <&mc 
TEGRA194_MEMORY_CLIENT_NVDEC1SRD1 &emc>,
+                                               <&mc 
TEGRA194_MEMORY_CLIENT_NVDEC1SWR &emc>;
+                               interconnect-names = "dma-mem", "read-1", 
"write";
+                               iommus = <&smmu TEGRA194_SID_NVDEC1>;
+                               dma-coherent;
+
+                               nvidia,host1x-class = <0xf5>;
+                       };
+
                        display-hub@15200000 {
                                compatible = "nvidia,tegra194-display";
                                reg = <0x15200000 0x00040000>;
@@ -1525,6 +1544,25 @@ vic@15340000 {
                                iommus = <&smmu TEGRA194_SID_VIC>;
                        };
 
+                       nvdec@15480000 {
+                               compatible = "nvidia,tegra194-nvdec";
+                               reg = <0x15480000 0x00040000>;
+                               clocks = <&bpmp TEGRA194_CLK_NVDEC>;
+                               clock-names = "nvdec";
+                               resets = <&bpmp TEGRA194_RESET_NVDEC>;
+                               reset-names = "nvdec";
+
+                               power-domains = <&bpmp 
TEGRA194_POWER_DOMAIN_NVDECA>;
+                               interconnects = <&mc 
TEGRA194_MEMORY_CLIENT_NVDECSRD &emc>,
+                                               <&mc 
TEGRA194_MEMORY_CLIENT_NVDECSRD1 &emc>,
+                                               <&mc 
TEGRA194_MEMORY_CLIENT_NVDECSWR &emc>;
+                               interconnect-names = "dma-mem", "read-1", 
"write";
+                               iommus = <&smmu TEGRA194_SID_NVDEC>;
+                               dma-coherent;
+
+                               nvidia,host1x-class = <0xf0>;
+                       };
+
                        dpaux0: dpaux@155c0000 {
                                compatible = "nvidia,tegra194-dpaux";
                                reg = <0x155c0000 0x10000>;
-- 
2.32.0

Reply via email to