15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/nvidia,tegra210-quad.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Tegra Quad SPI Controller
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
115def4c47SEmmanuel Vadot  - Jonathan Hunter <jonathanh@nvidia.com>
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel VadotallOf:
14cb7aa33aSEmmanuel Vadot  - $ref: spi-controller.yaml#
155def4c47SEmmanuel Vadot
165def4c47SEmmanuel Vadotproperties:
175def4c47SEmmanuel Vadot  compatible:
185def4c47SEmmanuel Vadot    enum:
195def4c47SEmmanuel Vadot      - nvidia,tegra210-qspi
205def4c47SEmmanuel Vadot      - nvidia,tegra186-qspi
215def4c47SEmmanuel Vadot      - nvidia,tegra194-qspi
22c9ccf3a3SEmmanuel Vadot      - nvidia,tegra234-qspi
23b97ee269SEmmanuel Vadot      - nvidia,tegra241-qspi
245def4c47SEmmanuel Vadot
255def4c47SEmmanuel Vadot  reg:
265def4c47SEmmanuel Vadot    maxItems: 1
275def4c47SEmmanuel Vadot
285def4c47SEmmanuel Vadot  interrupts:
295def4c47SEmmanuel Vadot    maxItems: 1
305def4c47SEmmanuel Vadot
315def4c47SEmmanuel Vadot  clock-names:
325def4c47SEmmanuel Vadot    items:
335def4c47SEmmanuel Vadot      - const: qspi
345def4c47SEmmanuel Vadot      - const: qspi_out
355def4c47SEmmanuel Vadot
365def4c47SEmmanuel Vadot  clocks:
375def4c47SEmmanuel Vadot    maxItems: 2
385def4c47SEmmanuel Vadot
395def4c47SEmmanuel Vadot  resets:
405def4c47SEmmanuel Vadot    maxItems: 1
415def4c47SEmmanuel Vadot
425def4c47SEmmanuel Vadot  dmas:
435def4c47SEmmanuel Vadot    maxItems: 2
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot  dma-names:
465def4c47SEmmanuel Vadot    items:
475def4c47SEmmanuel Vadot      - const: rx
485def4c47SEmmanuel Vadot      - const: tx
495def4c47SEmmanuel Vadot
505def4c47SEmmanuel VadotpatternProperties:
518bab661aSEmmanuel Vadot  "@[0-9a-f]+$":
525def4c47SEmmanuel Vadot    type: object
53*84943d6fSEmmanuel Vadot    additionalProperties: true
545def4c47SEmmanuel Vadot
555def4c47SEmmanuel Vadot    properties:
565def4c47SEmmanuel Vadot      spi-rx-bus-width:
575def4c47SEmmanuel Vadot        enum: [1, 2, 4]
585def4c47SEmmanuel Vadot
595def4c47SEmmanuel Vadot      spi-tx-bus-width:
605def4c47SEmmanuel Vadot        enum: [1, 2, 4]
615def4c47SEmmanuel Vadot
625def4c47SEmmanuel Vadotrequired:
635def4c47SEmmanuel Vadot  - compatible
645def4c47SEmmanuel Vadot  - reg
655def4c47SEmmanuel Vadot  - interrupts
665def4c47SEmmanuel Vadot  - clock-names
675def4c47SEmmanuel Vadot  - clocks
685def4c47SEmmanuel Vadot  - resets
695def4c47SEmmanuel Vadot
705def4c47SEmmanuel VadotunevaluatedProperties: false
715def4c47SEmmanuel Vadot
725def4c47SEmmanuel Vadotexamples:
735def4c47SEmmanuel Vadot  - |
745def4c47SEmmanuel Vadot    #include <dt-bindings/clock/tegra210-car.h>
755def4c47SEmmanuel Vadot    #include <dt-bindings/reset/tegra210-car.h>
765def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
775def4c47SEmmanuel Vadot    spi@70410000 {
785def4c47SEmmanuel Vadot        compatible = "nvidia,tegra210-qspi";
795def4c47SEmmanuel Vadot        reg = <0x70410000 0x1000>;
805def4c47SEmmanuel Vadot        interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
815def4c47SEmmanuel Vadot        #address-cells = <1>;
825def4c47SEmmanuel Vadot        #size-cells = <0>;
835def4c47SEmmanuel Vadot        clocks = <&tegra_car TEGRA210_CLK_QSPI>,
845def4c47SEmmanuel Vadot                 <&tegra_car TEGRA210_CLK_QSPI_PM>;
855def4c47SEmmanuel Vadot        clock-names = "qspi", "qspi_out";
865def4c47SEmmanuel Vadot        resets = <&tegra_car 211>;
875def4c47SEmmanuel Vadot        dmas = <&apbdma 5>, <&apbdma 5>;
885def4c47SEmmanuel Vadot        dma-names = "rx", "tx";
895def4c47SEmmanuel Vadot
905def4c47SEmmanuel Vadot        flash@0 {
91c9ccf3a3SEmmanuel Vadot            compatible = "jedec,spi-nor";
925def4c47SEmmanuel Vadot            reg = <0>;
935def4c47SEmmanuel Vadot            spi-max-frequency = <104000000>;
945def4c47SEmmanuel Vadot            spi-tx-bus-width = <2>;
955def4c47SEmmanuel Vadot            spi-rx-bus-width = <2>;
965def4c47SEmmanuel Vadot            nvidia,tx-clk-tap-delay = <0>;
975def4c47SEmmanuel Vadot            nvidia,rx-clk-tap-delay = <0>;
985def4c47SEmmanuel Vadot        };
995def4c47SEmmanuel Vadot    };
100