Merge branches 'acpi-scan' and 'acpi-prm'
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / fsl,rpmsg.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP Audio RPMSG CPU DAI Controller
8
9 maintainers:
10   - Shengjiu Wang <shengjiu.wang@nxp.com>
11
12 description: |
13   fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
14   are SAI, DMA controlled by Cortex M core. What we see from Linux
15   side is a device which provides audio service by rpmsg channel.
16
17 properties:
18   compatible:
19     enum:
20       - fsl,imx7ulp-rpmsg-audio
21       - fsl,imx8mn-rpmsg-audio
22       - fsl,imx8mm-rpmsg-audio
23       - fsl,imx8mp-rpmsg-audio
24
25   model:
26     $ref: /schemas/types.yaml#/definitions/string
27     description: User specified audio sound card name
28
29   clocks:
30     items:
31       - description: Peripheral clock for register access
32       - description: Master clock
33       - description: DMA clock for DMA register access
34       - description: Parent clock for multiple of 8kHz sample rates
35       - description: Parent clock for multiple of 11kHz sample rates
36
37   clock-names:
38     items:
39       - const: ipg
40       - const: mclk
41       - const: dma
42       - const: pll8k
43       - const: pll11k
44
45   power-domains:
46     description:
47       List of phandle and PM domain specifier as documented in
48       Documentation/devicetree/bindings/power/power_domain.txt
49     maxItems: 1
50
51   memory-region:
52     maxItems: 1
53     description:
54       phandle to a node describing reserved memory (System RAM memory)
55       The M core can't access all the DDR memory space on some platform,
56       So reserved a specific memory for dma buffer which M core can
57       access.
58       (see bindings/reserved-memory/reserved-memory.txt)
59
60   audio-codec:
61     $ref: /schemas/types.yaml#/definitions/phandle
62     description: The phandle to a node of audio codec
63
64   audio-routing:
65     $ref: /schemas/types.yaml#/definitions/non-unique-string-array
66     description: |
67       A list of the connections between audio components. Each entry is a
68       pair of strings, the first being the connection's sink, the second
69       being the connection's source.
70
71   fsl,enable-lpa:
72     $ref: /schemas/types.yaml#/definitions/flag
73     description: enable low power audio path.
74
75   fsl,rpmsg-out:
76     $ref: /schemas/types.yaml#/definitions/flag
77     description: |
78       This is a boolean property. If present, the transmitting function
79       will be enabled.
80
81   fsl,rpmsg-in:
82     $ref: /schemas/types.yaml#/definitions/flag
83     description: |
84       This is a boolean property. If present, the receiving function
85       will be enabled.
86
87 required:
88   - compatible
89   - model
90
91 additionalProperties: false
92
93 examples:
94   - |
95     #include <dt-bindings/clock/imx8mn-clock.h>
96
97     rpmsg_audio: rpmsg_audio {
98         compatible = "fsl,imx8mn-rpmsg-audio";
99         model = "wm8524-audio";
100         fsl,enable-lpa;
101         fsl,rpmsg-out;
102         clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
103                  <&clk IMX8MN_CLK_SAI3_ROOT>,
104                  <&clk IMX8MN_CLK_SDMA3_ROOT>,
105                  <&clk IMX8MN_AUDIO_PLL1_OUT>,
106                  <&clk IMX8MN_AUDIO_PLL2_OUT>;
107         clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
108     };