1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*aa1a8ff2SEmmanuel Vadot%YAML 1.2 3*aa1a8ff2SEmmanuel Vadot--- 4*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/nvidia,tegra20-slink.yaml# 5*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*aa1a8ff2SEmmanuel Vadot 7*aa1a8ff2SEmmanuel Vadottitle: NVIDIA Tegra20/30 SLINK controller 8*aa1a8ff2SEmmanuel Vadot 9*aa1a8ff2SEmmanuel Vadotmaintainers: 10*aa1a8ff2SEmmanuel Vadot - Thierry Reding <thierry.reding@gmail.com> 11*aa1a8ff2SEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 12*aa1a8ff2SEmmanuel Vadot 13*aa1a8ff2SEmmanuel Vadotproperties: 14*aa1a8ff2SEmmanuel Vadot compatible: 15*aa1a8ff2SEmmanuel Vadot enum: 16*aa1a8ff2SEmmanuel Vadot - nvidia,tegra20-slink 17*aa1a8ff2SEmmanuel Vadot - nvidia,tegra30-slink 18*aa1a8ff2SEmmanuel Vadot 19*aa1a8ff2SEmmanuel Vadot reg: 20*aa1a8ff2SEmmanuel Vadot maxItems: 1 21*aa1a8ff2SEmmanuel Vadot 22*aa1a8ff2SEmmanuel Vadot interrupts: 23*aa1a8ff2SEmmanuel Vadot maxItems: 1 24*aa1a8ff2SEmmanuel Vadot 25*aa1a8ff2SEmmanuel Vadot clocks: 26*aa1a8ff2SEmmanuel Vadot items: 27*aa1a8ff2SEmmanuel Vadot - description: module clock 28*aa1a8ff2SEmmanuel Vadot 29*aa1a8ff2SEmmanuel Vadot resets: 30*aa1a8ff2SEmmanuel Vadot items: 31*aa1a8ff2SEmmanuel Vadot - description: module reset 32*aa1a8ff2SEmmanuel Vadot 33*aa1a8ff2SEmmanuel Vadot reset-names: 34*aa1a8ff2SEmmanuel Vadot items: 35*aa1a8ff2SEmmanuel Vadot - const: spi 36*aa1a8ff2SEmmanuel Vadot 37*aa1a8ff2SEmmanuel Vadot dmas: 38*aa1a8ff2SEmmanuel Vadot items: 39*aa1a8ff2SEmmanuel Vadot - description: DMA channel used for reception 40*aa1a8ff2SEmmanuel Vadot - description: DMA channel used for transmission 41*aa1a8ff2SEmmanuel Vadot 42*aa1a8ff2SEmmanuel Vadot dma-names: 43*aa1a8ff2SEmmanuel Vadot items: 44*aa1a8ff2SEmmanuel Vadot - const: rx 45*aa1a8ff2SEmmanuel Vadot - const: tx 46*aa1a8ff2SEmmanuel Vadot 47*aa1a8ff2SEmmanuel Vadot operating-points-v2: 48*aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 49*aa1a8ff2SEmmanuel Vadot 50*aa1a8ff2SEmmanuel Vadot power-domains: 51*aa1a8ff2SEmmanuel Vadot items: 52*aa1a8ff2SEmmanuel Vadot - description: phandle to the core power domain 53*aa1a8ff2SEmmanuel Vadot 54*aa1a8ff2SEmmanuel Vadot spi-max-frequency: 55*aa1a8ff2SEmmanuel Vadot description: Maximum SPI clocking speed of the controller in Hz. 56*aa1a8ff2SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 57*aa1a8ff2SEmmanuel Vadot 58*aa1a8ff2SEmmanuel VadotallOf: 59*aa1a8ff2SEmmanuel Vadot - $ref: spi-controller.yaml 60*aa1a8ff2SEmmanuel Vadot 61*aa1a8ff2SEmmanuel VadotunevaluatedProperties: false 62*aa1a8ff2SEmmanuel Vadot 63*aa1a8ff2SEmmanuel Vadotrequired: 64*aa1a8ff2SEmmanuel Vadot - compatible 65*aa1a8ff2SEmmanuel Vadot - reg 66*aa1a8ff2SEmmanuel Vadot - interrupts 67*aa1a8ff2SEmmanuel Vadot - clocks 68*aa1a8ff2SEmmanuel Vadot - resets 69*aa1a8ff2SEmmanuel Vadot - reset-names 70*aa1a8ff2SEmmanuel Vadot - dmas 71*aa1a8ff2SEmmanuel Vadot - dma-names 72*aa1a8ff2SEmmanuel Vadot 73*aa1a8ff2SEmmanuel Vadotexamples: 74*aa1a8ff2SEmmanuel Vadot - | 75*aa1a8ff2SEmmanuel Vadot #include <dt-bindings/clock/tegra20-car.h> 76*aa1a8ff2SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 77*aa1a8ff2SEmmanuel Vadot 78*aa1a8ff2SEmmanuel Vadot spi@7000d600 { 79*aa1a8ff2SEmmanuel Vadot compatible = "nvidia,tegra20-slink"; 80*aa1a8ff2SEmmanuel Vadot reg = <0x7000d600 0x200>; 81*aa1a8ff2SEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 82*aa1a8ff2SEmmanuel Vadot spi-max-frequency = <25000000>; 83*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 84*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 85*aa1a8ff2SEmmanuel Vadot clocks = <&tegra_car TEGRA20_CLK_SBC2>; 86*aa1a8ff2SEmmanuel Vadot resets = <&tegra_car 44>; 87*aa1a8ff2SEmmanuel Vadot reset-names = "spi"; 88*aa1a8ff2SEmmanuel Vadot dmas = <&apbdma 16>, <&apbdma 16>; 89*aa1a8ff2SEmmanuel Vadot dma-names = "rx", "tx"; 90*aa1a8ff2SEmmanuel Vadot }; 91