Skip to content

Commit 1daa947

Browse files
committed
Merge tag 'tegra-for-6.20-dt-bindings-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
dt-bindings: Changes for v6.20-rc1 This series updates various DT bindings for Tegra architecture, primarily focusing on schema validation fixes and new feature documentation for Tegra234 and Tegra264 SoCs. Key changes include converting Tegra20 NAND bindings to YAML, and updating memory, DMA, and IOMMU definitions for Tegra264 (introducing CMDQV and DBB clock support). Additionally, it resolves legacy warnings for Tegra30/132 display and VI interfaces. * tag 'tegra-for-6.20-dt-bindings-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: dt-bindings: display: tegra: document Tegra30 VI and VIP dt-bindings: display: tegra: document Tegra132 MIPI calibration device dt-bindings: mtd: nvidia,tegra20-nand: convert to DT schema dt-bindings: dma: Update ADMA bindings for tegra264 dt-bindings: iommu: Add NVIDIA Tegra CMDQV support dt-bindings: memory: tegra: Document DBB clock for Tegra264 dt-bindings: tegra: pmc: Update aotag as an optional aperture
2 parents 21f3f6a + d262d03 commit 1daa947

11 files changed

Lines changed: 225 additions & 80 deletions

File tree

Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ properties:
1919
- nvidia,tegra264-pmc
2020

2121
reg:
22-
minItems: 4
22+
minItems: 3
2323
maxItems: 5
2424

2525
reg-names:
26-
minItems: 4
26+
minItems: 3
2727
items:
2828
- const: pmc
2929
- const: wake
30-
- const: aotag
30+
- enum: [ aotag, scratch, misc ]
3131
- enum: [ scratch, misc ]
3232
- const: misc
3333

@@ -51,6 +51,7 @@ allOf:
5151
then:
5252
properties:
5353
reg:
54+
minItems: 4
5455
maxItems: 4
5556
reg-names:
5657
maxItems: 4
@@ -73,7 +74,9 @@ allOf:
7374
properties:
7475
compatible:
7576
contains:
76-
const: nvidia,tegra234-pmc
77+
enum:
78+
- nvidia,tegra234-pmc
79+
- nvidia,tegra264-pmc
7780
then:
7881
properties:
7982
reg-names:

Documentation/devicetree/bindings/display/tegra/nvidia,tegra114-mipi.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ properties:
1818
enum:
1919
- nvidia,tegra114-mipi
2020
- nvidia,tegra124-mipi
21+
- nvidia,tegra132-mipi
2122
- nvidia,tegra210-mipi
2223
- nvidia,tegra186-mipi
2324

Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,21 @@ properties:
1616

1717
compatible:
1818
oneOf:
19-
- const: nvidia,tegra20-vi
20-
- const: nvidia,tegra30-vi
21-
- const: nvidia,tegra114-vi
22-
- const: nvidia,tegra124-vi
19+
- enum:
20+
- nvidia,tegra20-vi
21+
- nvidia,tegra114-vi
22+
- nvidia,tegra124-vi
23+
- nvidia,tegra210-vi
24+
- nvidia,tegra186-vi
25+
- nvidia,tegra194-vi
26+
27+
- items:
28+
- const: nvidia,tegra30-vi
29+
- const: nvidia,tegra20-vi
30+
2331
- items:
2432
- const: nvidia,tegra132-vi
2533
- const: nvidia,tegra124-vi
26-
- const: nvidia,tegra210-vi
27-
- const: nvidia,tegra186-vi
28-
- const: nvidia,tegra194-vi
2934

3035
reg:
3136
maxItems: 1

Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
enum:
15-
- nvidia,tegra20-vip
14+
oneOf:
15+
- enum:
16+
- nvidia,tegra20-vip
17+
18+
- items:
19+
- const: nvidia,tegra30-vip
20+
- const: nvidia,tegra20-vip
1621

1722
ports:
1823
$ref: /schemas/graph.yaml#/properties/ports

Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ properties:
4646
Should contain all of the per-channel DMA interrupts in
4747
ascending order with respect to the DMA channel index.
4848
minItems: 1
49-
maxItems: 32
49+
maxItems: 64
5050

5151
clocks:
5252
description: Must contain one entry for the ADMA module clock
@@ -86,6 +86,19 @@ allOf:
8686
reg:
8787
items:
8888
- description: Full address space range of DMA registers.
89+
interrupts:
90+
maxItems: 22
91+
92+
- if:
93+
properties:
94+
compatible:
95+
contains:
96+
enum:
97+
- nvidia,tegra186-adma
98+
then:
99+
properties:
100+
interrupts:
101+
maxItems: 32
89102

90103
- if:
91104
properties:

Documentation/devicetree/bindings/iommu/arm,smmu-v3.yaml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ properties:
2020
$nodename:
2121
pattern: "^iommu@[0-9a-f]*"
2222
compatible:
23-
const: arm,smmu-v3
23+
oneOf:
24+
- const: arm,smmu-v3
25+
- items:
26+
- enum:
27+
- nvidia,tegra264-smmu
28+
- const: arm,smmu-v3
2429

2530
reg:
2631
maxItems: 1
@@ -58,6 +63,15 @@ properties:
5863
5964
msi-parent: true
6065

66+
nvidia,cmdqv:
67+
description: |
68+
A phandle to its pairing CMDQV extension for an implementation on NVIDIA
69+
Tegra SoC.
70+
71+
If this property is absent, CMDQ-Virtualization won't be used and SMMU
72+
will only use its own CMDQ.
73+
$ref: /schemas/types.yaml#/definitions/phandle
74+
6175
hisilicon,broken-prefetch-cmd:
6276
type: boolean
6377
description: Avoid sending CMD_PREFETCH_* commands to the SMMU.
@@ -69,6 +83,17 @@ properties:
6983
register access with page 0 offsets. Set for Cavium ThunderX2 silicon that
7084
doesn't support SMMU page1 register space.
7185

86+
allOf:
87+
- if:
88+
not:
89+
properties:
90+
compatible:
91+
contains:
92+
const: nvidia,tegra264-smmu
93+
then:
94+
properties:
95+
nvidia,cmdqv: false
96+
7297
required:
7398
- compatible
7499
- reg
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/iommu/nvidia,tegra264-cmdqv.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NVIDIA Tegra264 CMDQV
8+
9+
description:
10+
The CMDQ-Virtualization hardware block is part of the SMMUv3 implementation
11+
on Tegra264 SoCs. It assists in virtualizing the command queue for the SMMU.
12+
13+
maintainers:
14+
- Nicolin Chen <nicolinc@nvidia.com>
15+
16+
properties:
17+
compatible:
18+
const: nvidia,tegra264-cmdqv
19+
20+
reg:
21+
maxItems: 1
22+
23+
interrupts:
24+
maxItems: 1
25+
26+
required:
27+
- compatible
28+
- reg
29+
- interrupts
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
#include <dt-bindings/interrupt-controller/arm-gic.h>
36+
#include <dt-bindings/interrupt-controller/irq.h>
37+
38+
cmdqv@5200000 {
39+
compatible = "nvidia,tegra264-cmdqv";
40+
reg = <0x5200000 0x830000>;
41+
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
42+
};

Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,14 @@ patternProperties:
9292
clocks:
9393
items:
9494
- description: external memory clock
95+
- description: data backbone clock
96+
minItems: 1
9597

9698
clock-names:
9799
items:
98100
- const: emc
101+
- const: dbb
102+
minItems: 1
99103

100104
"#interconnect-cells":
101105
const: 0
@@ -115,6 +119,9 @@ patternProperties:
115119
reg:
116120
maxItems: 1
117121

122+
clocks:
123+
maxItems: 1
124+
118125
- if:
119126
properties:
120127
compatible:
@@ -124,6 +131,9 @@ patternProperties:
124131
reg:
125132
minItems: 2
126133

134+
clocks:
135+
maxItems: 1
136+
127137
- if:
128138
properties:
129139
compatible:
@@ -133,6 +143,9 @@ patternProperties:
133143
reg:
134144
minItems: 2
135145

146+
clocks:
147+
maxItems: 1
148+
136149
- if:
137150
properties:
138151
compatible:
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mtd/nvidia,tegra20-nand.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NVIDIA Tegra NAND Flash Controller
8+
9+
maintainers:
10+
- Jonathan Hunter <jonathanh@nvidia.com>
11+
12+
allOf:
13+
- $ref: nand-controller.yaml
14+
15+
description:
16+
The NVIDIA NAND controller provides an interface between NVIDIA SoCs
17+
and raw NAND flash devices. It supports standard NAND operations,
18+
hardware-assisted ECC, OOB data access, and DMA transfers, and
19+
integrates with the Linux MTD NAND subsystem for reliable flash management.
20+
21+
properties:
22+
compatible:
23+
const: nvidia,tegra20-nand
24+
25+
reg:
26+
maxItems: 1
27+
28+
interrupts:
29+
maxItems: 1
30+
31+
clocks:
32+
maxItems: 1
33+
34+
clock-names:
35+
items:
36+
- const: nand
37+
38+
resets:
39+
maxItems: 1
40+
41+
reset-names:
42+
items:
43+
- const: nand
44+
45+
power-domains:
46+
maxItems: 1
47+
48+
operating-points-v2:
49+
maxItems: 1
50+
51+
patternProperties:
52+
'^nand@':
53+
type: object
54+
description: Individual NAND chip connected to the NAND controller
55+
$ref: raw-nand-chip.yaml#
56+
57+
properties:
58+
reg:
59+
maximum: 5
60+
61+
unevaluatedProperties: false
62+
63+
required:
64+
- compatible
65+
- reg
66+
- interrupts
67+
- clocks
68+
- clock-names
69+
- resets
70+
- reset-names
71+
72+
unevaluatedProperties: false
73+
74+
examples:
75+
- |
76+
#include <dt-bindings/interrupt-controller/arm-gic.h>
77+
#include <dt-bindings/clock/tegra20-car.h>
78+
#include <dt-bindings/gpio/tegra-gpio.h>
79+
80+
nand-controller@70008000 {
81+
compatible = "nvidia,tegra20-nand";
82+
reg = <0x70008000 0x100>;
83+
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
84+
clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
85+
clock-names = "nand";
86+
resets = <&tegra_car 13>;
87+
reset-names = "nand";
88+
#address-cells = <1>;
89+
#size-cells = <0>;
90+
91+
nand@0 {
92+
reg = <0>;
93+
#address-cells = <1>;
94+
#size-cells = <1>;
95+
nand-bus-width = <8>;
96+
nand-on-flash-bbt;
97+
nand-ecc-algo = "bch";
98+
nand-ecc-strength = <8>;
99+
wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
100+
};
101+
};
102+
...

0 commit comments

Comments
 (0)