xref: /openbmc/linux/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml (revision e50e86dbcabda570fc8a1435fe2fca97e9ab7312)
18be90641SJayesh Choudhary# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28be90641SJayesh Choudhary%YAML 1.2
38be90641SJayesh Choudhary---
48be90641SJayesh Choudhary$id: http://devicetree.org/schemas/sound/davinci-mcasp-audio.yaml#
58be90641SJayesh Choudhary$schema: http://devicetree.org/meta-schemas/core.yaml#
68be90641SJayesh Choudhary
78be90641SJayesh Choudharytitle: McASP Controller for TI SoCs
88be90641SJayesh Choudhary
98be90641SJayesh Choudharymaintainers:
108be90641SJayesh Choudhary  - Jayesh Choudhary <j-choudhary@ti.com>
118be90641SJayesh Choudhary
128be90641SJayesh Choudharyproperties:
138be90641SJayesh Choudhary  compatible:
148be90641SJayesh Choudhary    enum:
158be90641SJayesh Choudhary      - ti,dm646x-mcasp-audio
168be90641SJayesh Choudhary      - ti,da830-mcasp-audio
178be90641SJayesh Choudhary      - ti,am33xx-mcasp-audio
188be90641SJayesh Choudhary      - ti,dra7-mcasp-audio
198be90641SJayesh Choudhary      - ti,omap4-mcasp-audio
208be90641SJayesh Choudhary
218be90641SJayesh Choudhary  reg:
228be90641SJayesh Choudhary    minItems: 1
238be90641SJayesh Choudhary    items:
248be90641SJayesh Choudhary      - description: CFG registers
258be90641SJayesh Choudhary      - description: data registers
268be90641SJayesh Choudhary
278be90641SJayesh Choudhary  reg-names:
288be90641SJayesh Choudhary    minItems: 1
298be90641SJayesh Choudhary    items:
308be90641SJayesh Choudhary      - const: mpu
318be90641SJayesh Choudhary      - const: dat
328be90641SJayesh Choudhary
338be90641SJayesh Choudhary  op-mode:
348be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
358be90641SJayesh Choudhary    description: 0 - I2S or 1 - DIT operation mode
368be90641SJayesh Choudhary    enum:
378be90641SJayesh Choudhary      - 0
388be90641SJayesh Choudhary      - 1
398be90641SJayesh Choudhary
408be90641SJayesh Choudhary  tdm-slots:
418be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
428be90641SJayesh Choudhary    description:
438be90641SJayesh Choudhary      number of channels over one serializer
448be90641SJayesh Choudhary      the property is ignored in DIT mode
458be90641SJayesh Choudhary    minimum: 2
468be90641SJayesh Choudhary    maximum: 32
478be90641SJayesh Choudhary
488be90641SJayesh Choudhary  serial-dir:
498be90641SJayesh Choudhary    description:
508be90641SJayesh Choudhary      A list of serializer configuration
518be90641SJayesh Choudhary      Entry is indication for serializer pin direction
528be90641SJayesh Choudhary      0 - Inactive, 1 - TX, 2 - RX
538be90641SJayesh Choudhary      All AXR pins should be present in the array even if inactive
548be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32-array
558be90641SJayesh Choudhary    minItems: 1
568be90641SJayesh Choudhary    maxItems: 25
578be90641SJayesh Choudhary    items:
588be90641SJayesh Choudhary      minimum: 0
598be90641SJayesh Choudhary      maximum: 2
608be90641SJayesh Choudhary
618be90641SJayesh Choudhary  dmas:
628be90641SJayesh Choudhary    minItems: 1
638be90641SJayesh Choudhary    items:
648be90641SJayesh Choudhary      - description: transmission DMA channel
658be90641SJayesh Choudhary      - description: reception DMA channel
668be90641SJayesh Choudhary
678be90641SJayesh Choudhary  dma-names:
688be90641SJayesh Choudhary    minItems: 1
698be90641SJayesh Choudhary    items:
708be90641SJayesh Choudhary      - const: tx
718be90641SJayesh Choudhary      - const: rx
728be90641SJayesh Choudhary
738be90641SJayesh Choudhary  ti,hwmods:
748be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/string
758be90641SJayesh Choudhary    description: Name of hwmod associated with McASP
768be90641SJayesh Choudhary    maxItems: 1
778be90641SJayesh Choudhary    deprecated: true
788be90641SJayesh Choudhary
798be90641SJayesh Choudhary  tx-num-evt:
808be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
818be90641SJayesh Choudhary    description:
828be90641SJayesh Choudhary      configures WFIFO threshold
838be90641SJayesh Choudhary      0 disables the FIFO use
848be90641SJayesh Choudhary      if property is missing, then also FIFO use is disabled
858be90641SJayesh Choudhary
868be90641SJayesh Choudhary  rx-num-evt:
878be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
888be90641SJayesh Choudhary    description:
898be90641SJayesh Choudhary      configures RFIFO threshold
908be90641SJayesh Choudhary      0 disables the FIFO use
918be90641SJayesh Choudhary      if property is missing, then also FIFO use is disabled
928be90641SJayesh Choudhary
938be90641SJayesh Choudhary  dismod:
948be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
958be90641SJayesh Choudhary    description:
968be90641SJayesh Choudhary      specify the drive on TX pin during inactive time slots
978be90641SJayesh Choudhary      0 - 3-state, 2 - logic low, 3 - logic high
988be90641SJayesh Choudhary    enum:
998be90641SJayesh Choudhary      - 0
1008be90641SJayesh Choudhary      - 2
1018be90641SJayesh Choudhary      - 3
1028be90641SJayesh Choudhary    default: 2
1038be90641SJayesh Choudhary
1048be90641SJayesh Choudhary  interrupts:
105*f10cba3fSMiquel Raynal    minItems: 1
106*f10cba3fSMiquel Raynal    maxItems: 2
1078be90641SJayesh Choudhary
1088be90641SJayesh Choudhary  interrupt-names:
1098be90641SJayesh Choudhary    oneOf:
110*f10cba3fSMiquel Raynal      - description: TX interrupt
111*f10cba3fSMiquel Raynal        const: tx
112*f10cba3fSMiquel Raynal      - description: RX interrupt
113*f10cba3fSMiquel Raynal        const: rx
114*f10cba3fSMiquel Raynal      - description: TX and RX interrupts
1158be90641SJayesh Choudhary        items:
1168be90641SJayesh Choudhary          - const: tx
1178be90641SJayesh Choudhary          - const: rx
118*f10cba3fSMiquel Raynal      - description: Common/combined interrupt
119*f10cba3fSMiquel Raynal        const: common
1208be90641SJayesh Choudhary
1218be90641SJayesh Choudhary  fck_parent:
1228be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/string
1238be90641SJayesh Choudhary    description: parent clock name for McASP fck
1248be90641SJayesh Choudhary    maxItems: 1
1258be90641SJayesh Choudhary
1268be90641SJayesh Choudhary  auxclk-fs-ratio:
1278be90641SJayesh Choudhary    $ref: /schemas/types.yaml#/definitions/uint32
1288be90641SJayesh Choudhary    description: ratio of AUCLK and FS rate if applicable
1298be90641SJayesh Choudhary
1308be90641SJayesh Choudhary  gpio-controller: true
1318be90641SJayesh Choudhary
1328be90641SJayesh Choudhary  "#gpio-cells":
1338be90641SJayesh Choudhary    const: 2
1348be90641SJayesh Choudhary
1358be90641SJayesh Choudhary  clocks:
1368be90641SJayesh Choudhary    minItems: 1
1378be90641SJayesh Choudhary    items:
1388be90641SJayesh Choudhary      - description: functional clock
1398be90641SJayesh Choudhary      - description: module specific optional ahclkx clock
1408be90641SJayesh Choudhary      - description: module specific optional ahclkr clock
1418be90641SJayesh Choudhary
1428be90641SJayesh Choudhary  clock-names:
1438be90641SJayesh Choudhary    minItems: 1
1448be90641SJayesh Choudhary    items:
1458be90641SJayesh Choudhary      - const: fck
1468be90641SJayesh Choudhary      - const: ahclkx
1478be90641SJayesh Choudhary      - const: ahclkr
1488be90641SJayesh Choudhary
1498be90641SJayesh Choudhary  power-domains:
1508be90641SJayesh Choudhary    description: phandle to the corresponding power-domain
1518be90641SJayesh Choudhary    maxItems: 1
1528be90641SJayesh Choudhary
1538be90641SJayesh Choudhary  "#sound-dai-cells":
1548be90641SJayesh Choudhary    const: 0
1558be90641SJayesh Choudhary
1568be90641SJayesh Choudhary  port:
1578be90641SJayesh Choudhary    description: connection for when McASP is used via graph card
1588be90641SJayesh Choudhary    type: object
1598be90641SJayesh Choudhary
1608be90641SJayesh Choudharyrequired:
1618be90641SJayesh Choudhary  - compatible
1628be90641SJayesh Choudhary  - reg
1638be90641SJayesh Choudhary  - reg-names
1648be90641SJayesh Choudhary  - dmas
1658be90641SJayesh Choudhary  - dma-names
1668be90641SJayesh Choudhary  - interrupts
1678be90641SJayesh Choudhary  - interrupt-names
1688be90641SJayesh Choudhary
1698be90641SJayesh ChoudharyallOf:
17058ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1718be90641SJayesh Choudhary  - if:
1728be90641SJayesh Choudhary      properties:
1738be90641SJayesh Choudhary        opmode:
1748be90641SJayesh Choudhary          enum:
1758be90641SJayesh Choudhary            - 0
1768be90641SJayesh Choudhary
1778be90641SJayesh Choudhary    then:
1788be90641SJayesh Choudhary      required:
1798be90641SJayesh Choudhary        - tdm-slots
1808be90641SJayesh Choudhary
18158ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
1828be90641SJayesh Choudhary
1838be90641SJayesh Choudharyexamples:
1848be90641SJayesh Choudhary  - |
1858be90641SJayesh Choudhary    mcasp0: mcasp0@1d00000 {
1868be90641SJayesh Choudhary      compatible = "ti,da830-mcasp-audio";
1878be90641SJayesh Choudhary      reg = <0x100000 0x3000>;
1888be90641SJayesh Choudhary      reg-names = "mpu";
1898be90641SJayesh Choudhary      interrupts = <82>, <83>;
1908be90641SJayesh Choudhary      interrupt-names = "tx", "rx";
1918be90641SJayesh Choudhary      op-mode = <0>;		/* MCASP_IIS_MODE */
1928be90641SJayesh Choudhary      tdm-slots = <2>;
1938be90641SJayesh Choudhary      dmas = <&main_udmap 0xc400>, <&main_udmap 0x4400>;
1948be90641SJayesh Choudhary      dma-names = "tx", "rx";
1958be90641SJayesh Choudhary      serial-dir = <
1968be90641SJayesh Choudhary          0 0 0 0	/* 0: INACTIVE, 1: TX, 2: RX */
1978be90641SJayesh Choudhary          0 0 0 0
1988be90641SJayesh Choudhary          0 0 0 1
1998be90641SJayesh Choudhary          2 0 0 0 >;
2008be90641SJayesh Choudhary      tx-num-evt = <1>;
2018be90641SJayesh Choudhary      rx-num-evt = <1>;
2028be90641SJayesh Choudhary    };
203