mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 17:51:23 +00:00

Add the 'iommus' property to the Tegra QSPI device tree binding. The property is needed for Tegra234 when using the internal DMA controller, and is not supported on other Tegra chips, as DMA is handled by an external controller. Signed-off-by: Vishwaroop A <va@nvidia.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Link: https://patch.msgid.link/20250513200043.608292-1-va@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
112 lines
2.2 KiB
YAML
112 lines
2.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/spi/nvidia,tegra210-quad.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Tegra Quad SPI Controller
|
|
|
|
maintainers:
|
|
- Thierry Reding <thierry.reding@gmail.com>
|
|
- Jonathan Hunter <jonathanh@nvidia.com>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- nvidia,tegra210-qspi
|
|
- nvidia,tegra186-qspi
|
|
- nvidia,tegra194-qspi
|
|
- nvidia,tegra234-qspi
|
|
- nvidia,tegra241-qspi
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clock-names:
|
|
items:
|
|
- const: qspi
|
|
- const: qspi_out
|
|
|
|
clocks:
|
|
maxItems: 2
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
dmas:
|
|
maxItems: 2
|
|
|
|
dma-names:
|
|
items:
|
|
- const: rx
|
|
- const: tx
|
|
|
|
iommus:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
"@[0-9a-f]+$":
|
|
type: object
|
|
additionalProperties: true
|
|
|
|
properties:
|
|
spi-rx-bus-width:
|
|
enum: [1, 2, 4]
|
|
|
|
spi-tx-bus-width:
|
|
enum: [1, 2, 4]
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clock-names
|
|
- clocks
|
|
- resets
|
|
|
|
unevaluatedProperties: false
|
|
|
|
allOf:
|
|
- $ref: spi-controller.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
not:
|
|
contains:
|
|
const: nvidia,tegra234-qspi
|
|
then:
|
|
properties:
|
|
iommus: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/tegra210-car.h>
|
|
#include <dt-bindings/reset/tegra210-car.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
spi@70410000 {
|
|
compatible = "nvidia,tegra210-qspi";
|
|
reg = <0x70410000 0x1000>;
|
|
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&tegra_car TEGRA210_CLK_QSPI>,
|
|
<&tegra_car TEGRA210_CLK_QSPI_PM>;
|
|
clock-names = "qspi", "qspi_out";
|
|
resets = <&tegra_car 211>;
|
|
dmas = <&apbdma 5>, <&apbdma 5>;
|
|
dma-names = "rx", "tx";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <104000000>;
|
|
spi-tx-bus-width = <2>;
|
|
spi-rx-bus-width = <2>;
|
|
nvidia,tx-clk-tap-delay = <0>;
|
|
nvidia,rx-clk-tap-delay = <0>;
|
|
};
|
|
};
|