mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
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. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAml4j/gACgkQ3SOs138+ s6FE+g/+KBy7GVuhVBQtGU5TWTV0NpDTonSHQBZXnslvFx91I0zDXqKOGEEKPFwH RykvftVjbZ1LkwnP5Ow7BeQqF602CACPa9UJY3mavnvdDIWdTCwnUH2VbE+3JjO+ JS5pfR5WB01jAUCydKFYwCZ7+3eeArHO5DUO2h2f/SHqJCpUfggxmuBlGn2FfLwo aAQwpjiLPWmlFz2Rg8sbl+ENqEA0yKZO9uSSO3N6gdNM7vggeFSizPKahc+jV6eE +WL5Z6dZGB67288SUHHOEU60zzoDs1s50EjF2/kLmXWAowNO8HDmK191y1zHnmoJ USzl8fdHmJ0bktUKDJE6Dlu+O0xaJmdz4s/bumgW3qi/e1aDtUrT9yOOgPvhAnjm ZIppsjm/AUx/abECIVSxr3xlSkyyVjNX1Wswjjf4t62K/QxITjGhDsvNQrzwRrcY LpJ/RL7n/07bM3RJ/iONkeBLyCjHjpWkIG5/vjbnGbTrqv8R8eXR4bKe0vqOry1P /HxAE3sURx8wSFAdYFx8vtCOby904BeiWoMrORPnc3GXCAJlHRgoSTfUogE4soiR l08hHyGoW1NDHsyXu2I+mHhoRKUhwYgIT0a+sBX++cbetTNhkkPKvN+QVIV317R5 XcYKqQcGgtwZDDQ+4L4cM2HG7CP6v5pRelp0lzX8AFuo/zvchB4= =KbrZ -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
1daa947cb2
11 changed files with 225 additions and 80 deletions
|
|
@ -19,15 +19,15 @@ properties:
|
|||
- nvidia,tegra264-pmc
|
||||
|
||||
reg:
|
||||
minItems: 4
|
||||
minItems: 3
|
||||
maxItems: 5
|
||||
|
||||
reg-names:
|
||||
minItems: 4
|
||||
minItems: 3
|
||||
items:
|
||||
- const: pmc
|
||||
- const: wake
|
||||
- const: aotag
|
||||
- enum: [ aotag, scratch, misc ]
|
||||
- enum: [ scratch, misc ]
|
||||
- const: misc
|
||||
|
||||
|
|
@ -51,6 +51,7 @@ allOf:
|
|||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
reg-names:
|
||||
maxItems: 4
|
||||
|
|
@ -73,7 +74,9 @@ allOf:
|
|||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: nvidia,tegra234-pmc
|
||||
enum:
|
||||
- nvidia,tegra234-pmc
|
||||
- nvidia,tegra264-pmc
|
||||
then:
|
||||
properties:
|
||||
reg-names:
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ properties:
|
|||
enum:
|
||||
- nvidia,tegra114-mipi
|
||||
- nvidia,tegra124-mipi
|
||||
- nvidia,tegra132-mipi
|
||||
- nvidia,tegra210-mipi
|
||||
- nvidia,tegra186-mipi
|
||||
|
||||
|
|
|
|||
|
|
@ -16,16 +16,21 @@ properties:
|
|||
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: nvidia,tegra20-vi
|
||||
- const: nvidia,tegra30-vi
|
||||
- const: nvidia,tegra114-vi
|
||||
- const: nvidia,tegra124-vi
|
||||
- enum:
|
||||
- nvidia,tegra20-vi
|
||||
- nvidia,tegra114-vi
|
||||
- nvidia,tegra124-vi
|
||||
- nvidia,tegra210-vi
|
||||
- nvidia,tegra186-vi
|
||||
- nvidia,tegra194-vi
|
||||
|
||||
- items:
|
||||
- const: nvidia,tegra30-vi
|
||||
- const: nvidia,tegra20-vi
|
||||
|
||||
- items:
|
||||
- const: nvidia,tegra132-vi
|
||||
- const: nvidia,tegra124-vi
|
||||
- const: nvidia,tegra210-vi
|
||||
- const: nvidia,tegra186-vi
|
||||
- const: nvidia,tegra194-vi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
|
|||
|
|
@ -11,8 +11,13 @@ maintainers:
|
|||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nvidia,tegra20-vip
|
||||
oneOf:
|
||||
- enum:
|
||||
- nvidia,tegra20-vip
|
||||
|
||||
- items:
|
||||
- const: nvidia,tegra30-vip
|
||||
- const: nvidia,tegra20-vip
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ properties:
|
|||
Should contain all of the per-channel DMA interrupts in
|
||||
ascending order with respect to the DMA channel index.
|
||||
minItems: 1
|
||||
maxItems: 32
|
||||
maxItems: 64
|
||||
|
||||
clocks:
|
||||
description: Must contain one entry for the ADMA module clock
|
||||
|
|
@ -86,6 +86,19 @@ allOf:
|
|||
reg:
|
||||
items:
|
||||
- description: Full address space range of DMA registers.
|
||||
interrupts:
|
||||
maxItems: 22
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nvidia,tegra186-adma
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
maxItems: 32
|
||||
|
||||
- if:
|
||||
properties:
|
||||
|
|
|
|||
|
|
@ -20,7 +20,12 @@ properties:
|
|||
$nodename:
|
||||
pattern: "^iommu@[0-9a-f]*"
|
||||
compatible:
|
||||
const: arm,smmu-v3
|
||||
oneOf:
|
||||
- const: arm,smmu-v3
|
||||
- items:
|
||||
- enum:
|
||||
- nvidia,tegra264-smmu
|
||||
- const: arm,smmu-v3
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
|
@ -58,6 +63,15 @@ properties:
|
|||
|
||||
msi-parent: true
|
||||
|
||||
nvidia,cmdqv:
|
||||
description: |
|
||||
A phandle to its pairing CMDQV extension for an implementation on NVIDIA
|
||||
Tegra SoC.
|
||||
|
||||
If this property is absent, CMDQ-Virtualization won't be used and SMMU
|
||||
will only use its own CMDQ.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
hisilicon,broken-prefetch-cmd:
|
||||
type: boolean
|
||||
description: Avoid sending CMD_PREFETCH_* commands to the SMMU.
|
||||
|
|
@ -69,6 +83,17 @@ properties:
|
|||
register access with page 0 offsets. Set for Cavium ThunderX2 silicon that
|
||||
doesn't support SMMU page1 register space.
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: nvidia,tegra264-smmu
|
||||
then:
|
||||
properties:
|
||||
nvidia,cmdqv: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iommu/nvidia,tegra264-cmdqv.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra264 CMDQV
|
||||
|
||||
description:
|
||||
The CMDQ-Virtualization hardware block is part of the SMMUv3 implementation
|
||||
on Tegra264 SoCs. It assists in virtualizing the command queue for the SMMU.
|
||||
|
||||
maintainers:
|
||||
- Nicolin Chen <nicolinc@nvidia.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra264-cmdqv
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
cmdqv@5200000 {
|
||||
compatible = "nvidia,tegra264-cmdqv";
|
||||
reg = <0x5200000 0x830000>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
|
@ -92,10 +92,14 @@ patternProperties:
|
|||
clocks:
|
||||
items:
|
||||
- description: external memory clock
|
||||
- description: data backbone clock
|
||||
minItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: emc
|
||||
- const: dbb
|
||||
minItems: 1
|
||||
|
||||
"#interconnect-cells":
|
||||
const: 0
|
||||
|
|
@ -115,6 +119,9 @@ patternProperties:
|
|||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -124,6 +131,9 @@ patternProperties:
|
|||
reg:
|
||||
minItems: 2
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
@ -133,6 +143,9 @@ patternProperties:
|
|||
reg:
|
||||
minItems: 2
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
|
|
|||
102
Documentation/devicetree/bindings/mtd/nvidia,tegra20-nand.yaml
Normal file
102
Documentation/devicetree/bindings/mtd/nvidia,tegra20-nand.yaml
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mtd/nvidia,tegra20-nand.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra NAND Flash Controller
|
||||
|
||||
maintainers:
|
||||
- Jonathan Hunter <jonathanh@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: nand-controller.yaml
|
||||
|
||||
description:
|
||||
The NVIDIA NAND controller provides an interface between NVIDIA SoCs
|
||||
and raw NAND flash devices. It supports standard NAND operations,
|
||||
hardware-assisted ECC, OOB data access, and DMA transfers, and
|
||||
integrates with the Linux MTD NAND subsystem for reliable flash management.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra20-nand
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: nand
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: nand
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
operating-points-v2:
|
||||
maxItems: 1
|
||||
|
||||
patternProperties:
|
||||
'^nand@':
|
||||
type: object
|
||||
description: Individual NAND chip connected to the NAND controller
|
||||
$ref: raw-nand-chip.yaml#
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maximum: 5
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
- resets
|
||||
- reset-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/tegra20-car.h>
|
||||
#include <dt-bindings/gpio/tegra-gpio.h>
|
||||
|
||||
nand-controller@70008000 {
|
||||
compatible = "nvidia,tegra20-nand";
|
||||
reg = <0x70008000 0x100>;
|
||||
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
|
||||
clock-names = "nand";
|
||||
resets = <&tegra_car 13>;
|
||||
reset-names = "nand";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
nand-bus-width = <8>;
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-algo = "bch";
|
||||
nand-ecc-strength = <8>;
|
||||
wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
NVIDIA Tegra NAND Flash controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be one of:
|
||||
- "nvidia,tegra20-nand"
|
||||
- reg: MMIO address range
|
||||
- interrupts: interrupt output of the NFC controller
|
||||
- clocks: Must contain an entry for each entry in clock-names.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- clock-names: Must include the following entries:
|
||||
- nand
|
||||
- resets: Must contain an entry for each entry in reset-names.
|
||||
See ../reset/reset.txt for details.
|
||||
- reset-names: Must include the following entries:
|
||||
- nand
|
||||
|
||||
Optional children nodes:
|
||||
Individual NAND chips are children of the NAND controller node. Currently
|
||||
only one NAND chip supported.
|
||||
|
||||
Required children node properties:
|
||||
- reg: An integer ranging from 1 to 6 representing the CS line to use.
|
||||
|
||||
Optional children node properties:
|
||||
- nand-ecc-mode: String, operation mode of the NAND ecc mode. Currently only
|
||||
"hw" is supported.
|
||||
- nand-ecc-algo: string, algorithm of NAND ECC.
|
||||
Supported values with "hw" ECC mode are: "rs", "bch".
|
||||
- nand-bus-width : See nand-controller.yaml
|
||||
- nand-on-flash-bbt: See nand-controller.yaml
|
||||
- nand-ecc-strength: integer representing the number of bits to correct
|
||||
per ECC step (always 512). Supported strength using HW ECC
|
||||
modes are:
|
||||
- RS: 4, 6, 8
|
||||
- BCH: 4, 8, 14, 16
|
||||
- nand-ecc-maximize: See nand-controller.yaml
|
||||
- nand-is-boot-medium: Makes sure only ECC strengths supported by the boot ROM
|
||||
are chosen.
|
||||
- wp-gpios: GPIO specifier for the write protect pin.
|
||||
|
||||
Optional child node of NAND chip nodes:
|
||||
Partitions: see mtd.yaml
|
||||
|
||||
Example:
|
||||
nand-controller@70008000 {
|
||||
compatible = "nvidia,tegra20-nand";
|
||||
reg = <0x70008000 0x100>;
|
||||
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
|
||||
clock-names = "nand";
|
||||
resets = <&tegra_car 13>;
|
||||
reset-names = "nand";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
nand-bus-width = <8>;
|
||||
nand-on-flash-bbt;
|
||||
nand-ecc-algo = "bch";
|
||||
nand-ecc-strength = <8>;
|
||||
wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
|
@ -25677,7 +25677,7 @@ TEGRA NAND DRIVER
|
|||
M: Stefan Agner <stefan@agner.ch>
|
||||
M: Lucas Stach <dev@lynxeye.de>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt
|
||||
F: Documentation/devicetree/bindings/mtd/nvidia,tegra20-nand.yaml
|
||||
F: drivers/mtd/nand/raw/tegra_nand.c
|
||||
|
||||
TEGRA PWM DRIVER
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue