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,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";
};