xref: /linux/Documentation/devicetree/bindings/sound/fsl,spdif.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
1c5040fecSAnson Huang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c5040fecSAnson Huang%YAML 1.2
3c5040fecSAnson Huang---
4c5040fecSAnson Huang$id: http://devicetree.org/schemas/sound/fsl,spdif.yaml#
5c5040fecSAnson Huang$schema: http://devicetree.org/meta-schemas/core.yaml#
6c5040fecSAnson Huang
7c5040fecSAnson Huangtitle: Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller
8c5040fecSAnson Huang
9c5040fecSAnson Huangmaintainers:
10c5040fecSAnson Huang  - Shengjiu Wang <shengjiu.wang@nxp.com>
11c5040fecSAnson Huang
12c5040fecSAnson Huangdescription: |
13c5040fecSAnson Huang  The Freescale S/PDIF audio block is a stereo transceiver that allows the
14c5040fecSAnson Huang  processor to receive and transmit digital audio via an coaxial cable or
15c5040fecSAnson Huang  a fibre cable.
16c5040fecSAnson Huang
17c5040fecSAnson Huangproperties:
18c5040fecSAnson Huang  compatible:
19*82e54d65SFabio Estevam    oneOf:
20*82e54d65SFabio Estevam      - items:
21*82e54d65SFabio Estevam          - enum:
22c5040fecSAnson Huang              - fsl,imx35-spdif
23c5040fecSAnson Huang              - fsl,imx6sx-spdif
249deef665SShengjiu Wang              - fsl,imx8mm-spdif
259deef665SShengjiu Wang              - fsl,imx8mn-spdif
26*82e54d65SFabio Estevam              - fsl,imx8mq-spdif
27*82e54d65SFabio Estevam              - fsl,imx8qm-spdif
28*82e54d65SFabio Estevam              - fsl,imx8qxp-spdif
29cb7d734eSShengjiu Wang              - fsl,imx8ulp-spdif
30*82e54d65SFabio Estevam              - fsl,vf610-spdif
31*82e54d65SFabio Estevam      - items:
32*82e54d65SFabio Estevam          - enum:
33*82e54d65SFabio Estevam              - fsl,imx6sl-spdif
34*82e54d65SFabio Estevam              - fsl,imx6sx-spdif
35*82e54d65SFabio Estevam          - const: fsl,imx35-spdif
36c5040fecSAnson Huang
37c5040fecSAnson Huang  reg:
38c5040fecSAnson Huang    maxItems: 1
39c5040fecSAnson Huang
40c5040fecSAnson Huang  interrupts:
4182330327SFrank Li    minItems: 1
4282330327SFrank Li    items:
4382330327SFrank Li      - description: Combined or receive interrupt
4482330327SFrank Li      - description: Transmit interrupt
45c5040fecSAnson Huang
46c5040fecSAnson Huang  dmas:
47c5040fecSAnson Huang    items:
48c5040fecSAnson Huang      - description: DMA controller phandle and request line for RX
49c5040fecSAnson Huang      - description: DMA controller phandle and request line for TX
50c5040fecSAnson Huang
51c5040fecSAnson Huang  dma-names:
52c5040fecSAnson Huang    items:
53c5040fecSAnson Huang      - const: rx
54c5040fecSAnson Huang      - const: tx
55c5040fecSAnson Huang
56c5040fecSAnson Huang  clocks:
57c5040fecSAnson Huang    items:
58c5040fecSAnson Huang      - description: The core clock of spdif controller.
59c5040fecSAnson Huang      - description: Clock for tx0 and rx0.
60c5040fecSAnson Huang      - description: Clock for tx1 and rx1.
61c5040fecSAnson Huang      - description: Clock for tx2 and rx2.
62c5040fecSAnson Huang      - description: Clock for tx3 and rx3.
63c5040fecSAnson Huang      - description: Clock for tx4 and rx4.
64c5040fecSAnson Huang      - description: Clock for tx5 and rx5.
65c5040fecSAnson Huang      - description: Clock for tx6 and rx6.
66c5040fecSAnson Huang      - description: Clock for tx7 and rx7.
67c5040fecSAnson Huang      - description: The spba clock is required when SPDIF is placed as a bus
68c5040fecSAnson Huang          slave of the Shared Peripheral Bus and when two or more bus masters
69c5040fecSAnson Huang          (CPU, DMA or DSP) try to access it. This property is optional depending
70c5040fecSAnson Huang          on the SoC design.
71df0835a8SShengjiu Wang      - description: PLL clock source for 8kHz series rate, optional.
72df0835a8SShengjiu Wang      - description: PLL clock source for 11khz series rate, optional.
73c5040fecSAnson Huang    minItems: 9
74c5040fecSAnson Huang
75c5040fecSAnson Huang  clock-names:
76c5040fecSAnson Huang    items:
77c5040fecSAnson Huang      - const: core
78c5040fecSAnson Huang      - const: rxtx0
79c5040fecSAnson Huang      - const: rxtx1
80c5040fecSAnson Huang      - const: rxtx2
81c5040fecSAnson Huang      - const: rxtx3
82c5040fecSAnson Huang      - const: rxtx4
83c5040fecSAnson Huang      - const: rxtx5
84c5040fecSAnson Huang      - const: rxtx6
85c5040fecSAnson Huang      - const: rxtx7
86c5040fecSAnson Huang      - const: spba
87df0835a8SShengjiu Wang      - const: pll8k
88df0835a8SShengjiu Wang      - const: pll11k
89c5040fecSAnson Huang    minItems: 9
90c5040fecSAnson Huang
91c5040fecSAnson Huang  big-endian:
92c5040fecSAnson Huang    $ref: /schemas/types.yaml#/definitions/flag
93c5040fecSAnson Huang    description: |
94c5040fecSAnson Huang      If this property is absent, the native endian mode will be in use
95c5040fecSAnson Huang      as default, or the big endian mode will be in use for all the device
96c5040fecSAnson Huang      registers. Set this flag for HCDs with big endian descriptors and big
97c5040fecSAnson Huang      endian registers.
98c5040fecSAnson Huang
999b215318SFrank Li  power-domains:
1009b215318SFrank Li    maxItems: 1
1019b215318SFrank Li
102c5040fecSAnson Huangrequired:
103c5040fecSAnson Huang  - compatible
104c5040fecSAnson Huang  - reg
105c5040fecSAnson Huang  - interrupts
106c5040fecSAnson Huang  - dmas
107c5040fecSAnson Huang  - dma-names
108c5040fecSAnson Huang  - clocks
109c5040fecSAnson Huang  - clock-names
110c5040fecSAnson Huang
111c5040fecSAnson HuangadditionalProperties: false
112c5040fecSAnson Huang
1139b215318SFrank LiallOf:
1149b215318SFrank Li  - if:
1159b215318SFrank Li      properties:
1169b215318SFrank Li        compatible:
11782330327SFrank Li          enum:
11882330327SFrank Li            - fsl,imx8qm-spdif
11982330327SFrank Li            - fsl,imx8qxp-spdif
12082330327SFrank Li    then:
12182330327SFrank Li      properties:
12282330327SFrank Li        interrupts:
12382330327SFrank Li          minItems: 2
12482330327SFrank Li    else:
12582330327SFrank Li      properties:
12682330327SFrank Li        interrupts:
12782330327SFrank Li          maxItems: 1
12882330327SFrank Li
12982330327SFrank Li  - if:
13082330327SFrank Li      properties:
13182330327SFrank Li        compatible:
1329b215318SFrank Li          contains:
1339b215318SFrank Li            enum:
1349b215318SFrank Li              - fsl,imx8qm-spdif
1359b215318SFrank Li              - fsl,imx8qxp-spdif
1369b215318SFrank Li    then:
1379b215318SFrank Li      required:
1389b215318SFrank Li        - power-domains
1399b215318SFrank Li
140c5040fecSAnson Huangexamples:
141c5040fecSAnson Huang  - |
142c5040fecSAnson Huang    spdif@2004000 {
143c5040fecSAnson Huang        compatible = "fsl,imx35-spdif";
144c5040fecSAnson Huang        reg = <0x02004000 0x4000>;
145c5040fecSAnson Huang        interrupts = <0 52 0x04>;
146c5040fecSAnson Huang        dmas = <&sdma 14 18 0>,
147c5040fecSAnson Huang               <&sdma 15 18 0>;
148c5040fecSAnson Huang        dma-names = "rx", "tx";
149c5040fecSAnson Huang        clocks = <&clks 197>, <&clks 3>,
150c5040fecSAnson Huang                 <&clks 197>, <&clks 107>,
151c5040fecSAnson Huang                 <&clks 0>, <&clks 118>,
152c5040fecSAnson Huang                 <&clks 62>, <&clks 139>,
153c5040fecSAnson Huang                 <&clks 0>;
154c5040fecSAnson Huang        clock-names = "core", "rxtx0",
155c5040fecSAnson Huang                      "rxtx1", "rxtx2",
156c5040fecSAnson Huang                      "rxtx3", "rxtx4",
157c5040fecSAnson Huang                      "rxtx5", "rxtx6",
158c5040fecSAnson Huang                      "rxtx7";
159c5040fecSAnson Huang        big-endian;
160c5040fecSAnson Huang    };
161