1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c66ec88fSEmmanuel Vadot%YAML 1.2 3*c66ec88fSEmmanuel Vadot--- 4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra210-admaif.yaml# 5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadottitle: Tegra210 ADMAIF Device Tree Bindings 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadotdescription: | 10*c66ec88fSEmmanuel Vadot ADMAIF is the interface between ADMA and AHUB. Each ADMA channel 11*c66ec88fSEmmanuel Vadot that sends/receives data to/from AHUB must interface through an 12*c66ec88fSEmmanuel Vadot ADMAIF channel. ADMA channel sending data to AHUB pairs with ADMAIF 13*c66ec88fSEmmanuel Vadot Tx channel and ADMA channel receiving data from AHUB pairs with 14*c66ec88fSEmmanuel Vadot ADMAIF Rx channel. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadotmaintainers: 17*c66ec88fSEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 18*c66ec88fSEmmanuel Vadot - Sameer Pujar <spujar@nvidia.com> 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadotproperties: 21*c66ec88fSEmmanuel Vadot $nodename: 22*c66ec88fSEmmanuel Vadot pattern: "^admaif@[0-9a-f]*$" 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot compatible: 25*c66ec88fSEmmanuel Vadot oneOf: 26*c66ec88fSEmmanuel Vadot - enum: 27*c66ec88fSEmmanuel Vadot - nvidia,tegra210-admaif 28*c66ec88fSEmmanuel Vadot - nvidia,tegra186-admaif 29*c66ec88fSEmmanuel Vadot - items: 30*c66ec88fSEmmanuel Vadot - const: nvidia,tegra194-admaif 31*c66ec88fSEmmanuel Vadot - const: nvidia,tegra186-admaif 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot reg: 34*c66ec88fSEmmanuel Vadot maxItems: 1 35*c66ec88fSEmmanuel Vadot 36*c66ec88fSEmmanuel Vadot dmas: true 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot dma-names: true 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadotif: 41*c66ec88fSEmmanuel Vadot properties: 42*c66ec88fSEmmanuel Vadot compatible: 43*c66ec88fSEmmanuel Vadot contains: 44*c66ec88fSEmmanuel Vadot const: nvidia,tegra210-admaif 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadotthen: 47*c66ec88fSEmmanuel Vadot properties: 48*c66ec88fSEmmanuel Vadot dmas: 49*c66ec88fSEmmanuel Vadot description: 50*c66ec88fSEmmanuel Vadot DMA channel specifiers, equally divided for Tx and Rx. 51*c66ec88fSEmmanuel Vadot minItems: 1 52*c66ec88fSEmmanuel Vadot maxItems: 20 53*c66ec88fSEmmanuel Vadot dma-names: 54*c66ec88fSEmmanuel Vadot items: 55*c66ec88fSEmmanuel Vadot pattern: "^[rt]x(10|[1-9])$" 56*c66ec88fSEmmanuel Vadot description: 57*c66ec88fSEmmanuel Vadot Should be "rx1", "rx2" ... "rx10" for DMA Rx channel 58*c66ec88fSEmmanuel Vadot Should be "tx1", "tx2" ... "tx10" for DMA Tx channel 59*c66ec88fSEmmanuel Vadot minItems: 1 60*c66ec88fSEmmanuel Vadot maxItems: 20 61*c66ec88fSEmmanuel Vadot 62*c66ec88fSEmmanuel Vadotelse: 63*c66ec88fSEmmanuel Vadot properties: 64*c66ec88fSEmmanuel Vadot dmas: 65*c66ec88fSEmmanuel Vadot description: 66*c66ec88fSEmmanuel Vadot DMA channel specifiers, equally divided for Tx and Rx. 67*c66ec88fSEmmanuel Vadot minItems: 1 68*c66ec88fSEmmanuel Vadot maxItems: 40 69*c66ec88fSEmmanuel Vadot dma-names: 70*c66ec88fSEmmanuel Vadot items: 71*c66ec88fSEmmanuel Vadot pattern: "^[rt]x(1[0-9]|[1-9]|20)$" 72*c66ec88fSEmmanuel Vadot description: 73*c66ec88fSEmmanuel Vadot Should be "rx1", "rx2" ... "rx20" for DMA Rx channel 74*c66ec88fSEmmanuel Vadot Should be "tx1", "tx2" ... "tx20" for DMA Tx channel 75*c66ec88fSEmmanuel Vadot minItems: 1 76*c66ec88fSEmmanuel Vadot maxItems: 40 77*c66ec88fSEmmanuel Vadot 78*c66ec88fSEmmanuel Vadotrequired: 79*c66ec88fSEmmanuel Vadot - compatible 80*c66ec88fSEmmanuel Vadot - reg 81*c66ec88fSEmmanuel Vadot - dmas 82*c66ec88fSEmmanuel Vadot - dma-names 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel Vadotexamples: 85*c66ec88fSEmmanuel Vadot - | 86*c66ec88fSEmmanuel Vadot admaif@702d0000 { 87*c66ec88fSEmmanuel Vadot compatible = "nvidia,tegra210-admaif"; 88*c66ec88fSEmmanuel Vadot reg = <0x702d0000 0x800>; 89*c66ec88fSEmmanuel Vadot dmas = <&adma 1>, <&adma 1>, 90*c66ec88fSEmmanuel Vadot <&adma 2>, <&adma 2>, 91*c66ec88fSEmmanuel Vadot <&adma 3>, <&adma 3>, 92*c66ec88fSEmmanuel Vadot <&adma 4>, <&adma 4>, 93*c66ec88fSEmmanuel Vadot <&adma 5>, <&adma 5>, 94*c66ec88fSEmmanuel Vadot <&adma 6>, <&adma 6>, 95*c66ec88fSEmmanuel Vadot <&adma 7>, <&adma 7>, 96*c66ec88fSEmmanuel Vadot <&adma 8>, <&adma 8>, 97*c66ec88fSEmmanuel Vadot <&adma 9>, <&adma 9>, 98*c66ec88fSEmmanuel Vadot <&adma 10>, <&adma 10>; 99*c66ec88fSEmmanuel Vadot dma-names = "rx1", "tx1", 100*c66ec88fSEmmanuel Vadot "rx2", "tx2", 101*c66ec88fSEmmanuel Vadot "rx3", "tx3", 102*c66ec88fSEmmanuel Vadot "rx4", "tx4", 103*c66ec88fSEmmanuel Vadot "rx5", "tx5", 104*c66ec88fSEmmanuel Vadot "rx6", "tx6", 105*c66ec88fSEmmanuel Vadot "rx7", "tx7", 106*c66ec88fSEmmanuel Vadot "rx8", "tx8", 107*c66ec88fSEmmanuel Vadot "rx9", "tx9", 108*c66ec88fSEmmanuel Vadot "rx10", "tx10"; 109*c66ec88fSEmmanuel Vadot }; 110*c66ec88fSEmmanuel Vadot 111*c66ec88fSEmmanuel Vadot... 112