xref: /linux/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml (revision 5722a6cecfff3e381b96bbbd7e9b3911731e80d9)
19684752eSSowjanya Komatineni# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29684752eSSowjanya Komatineni%YAML 1.2
39684752eSSowjanya Komatineni---
49684752eSSowjanya Komatineni$id: http://devicetree.org/schemas/spi/nvidia,tegra210-quad.yaml#
59684752eSSowjanya Komatineni$schema: http://devicetree.org/meta-schemas/core.yaml#
69684752eSSowjanya Komatineni
79684752eSSowjanya Komatinenititle: Tegra Quad SPI Controller
89684752eSSowjanya Komatineni
99684752eSSowjanya Komatinenimaintainers:
109684752eSSowjanya Komatineni  - Thierry Reding <thierry.reding@gmail.com>
119684752eSSowjanya Komatineni  - Jonathan Hunter <jonathanh@nvidia.com>
129684752eSSowjanya Komatineni
139684752eSSowjanya Komatineniproperties:
149684752eSSowjanya Komatineni  compatible:
159684752eSSowjanya Komatineni    enum:
169684752eSSowjanya Komatineni      - nvidia,tegra210-qspi
179684752eSSowjanya Komatineni      - nvidia,tegra186-qspi
189684752eSSowjanya Komatineni      - nvidia,tegra194-qspi
19de2f678bSKrishna Yarlagadda      - nvidia,tegra234-qspi
204f37809fSKrishna Yarlagadda      - nvidia,tegra241-qspi
219684752eSSowjanya Komatineni
229684752eSSowjanya Komatineni  reg:
239684752eSSowjanya Komatineni    maxItems: 1
249684752eSSowjanya Komatineni
259684752eSSowjanya Komatineni  interrupts:
269684752eSSowjanya Komatineni    maxItems: 1
279684752eSSowjanya Komatineni
289684752eSSowjanya Komatineni  clock-names:
299684752eSSowjanya Komatineni    items:
309684752eSSowjanya Komatineni      - const: qspi
319684752eSSowjanya Komatineni      - const: qspi_out
329684752eSSowjanya Komatineni
339684752eSSowjanya Komatineni  clocks:
349684752eSSowjanya Komatineni    maxItems: 2
359684752eSSowjanya Komatineni
369684752eSSowjanya Komatineni  resets:
379684752eSSowjanya Komatineni    maxItems: 1
389684752eSSowjanya Komatineni
399684752eSSowjanya Komatineni  dmas:
409684752eSSowjanya Komatineni    maxItems: 2
419684752eSSowjanya Komatineni
429684752eSSowjanya Komatineni  dma-names:
439684752eSSowjanya Komatineni    items:
449684752eSSowjanya Komatineni      - const: rx
459684752eSSowjanya Komatineni      - const: tx
469684752eSSowjanya Komatineni
47*4614fd63SVishwaroop A  iommus:
48*4614fd63SVishwaroop A    maxItems: 1
49*4614fd63SVishwaroop A
509684752eSSowjanya KomatinenipatternProperties:
517621aabdSRob Herring  "@[0-9a-f]+$":
529684752eSSowjanya Komatineni    type: object
539f778f37SRob Herring    additionalProperties: true
549684752eSSowjanya Komatineni
559684752eSSowjanya Komatineni    properties:
569684752eSSowjanya Komatineni      spi-rx-bus-width:
579684752eSSowjanya Komatineni        enum: [1, 2, 4]
589684752eSSowjanya Komatineni
599684752eSSowjanya Komatineni      spi-tx-bus-width:
609684752eSSowjanya Komatineni        enum: [1, 2, 4]
619684752eSSowjanya Komatineni
629684752eSSowjanya Komatinenirequired:
639684752eSSowjanya Komatineni  - compatible
649684752eSSowjanya Komatineni  - reg
659684752eSSowjanya Komatineni  - interrupts
669684752eSSowjanya Komatineni  - clock-names
679684752eSSowjanya Komatineni  - clocks
689684752eSSowjanya Komatineni  - resets
699684752eSSowjanya Komatineni
709684752eSSowjanya KomatineniunevaluatedProperties: false
719684752eSSowjanya Komatineni
72*4614fd63SVishwaroop AallOf:
73*4614fd63SVishwaroop A  - $ref: spi-controller.yaml#
74*4614fd63SVishwaroop A  - if:
75*4614fd63SVishwaroop A      properties:
76*4614fd63SVishwaroop A        compatible:
77*4614fd63SVishwaroop A          not:
78*4614fd63SVishwaroop A            contains:
79*4614fd63SVishwaroop A              const: nvidia,tegra234-qspi
80*4614fd63SVishwaroop A    then:
81*4614fd63SVishwaroop A      properties:
82*4614fd63SVishwaroop A        iommus: false
83*4614fd63SVishwaroop A
849684752eSSowjanya Komatineniexamples:
859684752eSSowjanya Komatineni  - |
869684752eSSowjanya Komatineni    #include <dt-bindings/clock/tegra210-car.h>
879684752eSSowjanya Komatineni    #include <dt-bindings/reset/tegra210-car.h>
889684752eSSowjanya Komatineni    #include <dt-bindings/interrupt-controller/arm-gic.h>
899684752eSSowjanya Komatineni    spi@70410000 {
909684752eSSowjanya Komatineni        compatible = "nvidia,tegra210-qspi";
919684752eSSowjanya Komatineni        reg = <0x70410000 0x1000>;
929684752eSSowjanya Komatineni        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
939684752eSSowjanya Komatineni        #address-cells = <1>;
949684752eSSowjanya Komatineni        #size-cells = <0>;
959684752eSSowjanya Komatineni        clocks = <&tegra_car TEGRA210_CLK_QSPI>,
969684752eSSowjanya Komatineni                 <&tegra_car TEGRA210_CLK_QSPI_PM>;
979684752eSSowjanya Komatineni        clock-names = "qspi", "qspi_out";
989684752eSSowjanya Komatineni        resets = <&tegra_car 211>;
999684752eSSowjanya Komatineni        dmas = <&apbdma 5>, <&apbdma 5>;
1009684752eSSowjanya Komatineni        dma-names = "rx", "tx";
1019684752eSSowjanya Komatineni
1029684752eSSowjanya Komatineni        flash@0 {
103320689a1SJon Hunter            compatible = "jedec,spi-nor";
1049684752eSSowjanya Komatineni            reg = <0>;
1059684752eSSowjanya Komatineni            spi-max-frequency = <104000000>;
1069684752eSSowjanya Komatineni            spi-tx-bus-width = <2>;
1079684752eSSowjanya Komatineni            spi-rx-bus-width = <2>;
1089684752eSSowjanya Komatineni            nvidia,tx-clk-tap-delay = <0>;
1099684752eSSowjanya Komatineni            nvidia,rx-clk-tap-delay = <0>;
1109684752eSSowjanya Komatineni        };
1119684752eSSowjanya Komatineni    };
112