PCT: Create devicetree validation schema

This is the output of the automated scripts created
to parse the dtb and dts files congruently

Jira ESDP-27666

Change-Id: Ic82a3f813bcbe6e78ba5f9b68875293c5d4bc6d7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3274878
Tested-by: Mark Mendez <mmendez@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
This commit is contained in:
Mark Mendez
2024-12-29 12:08:14 -08:00
committed by Jon Hunter
parent c4d1462fd6
commit a2ee9f655f
172 changed files with 22145 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
# 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/dce@8808000000/nvidia,tegra264-dce.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-dce is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/dce/dce-module.c
The following nodes use this compatibility
- /dce@8808000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-dce
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88
maximum: 0x88
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8000000
maximum: 0x8000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x800000
maximum: 0x800000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xee
maximum: 0xee
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dce-smb-0
- dce-smb-1
- dce-smb-2
- dce-smb-3
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: 0x500
maximum: 0x500
required:
- compatible
- reg
- interrupts
- interrupt-names
- iommus
examples:
- |
dce@8808000000 {
compatible = "nvidia,tegra264-dce";
reg = <0x00000088 0x08000000 0x00000000 0x00800000>;
interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "dce-smb-0, dce-smb-1, dce-smb-2, dce-smb-3";
iommus = <&smmu3_mmu TEGRA_SID_DCE>;
status = "disabled";
};

View File

@@ -0,0 +1,57 @@
# 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/mc-utils/nvidia,tegra264-mc-utils.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-mc-utils is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/mc-utils/mc-utils.c
The following nodes use this compatibility
- /bus@0/mc-utils
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-mc-utils
required:
- compatible
properties:
dram_channels:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
required:
- compatible
examples:
- |
mc-utils {
compatible = "nvidia,tegra264-mc-utils";
dram_channels = <16>;
status = "disabled";
};

View File

@@ -0,0 +1,203 @@
# 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/memory-controller@8108020000/nvidia,tegra264-mc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-mc is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/mc-utils/mc-utils.c
The following nodes use this compatibility
- /bus@0/memory-controller@8108020000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-mc
- nvidia,tegra234-mc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8020000
maximum: 0x8220000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x20000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- broadcast
- ch0
- ch1
- ch2
- ch3
- ch4
- ch5
- ch6
- ch7
- ch8
- ch9
- ch10
- ch11
- ch12
- ch13
- ch14
- ch15
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8b
maximum: 0x387
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
'#interconnect-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
dma-ranges:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 6
maxItems: 6
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x100
maximum: 0x100
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
- reg
- interrupts
examples:
- |
memory-controller@8108020000 {
compatible = "nvidia,tegra264-mc",
"nvidia,tegra234-mc";
status = "disabled";
reg = <0x81 0x08020000 0x0 0x20000>,
<0x81 0x08040000 0x0 0x20000>,
<0x81 0x08060000 0x0 0x20000>,
<0x81 0x08080000 0x0 0x20000>,
<0x81 0x080a0000 0x0 0x20000>,
<0x81 0x080c0000 0x0 0x20000>,
<0x81 0x080e0000 0x0 0x20000>,
<0x81 0x08100000 0x0 0x20000>,
<0x81 0x08120000 0x0 0x20000>,
<0x81 0x08140000 0x0 0x20000>,
<0x81 0x08160000 0x0 0x20000>,
<0x81 0x08180000 0x0 0x20000>,
<0x81 0x081a0000 0x0 0x20000>,
<0x81 0x081c0000 0x0 0x20000>,
<0x81 0x081e0000 0x0 0x20000>,
<0x81 0x08200000 0x0 0x20000>,
<0x81 0x08220000 0x0 0x20000>;
reg-names = "broadcast, ch0, ch1, ch2, ch3",
"ch4, ch5, ch6, ch7, ch8, ch9, ch10",
"ch11, ch12, ch13, ch14, ch15";
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 903 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
#interconnect-cells = <1>;
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x81 0x08020000 0x81 0x08020000 0x0 0x20000>,
<0x81 0x08040000 0x81 0x08040000 0x0 0x20000>,
<0x81 0x080c0000 0x81 0x080c0000 0x0 0x20000>;
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
numa-node-id = <0x0>;
};

View File

@@ -0,0 +1,249 @@
# 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/adsp@9080000/nvidia,tegra264-adsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-adsp is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/nvadsp/dev.c
The following nodes use this compatibility
- /bus@0/aconnect@9000000/adsp@9080000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-adsp
required:
- compatible
properties:
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4a
maximum: 0x4a
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- adsp
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: 0x9c
maximum: 0x9c
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- cpu_clock
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9a00000
maximum: 0x9d60000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x40000
nvidia,dram_map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
nvidia,adsp_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x200000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20
maximum: 0x52
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
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: 0x206
maximum: 0x206
nvidia,cluster_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 6
maxItems: 6
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9080000
maximum: 0xa080000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000
maximum: 0x200000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x18000
maximum: 0x80000
nvidia,adsp_os_secload:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- resets
- reset-names
- clocks
- clock-names
- reg
- interrupts
- iommus
examples:
- |
adsp@9080000 {
compatible = "nvidia,tegra264-adsp";
interrupt-parent = <&agic_page0>;
resets = <&bpmp TEGRA264_RESET_ADSP_CORE0>;
reset-names = "adsp";
clocks = <&bpmp TEGRA264_CLK_ADSP>;
clock-names = "cpu_clock";
reg = <0x0 0x9d60000 0x0 0x10000>,
<0x0 0x9a00000 0x0 0x1000>,
<0x0 0x9a20000 0x0 0x40000>;
nvidia,dram_map = <0x0 0x20000000 0x0 0x20000000>;
nvidia,adsp_mem = <0x0 0x0>,
<0x0 0x0>,
<0x0 0x0>,
<0x0 0x200000>;
interrupts = <GIC_SPI 0x29 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x20 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x52 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x40 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x39 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x3b IRQ_TYPE_EDGE_RISING>;
iommus = <&smmu1_mmu (TEGRA_SID_APE+0x6)>;
memory-region = <&adsp0_resv>;
nvidia,cluster_mem = <0x0 0x9080000 0x0 0x80000 0x0 0x80000>,
<0x0 0x9e80000 0x0 0x200000 0x0 0x80000>,
<0x0 0xa080000 0x0 0x100000 0x0 0x18000>;
nvidia,adsp_os_secload;
status = "disabled";
};

View File

@@ -0,0 +1,249 @@
# 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/adsp1@9180000/nvidia,tegra264-adsp1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-adsp1 is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/nvadsp/dev.c
The following nodes use this compatibility
- /bus@0/aconnect@9000000/adsp1@9180000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-adsp1
required:
- compatible
properties:
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4b
maximum: 0x4b
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- adsp
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: 0x9c
maximum: 0x9c
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- cpu_clock
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9a01000
maximum: 0x9d60000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x40000
nvidia,dram_map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
nvidia,adsp_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x200000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3a
maximum: 0x8a
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
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: 0x207
maximum: 0x207
nvidia,cluster_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 6
maxItems: 6
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9180000
maximum: 0xa080000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000
maximum: 0x200000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x18000
maximum: 0x80000
nvidia,adsp_os_secload:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- resets
- reset-names
- clocks
- clock-names
- reg
- interrupts
- iommus
examples:
- |
adsp1@9180000 {
compatible = "nvidia,tegra264-adsp1";
interrupt-parent = <&agic_page0>;
resets = <&bpmp TEGRA264_RESET_ADSP_CORE1>;
reset-names = "adsp";
clocks = <&bpmp TEGRA264_CLK_ADSP>;
clock-names = "cpu_clock";
reg = <0x0 0x9d60000 0x0 0x10000>,
<0x0 0x9a01000 0x0 0x1000>,
<0x0 0x9b20000 0x0 0x40000>;
nvidia,dram_map = <0x0 0x20000000 0x0 0x20000000>;
nvidia,adsp_mem = <0x0 0x0>,
<0x0 0x0>,
<0x0 0x0>,
<0x0 0x200000>;
interrupts = <GIC_SPI 0x69 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x60 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x53 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x8a IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x3a IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 0x3c IRQ_TYPE_EDGE_RISING>;
iommus = <&smmu1_mmu (TEGRA_SID_APE+0x7)>;
memory-region = <&adsp1_resv>;
nvidia,cluster_mem = <0x0 0x9180000 0x0 0x80000 0x0 0x80000>,
<0x0 0x9e80000 0x0 0x200000 0x0 0x80000>,
<0x0 0xa080000 0x0 0x100000 0x0 0x18000>;
nvidia,adsp_os_secload;
status = "disabled";
};

View File

@@ -0,0 +1,242 @@
# 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/aon@c040000/nvidia,tegra264-aon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-aon is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/nvadsp/dev.c
The following nodes use this compatibility
- /bus@0/aocluster@c000000/aon@c040000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-aon
required:
- compatible
properties:
nvidia,adsp_os_secload:
$ref: "/schemas/types.yaml#/definitions/flag"
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4e
maximum: 0x4e
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- aon_cpu
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: 0xc4
maximum: 0xc4
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- cpu_clock
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc040000
maximum: 0xc410000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0xa0000
nvidia,dram_map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000000
maximum: 0x20000000
nvidia,adsp_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x200000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x229
maximum: 0x2d8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
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: 0x100
maximum: 0x100
nvidia,cluster_mem:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 6
maxItems: 6
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc040000
maximum: 0xce00000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000
maximum: 0x200000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000
maximum: 0xa0000
required:
- compatible
- resets
- reset-names
- clocks
- clock-names
- reg
- interrupts
- iommus
examples:
- |
aon@c040000 {
compatible = "nvidia,tegra264-aon";
nvidia,adsp_os_secload;
resets = <&bpmp TEGRA264_RESET_AON_CPU_ALL>;
reset-names = "aon_cpu";
clocks = <&bpmp TEGRA264_CLK_AON_CPU>;
clock-names = "cpu_clock";
reg = <0x0 0xc040000 0x0 0xa0000>,
<0x0 0xc100000 0x0 0x20000>,
<0x0 0xc410000 0x0 0x40000>;
nvidia,dram_map = <0x0 0x20000000 0x0 0x20000000>;
nvidia,adsp_mem = <0x0 0x0>,
<0x0 0x0>,
<0x0 0x0>,
<0x0 0x200000>;
interrupts = <GIC_SPI 0x229 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x22a IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x236 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x2d8 IRQ_TYPE_LEVEL_HIGH>;
iommus = <&smmu1_mmu TEGRA_SID_AON>;
memory-region = <&aon_resv>;
nvidia,cluster_mem = <0x0 0xc040000 0x0 0x40000 0x0 0xa0000>,
<0x0 0xce00000 0x0 0x200000 0x0 0x80000>;
status = "disabled";
};

View File

@@ -0,0 +1,148 @@
# 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/safetyservices_epl_client@110000/nvidia,tegra234-epl-client.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra234-epl-client is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/platform/tegra/tegra-epl.c
The following nodes use this compatibility
- /safetyservices_epl_client@110000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra234-epl-client
required:
- compatible
properties:
mboxes:
$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: 0x101
maximum: 0x101
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000000
maximum: 0x80000000
mbox-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- epl-tx
handshake-retry-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc8
maximum: 0xc8
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x110000
maximum: 0x170038
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
client-misc-sw-generic-err0:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvgpu
client-misc-sw-generic-err1:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- gk20b
client-misc-sw-generic-err3:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- gk20d
client-misc-sw-generic-err4:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- gk20e
required:
- compatible
- reg
examples:
- |
safetyservices_epl_client@110000 {
compatible = "nvidia,tegra234-epl-client";
mboxes = <&top_hsp3 TEGRA_HSP_MBOX_TYPE_SM_128BIT TEGRA_HSP_SM_TX(0)>;
mbox-names = "epl-tx";
handshake-retry-count = < 200 >;
reg = <0x0 0x00110000 0x0 0x4>,
<0x0 0x00110004 0x0 0x4>,
<0x0 0x00120000 0x0 0x4>,
<0x0 0x00120004 0x0 0x4>,
<0x0 0x00130000 0x0 0x4>,
<0x0 0x00130004 0x0 0x4>,
<0x0 0x00140000 0x0 0x4>,
<0x0 0x00140004 0x0 0x4>,
<0x0 0x00150000 0x0 0x4>,
<0x0 0x00150004 0x0 0x4>,
<0x0 0x00170038 0x0 0x4>;
client-misc-sw-generic-err0 = "fsicom_client";
client-misc-sw-generic-err1 = "gk20b";
client-misc-sw-generic-err3 = "gk20d";
client-misc-sw-generic-err4 = "gk20e";
enable-deinit-notify;
status = "disabled";
};

View File

@@ -0,0 +1,125 @@
# 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/fsicom_client/nvidia,tegra234-fsicom-client.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra234-fsicom-client is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/tegra-fsicom.c
The following nodes use this compatibility
- /fsicom_client
- /fsicom_client_inst1
- /fsicom_client_inst2
- /fsicom_client_inst3
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra234-fsicom-client
required:
- compatible
properties:
mboxes:
$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: 0x101
maximum: 0x101
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x80000005
mbox-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- fsi-tx-cpu0
- fsi-rx-cpu0
- fsi-tx-cpu1
- fsi-rx-cpu1
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
smmu_inst:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x3
max_fsi_core:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
fsi_core_notify:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
fsi_core_polling:
$ref: "/schemas/types.yaml#/definitions/flag"
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"
required:
- compatible
- iommus
examples:
- |
fsicom_client {
compatible = "nvidia,tegra234-fsicom-client";
mboxes = <&top_hsp2 (TEGRA_HSP_MBOX_TYPE_SM|TEGRA_HSP_MBOX_TYPE_SM_128BIT) TEGRA_HSP_SM_TX(2)>,
<&top_hsp2 (TEGRA_HSP_MBOX_TYPE_SM|TEGRA_HSP_MBOX_TYPE_SM_128BIT) TEGRA_HSP_SM_RX(1)>,
<&top_hsp2 (TEGRA_HSP_MBOX_TYPE_SM|TEGRA_HSP_MBOX_TYPE_SM_128BIT) TEGRA_HSP_SM_TX(5)>,
<&top_hsp2 (TEGRA_HSP_MBOX_TYPE_SM|TEGRA_HSP_MBOX_TYPE_SM_128BIT) TEGRA_HSP_SM_RX(4)>;
mbox-names = "fsi-tx-cpu0, fsi-rx-cpu0, fsi-tx-cpu1, fsi-rx-cpu1";
memory-region = <&fsicom_resv>;
dma-coherent;
enable-deinit-notify;
smmu_inst = <0>;
max_fsi_core = <1>;
fsi_core_notify = <0>;
fsi_core_polling = <>;
status = "disabled";
};

View File

@@ -0,0 +1,74 @@
# 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/hsierrrptinj/nvidia,tegra23x-hsierrrptinj.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra23x-hsierrrptinj is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/platform/tegra/tegra-hsierrrptinj.c
The following nodes use this compatibility
- /hsierrrptinj
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra23x-hsierrrptinj
required:
- compatible
properties:
mboxes:
$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: 0x101
maximum: 0x101
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000001
maximum: 0x80000001
mbox-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- hsierrrptinj-tx
required:
- compatible
examples:
- |
hsierrrptinj {
compatible = "nvidia,tegra23x-hsierrrptinj";
mboxes = <&top_hsp0 (TEGRA_HSP_MBOX_TYPE_SM|TEGRA_HSP_MBOX_TYPE_SM_128BIT) TEGRA_HSP_SM_TX(1)>;
mbox-names = "hsierrrptinj-tx";
status = "disabled";
};

View File

@@ -0,0 +1,102 @@
# 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/actmon@d3f0000/nvidia,tegra264-cactmon-mc-all.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-cactmon-mc-all is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/tegra-cactmon-mc-all.c
The following nodes use this compatibility
- /bus@0/actmon@d3f0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-cactmon-mc-all
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd3f0000
maximum: 0xd3f0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
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: 0x1
maximum: 0x1
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- actmon
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
actmon@d3f0000 {
compatible = "nvidia,tegra264-cactmon-mc-all";
reg = <0x0 0xd3f0000 0x0 0x10000>;
clocks = <&bpmp TEGRA264_CLK_OSC>;
clock-names = "actmon";
status = "disabled";
};

View File

@@ -0,0 +1,54 @@
# 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/tegra_bl_debug/nvidia,tegra_bl_debug.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra_bl_debug is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/tegra_bootloader_debug.c
The following nodes use this compatibility
- /tegra_bl_debug
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra_bl_debug
required:
- compatible
properties:
usec_timer_reg_base:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc240000
maximum: 0xc240000
required:
- compatible
examples:
- |
tegra_bl_debug {
};

View File

@@ -0,0 +1,201 @@
# 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/psc@d8e0000/nvidia,tegra234-psc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra234-psc is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/psc/tegra23x_psc_mailbox.c
The following nodes use this compatibility
- /bus@0/psc@d8e0000
- /bus@0/psc@e0e0000
- /bus@0/psc@e860000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra234-psc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd8e0000
maximum: 0xe860000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80000
maximum: 0x80000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd80205c
maximum: 0xe80201c
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mbox-regs
- extcfg
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2c3
maximum: 0x302
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
nvidia,cpu-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- sb
- oesp
- psc
'#mbox-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
mboxes:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,mailbox-mutex:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,sidconfig:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
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: 0x1c00
maximum: 0x2400
nvidia,sidtable:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
- reg
- interrupts
- iommus
examples:
- |
psc@d8e0000 {
compatible = "nvidia,tegra234-psc";
reg = <0x0 0xd8e0000 0x0 0x80000 0x0 0xd80205c 0x0 0x8>;
reg-names = "mbox-regs, extcfg";
interrupts = <GIC_SPI 763 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 764 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 765 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 766 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 767 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>;
nvidia,cpu-name = "sb";
#mbox-cells = <1>;
mboxes = <&soc_sb_cluster 0>;
nvidia,mailbox-mutex = <1>;
nvidia,sidconfig = <0x0>;
iommus = <&smmu1_mmu 0x2400>;
dma-coherent;
numa-node-id = <0x0>;
status = "disabled";
};

View File

@@ -0,0 +1,81 @@
# 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/hsp-vm1/nvidia,tegra-camrtc-hsp-vm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra-camrtc-hsp-vm is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/hsp-mailbox-client.c
The following nodes use this compatibility
- /rtcpu@81893d0000/hsp-vm1
- /rtcpu@81893d0000/hsp-vm2
- /rtcpu@81893d0000/hsp-vm3
- /rtcpu@81893d0000/hsp-vm4
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-camrtc-hsp-vm
required:
- compatible
properties:
mboxes:
$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: 0x1
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x80000007
mbox-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- vm-tx
- vm-rx
- vm-ss
required:
- compatible
examples:
- |
hsp-vm1 {
compatible = "nvidia,tegra-camrtc-hsp-vm";
mboxes = <&rce_hsp0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_TX(0)>,
<&rce_hsp0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(1)>,
<&rce_hsp0 TEGRA_HSP_MBOX_TYPE_SS 0>;
mbox-names = "vm-tx, vm-rx, vm-ss";
status = "disabled";
};

View File

@@ -0,0 +1,83 @@
# 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/diag@5/nvidia,tegra186-camera-diagnostics.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-diagnostics is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/camera-diagnostics.c
The following nodes use this compatibility
- /camera-ivc-channels/diag@5
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-diagnostics
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- diag
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
required:
- compatible
examples:
- |
diag@5 {
compatible = "nvidia,tegra186-camera-diagnostics";
nvidia,service = "diag";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <1>;
nvidia,frame-size = <64>;
status = "disabled";
};

View File

@@ -0,0 +1,83 @@
# 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/ivccontrol@3/nvidia,tegra186-camera-ivc-protocol-capture-control.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-ivc-protocol-capture-control is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/capture-ivc.c
The following nodes use this compatibility
- /camera-ivc-channels/ivccontrol@3
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-ivc-protocol-capture-control
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- capture-control
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x140
maximum: 0x140
required:
- compatible
examples:
- |
ivccontrol@3 {
compatible = "nvidia,tegra186-camera-ivc-protocol-capture-control";
nvidia,service = "capture-control";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <64>;
nvidia,frame-size = <320>;
status = "disabled";
};

View File

@@ -0,0 +1,83 @@
# 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/ivccapture@4/nvidia,tegra186-camera-ivc-protocol-capture.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-ivc-protocol-capture is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/capture-ivc.c
The following nodes use this compatibility
- /camera-ivc-channels/ivccapture@4
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-ivc-protocol-capture
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- capture
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x200
maximum: 0x200
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
required:
- compatible
examples:
- |
ivccapture@4 {
compatible = "nvidia,tegra186-camera-ivc-protocol-capture";
nvidia,service = "capture";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <512>;
nvidia,frame-size = <64>;
status = "disabled";
};

View File

@@ -0,0 +1,83 @@
# 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/dbg@1/nvidia,tegra186-camera-ivc-protocol-dbg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-ivc-protocol-dbg is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/camchar.c
The following nodes use this compatibility
- /camera-ivc-channels/dbg@1
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-ivc-protocol-dbg
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- debug
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x200
maximum: 0x200
required:
- compatible
examples:
- |
dbg@1 {
compatible = "nvidia,tegra186-camera-ivc-protocol-dbg";
nvidia,service = "debug";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <1>;
nvidia,frame-size = <512>;
status = "disabled";
};

View File

@@ -0,0 +1,114 @@
# 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/dbg@2/nvidia,tegra186-camera-ivc-protocol-debug.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-ivc-protocol-debug is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/rtcpu-debug.c
The following nodes use this compatibility
- /camera-ivc-channels/dbg@2
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-ivc-protocol-debug
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- debug
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2000
maximum: 0x2000
nvidia,ivc-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x32
maximum: 0x32
nvidia,test-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1388
maximum: 0x1388
nvidia,mem-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 5
maxItems: 5
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,test-bw:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x249f00
maximum: 0x249f00
required:
- compatible
examples:
- |
dbg@2 {
compatible = "nvidia,tegra186-camera-ivc-protocol-debug";
nvidia,service = "debug";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <1>;
nvidia,frame-size = <8192>;
nvidia,ivc-timeout = <50>;
nvidia,test-timeout = <5000>;
nvidia,mem-map = <&tegra_rce &vi0 &isp &vi1 &isp1>;
nvidia,test-bw = <2400000>;
status = "disabled";
};

View File

@@ -0,0 +1,83 @@
# 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/echo@0/nvidia,tegra186-camera-ivc-protocol-echo.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra186-camera-ivc-protocol-echo is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/camchar.c
The following nodes use this compatibility
- /camera-ivc-channels/echo@0
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-camera-ivc-protocol-echo
required:
- compatible
properties:
nvidia,service:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- echo
nvidia,version:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,group:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,frame-count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
nvidia,frame-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
required:
- compatible
examples:
- |
echo@0 {
compatible = "nvidia,tegra186-camera-ivc-protocol-echo";
nvidia,service = "echo";
nvidia,version = <0>;
nvidia,group = <1>;
nvidia,frame-count = <16>;
nvidia,frame-size = <64>;
status = "disabled";
};