Loading...
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
7title: NXP Audio RPMSG CPU DAI Controller
8
9maintainers:
10 - Shengjiu Wang <shengjiu.wang@nxp.com>
11
12description: |
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
17properties:
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
87required:
88 - compatible
89 - model
90
91additionalProperties: false
92
93examples:
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 };