1*9684752eSSowjanya Komatineni# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*9684752eSSowjanya Komatineni%YAML 1.2 3*9684752eSSowjanya Komatineni--- 4*9684752eSSowjanya Komatineni$id: http://devicetree.org/schemas/spi/nvidia,tegra210-quad.yaml# 5*9684752eSSowjanya Komatineni$schema: http://devicetree.org/meta-schemas/core.yaml# 6*9684752eSSowjanya Komatineni 7*9684752eSSowjanya Komatinenititle: Tegra Quad SPI Controller 8*9684752eSSowjanya Komatineni 9*9684752eSSowjanya Komatinenimaintainers: 10*9684752eSSowjanya Komatineni - Thierry Reding <thierry.reding@gmail.com> 11*9684752eSSowjanya Komatineni - Jonathan Hunter <jonathanh@nvidia.com> 12*9684752eSSowjanya Komatineni 13*9684752eSSowjanya KomatineniallOf: 14*9684752eSSowjanya Komatineni - $ref: "spi-controller.yaml#" 15*9684752eSSowjanya Komatineni 16*9684752eSSowjanya Komatineniproperties: 17*9684752eSSowjanya Komatineni compatible: 18*9684752eSSowjanya Komatineni enum: 19*9684752eSSowjanya Komatineni - nvidia,tegra210-qspi 20*9684752eSSowjanya Komatineni - nvidia,tegra186-qspi 21*9684752eSSowjanya Komatineni - nvidia,tegra194-qspi 22*9684752eSSowjanya Komatineni 23*9684752eSSowjanya Komatineni reg: 24*9684752eSSowjanya Komatineni maxItems: 1 25*9684752eSSowjanya Komatineni 26*9684752eSSowjanya Komatineni interrupts: 27*9684752eSSowjanya Komatineni maxItems: 1 28*9684752eSSowjanya Komatineni 29*9684752eSSowjanya Komatineni clock-names: 30*9684752eSSowjanya Komatineni items: 31*9684752eSSowjanya Komatineni - const: qspi 32*9684752eSSowjanya Komatineni - const: qspi_out 33*9684752eSSowjanya Komatineni 34*9684752eSSowjanya Komatineni clocks: 35*9684752eSSowjanya Komatineni maxItems: 2 36*9684752eSSowjanya Komatineni 37*9684752eSSowjanya Komatineni resets: 38*9684752eSSowjanya Komatineni maxItems: 1 39*9684752eSSowjanya Komatineni 40*9684752eSSowjanya Komatineni dmas: 41*9684752eSSowjanya Komatineni maxItems: 2 42*9684752eSSowjanya Komatineni 43*9684752eSSowjanya Komatineni dma-names: 44*9684752eSSowjanya Komatineni items: 45*9684752eSSowjanya Komatineni - const: rx 46*9684752eSSowjanya Komatineni - const: tx 47*9684752eSSowjanya Komatineni 48*9684752eSSowjanya KomatinenipatternProperties: 49*9684752eSSowjanya Komatineni "@[0-9a-f]+": 50*9684752eSSowjanya Komatineni type: object 51*9684752eSSowjanya Komatineni 52*9684752eSSowjanya Komatineni properties: 53*9684752eSSowjanya Komatineni spi-rx-bus-width: 54*9684752eSSowjanya Komatineni enum: [1, 2, 4] 55*9684752eSSowjanya Komatineni 56*9684752eSSowjanya Komatineni spi-tx-bus-width: 57*9684752eSSowjanya Komatineni enum: [1, 2, 4] 58*9684752eSSowjanya Komatineni 59*9684752eSSowjanya Komatineni nvidia,tx-clk-tap-delay: 60*9684752eSSowjanya Komatineni description: 61*9684752eSSowjanya Komatineni Delays the clock going out to device with this tap value. 62*9684752eSSowjanya Komatineni Tap value varies based on platform design trace lengths from Tegra 63*9684752eSSowjanya Komatineni QSPI to corresponding slave device. 64*9684752eSSowjanya Komatineni $ref: /schemas/types.yaml#/definitions/uint32 65*9684752eSSowjanya Komatineni minimum: 0 66*9684752eSSowjanya Komatineni maximum: 31 67*9684752eSSowjanya Komatineni 68*9684752eSSowjanya Komatineni nvidia,rx-clk-tap-delay: 69*9684752eSSowjanya Komatineni description: 70*9684752eSSowjanya Komatineni Delays the clock coming in from the device with this tap value. 71*9684752eSSowjanya Komatineni Tap value varies based on platform design trace lengths from Tegra 72*9684752eSSowjanya Komatineni QSPI to corresponding slave device. 73*9684752eSSowjanya Komatineni $ref: /schemas/types.yaml#/definitions/uint32 74*9684752eSSowjanya Komatineni minimum: 0 75*9684752eSSowjanya Komatineni maximum: 255 76*9684752eSSowjanya Komatineni 77*9684752eSSowjanya Komatineni required: 78*9684752eSSowjanya Komatineni - reg 79*9684752eSSowjanya Komatineni 80*9684752eSSowjanya Komatinenirequired: 81*9684752eSSowjanya Komatineni - compatible 82*9684752eSSowjanya Komatineni - reg 83*9684752eSSowjanya Komatineni - interrupts 84*9684752eSSowjanya Komatineni - clock-names 85*9684752eSSowjanya Komatineni - clocks 86*9684752eSSowjanya Komatineni - resets 87*9684752eSSowjanya Komatineni 88*9684752eSSowjanya KomatineniunevaluatedProperties: false 89*9684752eSSowjanya Komatineni 90*9684752eSSowjanya Komatineniexamples: 91*9684752eSSowjanya Komatineni - | 92*9684752eSSowjanya Komatineni #include <dt-bindings/clock/tegra210-car.h> 93*9684752eSSowjanya Komatineni #include <dt-bindings/reset/tegra210-car.h> 94*9684752eSSowjanya Komatineni #include <dt-bindings/interrupt-controller/arm-gic.h> 95*9684752eSSowjanya Komatineni spi@70410000 { 96*9684752eSSowjanya Komatineni compatible = "nvidia,tegra210-qspi"; 97*9684752eSSowjanya Komatineni reg = <0x70410000 0x1000>; 98*9684752eSSowjanya Komatineni interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 99*9684752eSSowjanya Komatineni #address-cells = <1>; 100*9684752eSSowjanya Komatineni #size-cells = <0>; 101*9684752eSSowjanya Komatineni clocks = <&tegra_car TEGRA210_CLK_QSPI>, 102*9684752eSSowjanya Komatineni <&tegra_car TEGRA210_CLK_QSPI_PM>; 103*9684752eSSowjanya Komatineni clock-names = "qspi", "qspi_out"; 104*9684752eSSowjanya Komatineni resets = <&tegra_car 211>; 105*9684752eSSowjanya Komatineni dmas = <&apbdma 5>, <&apbdma 5>; 106*9684752eSSowjanya Komatineni dma-names = "rx", "tx"; 107*9684752eSSowjanya Komatineni 108*9684752eSSowjanya Komatineni flash@0 { 109*9684752eSSowjanya Komatineni compatible = "spi-nor"; 110*9684752eSSowjanya Komatineni reg = <0>; 111*9684752eSSowjanya Komatineni spi-max-frequency = <104000000>; 112*9684752eSSowjanya Komatineni spi-tx-bus-width = <2>; 113*9684752eSSowjanya Komatineni spi-rx-bus-width = <2>; 114*9684752eSSowjanya Komatineni nvidia,tx-clk-tap-delay = <0>; 115*9684752eSSowjanya Komatineni nvidia,rx-clk-tap-delay = <0>; 116*9684752eSSowjanya Komatineni }; 117*9684752eSSowjanya Komatineni }; 118