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