1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/davinci-mcasp-audio.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: McASP Controller for TI SoCs 8 9maintainers: 10 - Jayesh Choudhary <j-choudhary@ti.com> 11 12properties: 13 compatible: 14 enum: 15 - ti,dm646x-mcasp-audio 16 - ti,da830-mcasp-audio 17 - ti,am33xx-mcasp-audio 18 - ti,dra7-mcasp-audio 19 - ti,omap4-mcasp-audio 20 21 reg: 22 minItems: 1 23 items: 24 - description: CFG registers 25 - description: data registers 26 27 reg-names: 28 minItems: 1 29 items: 30 - const: mpu 31 - const: dat 32 33 op-mode: 34 $ref: /schemas/types.yaml#/definitions/uint32 35 description: 0 - I2S or 1 - DIT operation mode 36 enum: 37 - 0 38 - 1 39 40 tdm-slots: 41 $ref: /schemas/types.yaml#/definitions/uint32 42 description: 43 number of channels over one serializer 44 the property is ignored in DIT mode 45 minimum: 2 46 maximum: 32 47 48 serial-dir: 49 description: 50 A list of serializer configuration 51 Entry is indication for serializer pin direction 52 0 - Inactive, 1 - TX, 2 - RX 53 All AXR pins should be present in the array even if inactive 54 $ref: /schemas/types.yaml#/definitions/uint32-array 55 minItems: 1 56 maxItems: 25 57 items: 58 minimum: 0 59 maximum: 2 60 61 dmas: 62 minItems: 1 63 items: 64 - description: transmission DMA channel 65 - description: reception DMA channel 66 67 dma-names: 68 minItems: 1 69 items: 70 - const: tx 71 - const: rx 72 73 ti,hwmods: 74 $ref: /schemas/types.yaml#/definitions/string 75 description: Name of hwmod associated with McASP 76 maxItems: 1 77 deprecated: true 78 79 tx-num-evt: 80 $ref: /schemas/types.yaml#/definitions/uint32 81 description: 82 configures WFIFO threshold 83 0 disables the FIFO use 84 if property is missing, then also FIFO use is disabled 85 86 rx-num-evt: 87 $ref: /schemas/types.yaml#/definitions/uint32 88 description: 89 configures RFIFO threshold 90 0 disables the FIFO use 91 if property is missing, then also FIFO use is disabled 92 93 dismod: 94 $ref: /schemas/types.yaml#/definitions/uint32 95 description: 96 specify the drive on TX pin during inactive time slots 97 0 - 3-state, 2 - logic low, 3 - logic high 98 enum: 99 - 0 100 - 2 101 - 3 102 default: 2 103 104 interrupts: 105 anyOf: 106 - minItems: 1 107 items: 108 - description: TX interrupt 109 - description: RX interrupt 110 - items: 111 - description: common/combined interrupt 112 113 interrupt-names: 114 oneOf: 115 - minItems: 1 116 items: 117 - const: tx 118 - const: rx 119 - const: common 120 121 fck_parent: 122 $ref: /schemas/types.yaml#/definitions/string 123 description: parent clock name for McASP fck 124 maxItems: 1 125 126 auxclk-fs-ratio: 127 $ref: /schemas/types.yaml#/definitions/uint32 128 description: ratio of AUCLK and FS rate if applicable 129 130 gpio-controller: true 131 132 "#gpio-cells": 133 const: 2 134 135 clocks: 136 minItems: 1 137 items: 138 - description: functional clock 139 - description: module specific optional ahclkx clock 140 - description: module specific optional ahclkr clock 141 142 clock-names: 143 minItems: 1 144 items: 145 - const: fck 146 - const: ahclkx 147 - const: ahclkr 148 149 power-domains: 150 description: phandle to the corresponding power-domain 151 maxItems: 1 152 153 "#sound-dai-cells": 154 const: 0 155 156 port: 157 description: connection for when McASP is used via graph card 158 type: object 159 160required: 161 - compatible 162 - reg 163 - reg-names 164 - dmas 165 - dma-names 166 - interrupts 167 - interrupt-names 168 169allOf: 170 - $ref: dai-common.yaml# 171 - if: 172 properties: 173 opmode: 174 enum: 175 - 0 176 177 then: 178 required: 179 - tdm-slots 180 181unevaluatedProperties: false 182 183examples: 184 - | 185 mcasp0: mcasp0@1d00000 { 186 compatible = "ti,da830-mcasp-audio"; 187 reg = <0x100000 0x3000>; 188 reg-names = "mpu"; 189 interrupts = <82>, <83>; 190 interrupt-names = "tx", "rx"; 191 op-mode = <0>; /* MCASP_IIS_MODE */ 192 tdm-slots = <2>; 193 dmas = <&main_udmap 0xc400>, <&main_udmap 0x4400>; 194 dma-names = "tx", "rx"; 195 serial-dir = < 196 0 0 0 0 /* 0: INACTIVE, 1: TX, 2: RX */ 197 0 0 0 0 198 0 0 0 1 199 2 0 0 0 >; 200 tx-num-evt = <1>; 201 rx-num-evt = <1>; 202 }; 203