Host1x Device Node

Device Tree node that contains configuration parameters needed for initializing and providing the functionalities of the NvHost element in the Guest VM.
host1x: host1x@13e00000 {
compatible = "nvidia,tegra234-host1x", "simple-bus"; reg = <0x0 0x13e40000 0x0 0x00010000>,
<0x0 0x13e10000 0x0 0x00010000>,
<0x0 0x13ef0000 0x0 0x00040000>,
<0x0 0x60000000 0x0 0x04000000>,
<0x0 0x13e00000 0x0 0x00010000>;
reg-names = "guest", "hypervisor", "actmon", "sem-syncpt-shim", "common";
interrupts = <0 448 0x04>,
<0 449 0x04>,
<0 450 0x04>,
<0 451 0x04>,
<0 452 0x04>,
<0 453 0x04>,
<0 454 0x04>,
<0 455 0x04>,
<0 263 0x04>;
nvidia,vmid = <1>;

nvidia,host1x-ctx-streamid = <&smmu_niso0 TEGRA_SID_NISO0_HOST1X_CTX0
&smmu_niso1 TEGRA_SID_NISO1_HOST1X_CTX0>;

nvidia,ch-base = <0>;
nvidia,nb-channels = <47>;

nvidia,nb-hw-pts = <1024>;
nvidia,pts-base = <0>;
nvidia,nb-pts = <576>;

nvidia,gpu-syncpt-pool = <0 128>;
nvidia,vi-syncpt-pool = <288 144>;
vmserver-owns-engines = <1>; ivc-queue0 = <&tegra_hv 42>;

iommus = <&smmu_niso1 TEGRA_SID_NISO1_HC>; status = "okay";

host1x_ctx0: niso0_ctx0 {
compatible = "nvidia,tegra186-iommu-context";
iommus = <&smmu_niso0 TEGRA_SID_NISO0_HOST1X_CTX0>; status = "okay";
};

host1x_ctx0n1: niso1_ctx0 {
compatible = "nvidia,tegra186-iommu-context";
iommus = <&smmu_niso1 TEGRA_SID_NISO1_HOST1X_CTX0>; status = "okay";
};

vic@15340000 {
compatible = "nvidia,tegra234-vic";
iommus = <&smmu_niso1 TEGRA_SID_NISO1_VIC>; status = "okay";
};

nvjpg@15380000 {
compatible = "nvidia,tegra234-nvjpg";
iommus = <&smmu_niso1 TEGRA_SID_NISO1_NVJPG>; status = "okay";
};

nvjpg1@15540000 {
compatible = "nvidia,tegra234-nvjpg";
iommus = <&smmu_niso0 TEGRA_SID_NISO0_NVJPG1>; status = "okay";
};

tsec@15500000 {
compatible = "nvidia,tegra234-tsec";
iommus = <&smmu_niso1 TEGRA_SID_NISO1_TSEC>; status = "okay";
};

nvdec@15480000 {
compatible = "nvidia,tegra234-nvdec";
iommus = <&smmu_niso1 TEGRA_SID_NISO1_NVDEC>; status = "okay";
};
nvenc@154c0000 {
compatible = "nvidia,tegra234-nvenc";
iommus = <&smmu_niso0 TEGRA_SID_NISO0_NVENC>; status = "okay";
};

ofa@15a50000 {
compatible = "nvidia,tegra234-ofa";
iommus = <&smmu_niso0 TEGRA_SID_NISO0_OFA>; status = "okay";
};
};

Properties

This section lists the properties that are used across different platform configurations. Some properties that are applicable only to some specific platform configuration are specified.

Compatibility String "compatible"

Description Strings pecifying the compatibility of the Host1x Device Node
Customizable No
Type String
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended “nvidia,tegra234-host1x-hv”

Virtual Machine Host1x ID "nvidia,vmid"

Description ID corresponding to the Host1x guest page allocated to the Guest VM.
Customizable No
Type Unsigned integer
Unit NA
Optional No
Resolution 1
MaxValue 8
MinValue 1
Recommended Based on the platform configuration

Register Names "reg-names"

Description

List of Host1x MMIO register page names which are allowed to be accessed by NvHost from the Guest VM.
Customizable No
Type List<String>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

<AV+Q configuration>:

"guest", "sem-syncpt-shim";

<AV+L configuration>:

"guest", "hypervisor", "actmon", "sem-syncpt-shim", "common";

Register Apertures "reg"

Description

List of Host1x MMIO register page apertures which are allowed to be accessedby NvHost from the Guest VM. Type of page for each aperture is identified by the “reg-names” entry of the same index.
Customizable No
Type List<Aperture start, Aperture Size>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Valuesfetched from the Host1x HW IAS

Interrupts "interrupts"

Description Listof Host1x syncpoint interrupt lines assigned to the Guest VM.
Customizable No
Type List<IRQ number>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

Valuesfetched from the Host1x HW IAS based on platform configuration.

Host1x Shared StreamID "nvidia,host1x-ctx-streamid"

Description

FallbackstreamId to access the data buffers in case context pools are not defined by the platform configuration.
Customizable No
Type <SMMUinstance, StreamId>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Basedon the platform configuration

Host1x Channel Pool Base "nvidia,ch-base"

Description

Baseof the Host1x channel pool which can be accessed from the Guest VM via the NvHost.
Customizable Yes
Type Unsignedinteger
Unit NA
Optional No
Resolution NA
MaxValue 62
MinValue 0
Recommended Basedon the platform configuration

Host1x Channel Pool Count "nvidia,nb-channels"

Description

Sizeof the Host1x channel pool which can be accessed from the Guest VM via the NvHost.
Customizable Yes
Type Unsignedinteger
Unit NA
Optional No
Resolution NA
MaxValue 63
MinValue 0
Recommended Basedon the platform configuration

Host1x Syncpoint Total Count "nvidia,nb-hw-pts"

Description Totalnumber of Host1x HW syncpoints available in the SoC.
Customizable No
Type Unsignedinteger
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended 1024

Host1x Syncpoint Pool Base "nvidia,pts-base"

Description

Baseof the Host1x syncpoints pool which can be incremented from the Guest VM.
Customizable Yes
Type Unsignedinteger
Unit NA
Optional No
Resolution NA
MaxValue 1023
MinValue 0
Recommended Basedon platform configuration

Host1x Syncpoint Pool Count "nvidia,nb-pts"

Description

Sizeof the Host1x syncpoints pool which can be incremented from the Guest VM.
Customizable Yes
Type Unsignedinteger
Unit NA
Optional No
Resolution NA
MaxValue 1024
MinValue 0
Recommended Basedon platform configuration

Host1x Syncpoint Pool for GPU "nviida,gpu-syncpt-pool"

Description

Host1x syncpoint pool which are write accessible from GPU and hence allocated exclusively for GPU use cases. Pool is outside of the generic pool explained earlier.

Note:Only applicable to AV+Q Safety configuration

Customizable Yes
Type <Poolbase, Pool size>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Based on platform configuration

Host1x Syncpoint Pool for VI "nviida,vi-syncpt-pool"

Description

Host1x syncpoints pool which are exclusively allocated for the VI use cases. Pool is within the generic pool explained earlier.

Note:Only applicable to AV+Q Safety configuration

Customizable Yes
Type <Poolbase, Pool size>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Based on platform configuration

Engine Ownership Flag "vmserver-owns-engines"

Description

Flag specifying whether the engine ownership belongs to NvHost Server.

Note:Only applicable to AV+L configuration

Customizable No
Type Unsigned Integer
Unit NA
Optional No
Resolution NA
MaxValue 1
MinValue 0
Recommended 1

IVC Queue Identifier "ivc-queue0"

Description

Unique identifier of the IVC Queue created to communicate with the NvHost Server.
Customizable No
Type UnsignedInteger
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Based on the platform configuration

Host1x StreamId Info "iommus"

Description

Set of stream Id info which are assigned for Host1x to perform DMA. StreamId used from the Guest VM is derived based on the VMID.
Customizable No
Type List<SMMU instance, Stream Id>
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Based on platform configuration

Host1x Device Status Flag "status"

Description Flag specifying whether the Host1x device is enabled.
Customizable Yes
Type String
Unit NA
Optional No
Resolution NA
MaxValue “disabled”
MinValue “okay”
Recommended “okay”

Host1x Context Node Entry "host1x_ctx"

Description

Device Tree Node specifying the properties of the Host1x contexts which are allocated to the VM.
Customizable Yes
Type Host1xContext Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA
Recommended Based on platform configuration

VIC Engine Node "vic"

Description

Device Tree Node specifying the properties of the VIC engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-vic";

iommus= <&smmu_niso1 TEGRA_SID_NISO1_VIC>; status = <Based on platform configuration>;

NVJPG Engine Node "nvjpg"

Description

Device Tree Node specifying the properties of the first instance of NVJPG engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-nvjpg";

iommus= <&smmu_niso1 TEGRA_SID_NISO1_NVJPG>; status = <Based on platform configuration>;

NVJPG1 Engine Node "nvjpg1"

Description

Device Tree Node specifying the properties of the second instance of NVJPG engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-nvjpg";

iommus= <&smmu_niso0 TEGRA_SID_NISO0_NVJPG1>; status = <Based on platform configuration>;

NVDEC Engine Node "nvdec"

Description

Device Tree Node specifying the properties of the NVDEC engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-nvdec";

iommus= <&smmu_niso1 TEGRA_SID_NISO1_NVDEC>; status = <Based on platform configuration>;

NVENC Engine Node "nvenc"

Description

Device Tree Node specifying the properties of the NVENC engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-nvenc";

iommus= <&smmu_niso0 TEGRA_SID_NISO0_NVENC>; status = <Based on platform configuration>;

OFA Engine Node "ofa"

Description

DeviceTree Node specifying the properties of the OFA engine needed for NvHost Driver.
Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-ofa";

iommus= <&smmu_niso0 TEGRA_SID_NISO0_OFA>; status = <Based on platform configuration>;

TSEC Engine Node "tsec"

Description

Device Tree Node specifying the properties of the TSEC engine needed for NvHost Driver.

Note:Only applicable for AV+L configuration

Customizable Yes
Type Host1xEngine Node
Unit NA
Optional No
Resolution NA
MaxValue NA
MinValue NA

Recommended

compatible = "nvidia,tegra234-tsec";

iommus= <&smmu_niso1 TEGRA_SID_NISO1_TSEC>; status = <Based on platform configuration>;