Host1x Device Node#
The Device Tree Node contains configuration parameters required to initialize and provide the functionality of the NvHost element in the Guest OS.
host1x@8181200000 {
compatible = "nvidia,tegra264-host1x";
reg = <0x81 0x81240000 0x0 0x10000>, /* Guest 0 */
<0x81 0x81320000 0x0 0x20000>; /* Actmon */
reg-names = "vm", "actmon";
interrupts = <GIC_SPI 0x147 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x148 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x149 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14a IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14b IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14c IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14d IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14e IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x145 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "syncpt0", "syncpt1", "syncpt2", "syncpt3", "syncpt4",
"syncpt5", "syncpt6", "syncpt7", "host1x";
nvidia,channels = <0 29>;
nvidia,syncpoints = <0 576>;
nvidia,syncpoint-pools = <0x00 0x101>;
nvidia,syncpoint-pool-names = "gpu";
nvidia,server-ivc = <&tegra_hv 42>;
iommus = <&smmu1_mmu (TEGRA_SID_HOST1X + 1)>;
iommu-map = <0x0 &smmu1_mmu (TEGRA_SID_VIC + 0x1) 0x1>,
<0x1 &smmu1_mmu (TEGRA_SID_VIC + 0x2) 0x1>,
<0x2 &smmu1_mmu (TEGRA_SID_VIC + 0x3) 0x1>,
<0x3 &smmu1_mmu (TEGRA_SID_VIC + 0x4) 0x1>,
<0x4 &smmu1_mmu (TEGRA_SID_VIC + 0x5) 0x1>,
<0x5 &smmu1_mmu (TEGRA_SID_VIC + 0x6) 0x1>,
<0x6 &smmu1_mmu (TEGRA_SID_VIC + 0x7) 0x1>,
<0x7 &smmu1_mmu (TEGRA_SID_VIC + 0x8) 0x1>;
status = "okay";
vic@8188050000 {
compatible = "nvidia,tegra264-host1x-virtual-engine";
status = "okay";
iommus = <&smmu1_mmu TEGRA_SID_VIC>;
nvidia,class = <0x5D>;
nvidia,module-id = <2>;
};
}
Properties#
Following are properties used across different platform configurations.
Compatibility String “compatible”
Description |
Strings specifying compatibility of the Host1x Device Node |
---|---|
Customizable |
No |
Type |
String |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
“nvidia,tegra264-host1x” |
Register Names “reg-names”
Description |
List of Host1x MMIO register page names, which can be accessed by NvHost from the Guest OS |
---|---|
Customizable |
No |
Type |
List |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
< AV+L configuration>: “vm”, “actmon”, |
Register Apertures “reg”
Description |
List of Host1x MMIO register page apertures allowed to be accessed by NvHost from the Guest OS. 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 |
Values fetched from the Host1x hardware IAS |
Interrupts “interrupts”
Description |
List of Host1x syncpoint interrupt lines assigned to the Guest OS |
---|---|
Customizable |
No |
Type |
List |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Values fetched from the Host1x hardware IAS based on platform configuration. |
Interrupts “interrupt-names”
Description |
List of Host1x syncpoint interrupt lines Names assigned to the Guest OS |
---|---|
Customizable |
No |
Type |
List |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Values fetched from the Host1x hardware IAS based on platform configuration. |
Host1x Channel Pool “nvidia,channels”
Description |
Base and Size of the Host1x channel pool which can be accessed from the Guest OS via the NvHost |
---|---|
Customizable |
Yes |
Type |
<Poolbase, Pool size> |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue (base,size) |
62,63 |
MinValue (base, size) |
0,0 |
Recommended |
Based on the platform configuration |
Host1x Syncpoints “nvidia,syncpoints”
Description |
Base and size of the Host1x total syncpoints, which can be incremented from the Guest OS |
---|---|
Customizable |
Yes |
Type |
<Poolbase, Pool size> |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue (base, size) |
1023,1024 |
MinValue (base,size) |
0,0 |
Recommended |
Based on platform configuration |
Host1x Syncpoint Pools “****nvidia,syncpoint-pools**”**
Description |
Base and size of the Host1x syncpoints pools, which can be incremented from the Guest OS |
---|---|
Customizable |
Yes |
Type |
<Poolbase, Pool size> |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Based on platform configuration |
Host1x Syncpoint Pool Names “nvidia,syncpoint-pool-names”
Description |
Name of the isolated pools available. Values we can get from the above field (syncpoint-pools) identified by the “syncpoint-pool-names” entry of the same index. |
---|---|
Customizable |
Yes |
Type |
List |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Based On platform configuration Ex: “gpu” |
IVC Queue Identifier “nvidia,server-ivc”
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 |
Per VM stream Id info, which is assigned for Host1x to perform DMA. |
---|---|
Customizable |
No |
Type |
<SMMU instance, Stream Id> |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Based on platform configuration Example: <&smmu1_mmu (TEGRA_SID_HOST1X + 1) |
Host1x Context Node Entry “iommu-map”
Description |
List of the Host1x contexts, which are allocated to the VM. These are used for job submission. |
---|---|
Customizable |
Yes |
Type |
List<SMMUinstance, Stream Id> |
Unit |
NA |
Optional |
No |
Resolution |
NA |
MaxValue |
NA |
MinValue |
NA |
Recommended |
Based on platform configuration. SMMU1 instance is used In Thor NSR for VIC engine Example: <0x0 &smmu1_mmu (TEGRA_SID_VIC + 0x1) 0x1> |
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” |
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,tegra264-host1x-virtual-engine";
iommus= <&smmu1_mmu TEGRA_SID_VIC>;
status = <Based on platform configuration>;
|