Files
linux-nv-oot/Documentation/devicetree/bindings/gpu/drm/tegra/nvidia,tegra264-host1x-virtual-engine.yaml
Mark Mendez 14c6de030c PCT: Add PIC and Title
Jira ESDP-28694

Change-Id: Ic6fa743f34b6331d85334465961ae64a91aee588
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3307869
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Mark Mendez <mmendez@nvidia.com>
2025-07-24 10:19:15 +00:00

136 lines
4.1 KiB
YAML

# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/vic@8188050000/nvidia,tegra264-host1x-virtual-engine.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Host1x Virtualization Driver for Tegra Hypervisor
maintainers:
- Santosh B S
description: |
the compatability = nvidia,tegra264-host1x-virtual-engine is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/virt.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/drm.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/vic@8188050000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-host1x-virtual-engine
required:
- compatible
properties:
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3b
maximum: 0x3b
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6c
maximum: 0x6d
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dma-mem
- write
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3000
maximum: 0x3000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,class:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5d
maximum: 0x5d
nvidia,module-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- clocks
- iommus
examples:
- |
vic@8188050000 {
compatible = "nvidia,tegra264-vic";
reg = <0x81 0x88050000 0x00 0x40000>;
interrupts = <GIC_SPI 0x1d4 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&bpmp TEGRA264_POWER_DOMAIN_VIC>;
resets = <&bpmp TEGRA264_RESET_VIC>;
reset-names = "vic";
clocks = <&bpmp TEGRA264_CLK_VIC>;
clock-names = "vic";
interconnects = <&mc TEGRA264_MEMORY_CLIENT_VICR &emc>,
<&mc TEGRA264_MEMORY_CLIENT_VICW &emc>;
interconnect-names = "dma-mem, write";
iommus = <&smmu1_mmu TEGRA_SID_VIC>;
dma-coherent;
numa-node-id = <0x0>;
status = "disabled";
};