149c6bf62SShengjiu Wang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 249c6bf62SShengjiu Wang%YAML 1.2 349c6bf62SShengjiu Wang--- 449c6bf62SShengjiu Wang$id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml# 549c6bf62SShengjiu Wang$schema: http://devicetree.org/meta-schemas/core.yaml# 649c6bf62SShengjiu Wang 749c6bf62SShengjiu Wangtitle: NXP Audio RPMSG CPU DAI Controller 849c6bf62SShengjiu Wang 949c6bf62SShengjiu Wangmaintainers: 1049c6bf62SShengjiu Wang - Shengjiu Wang <shengjiu.wang@nxp.com> 1149c6bf62SShengjiu Wang 1249c6bf62SShengjiu Wangdescription: | 1349c6bf62SShengjiu Wang fsl_rpmsg is a virtual audio device. Mapping to real hardware devices 143570e687SChancel Liu are SAI, MICFIL, DMA controlled by Cortex M core. What we see from 153570e687SChancel Liu Linux side is a device which provides audio service by rpmsg channel. 163570e687SChancel Liu We can create different sound cards which access different hardwares 173570e687SChancel Liu such as SAI, MICFIL, .etc through building rpmsg channels between 183570e687SChancel Liu Cortex-A and Cortex-M. 1949c6bf62SShengjiu Wang 20a06ce12eSKrzysztof KozlowskiallOf: 21a06ce12eSKrzysztof Kozlowski - $ref: sound-card-common.yaml# 22a06ce12eSKrzysztof Kozlowski 2349c6bf62SShengjiu Wangproperties: 2449c6bf62SShengjiu Wang compatible: 2549c6bf62SShengjiu Wang enum: 2649c6bf62SShengjiu Wang - fsl,imx7ulp-rpmsg-audio 2749c6bf62SShengjiu Wang - fsl,imx8mn-rpmsg-audio 2849c6bf62SShengjiu Wang - fsl,imx8mm-rpmsg-audio 2949c6bf62SShengjiu Wang - fsl,imx8mp-rpmsg-audio 304f89ff02SShengjiu Wang - fsl,imx8ulp-rpmsg-audio 31143f8c69SChancel Liu - fsl,imx93-rpmsg-audio 32*8e5c1196SChancel Liu - fsl,imx95-rpmsg-audio 3349c6bf62SShengjiu Wang 3449c6bf62SShengjiu Wang clocks: 3549c6bf62SShengjiu Wang items: 3649c6bf62SShengjiu Wang - description: Peripheral clock for register access 3749c6bf62SShengjiu Wang - description: Master clock 3849c6bf62SShengjiu Wang - description: DMA clock for DMA register access 3949c6bf62SShengjiu Wang - description: Parent clock for multiple of 8kHz sample rates 4049c6bf62SShengjiu Wang - description: Parent clock for multiple of 11kHz sample rates 4149c6bf62SShengjiu Wang 4249c6bf62SShengjiu Wang clock-names: 4349c6bf62SShengjiu Wang items: 4449c6bf62SShengjiu Wang - const: ipg 4549c6bf62SShengjiu Wang - const: mclk 4649c6bf62SShengjiu Wang - const: dma 4749c6bf62SShengjiu Wang - const: pll8k 4849c6bf62SShengjiu Wang - const: pll11k 4949c6bf62SShengjiu Wang 5049c6bf62SShengjiu Wang power-domains: 5149c6bf62SShengjiu Wang description: 5249c6bf62SShengjiu Wang List of phandle and PM domain specifier as documented in 5349c6bf62SShengjiu Wang Documentation/devicetree/bindings/power/power_domain.txt 5449c6bf62SShengjiu Wang maxItems: 1 5549c6bf62SShengjiu Wang 5649c6bf62SShengjiu Wang memory-region: 57c1761159SRob Herring maxItems: 1 5849c6bf62SShengjiu Wang description: 5949c6bf62SShengjiu Wang phandle to a node describing reserved memory (System RAM memory) 6049c6bf62SShengjiu Wang The M core can't access all the DDR memory space on some platform, 6149c6bf62SShengjiu Wang So reserved a specific memory for dma buffer which M core can 6249c6bf62SShengjiu Wang access. 6349c6bf62SShengjiu Wang (see bindings/reserved-memory/reserved-memory.txt) 6449c6bf62SShengjiu Wang 6549c6bf62SShengjiu Wang audio-codec: 6649c6bf62SShengjiu Wang $ref: /schemas/types.yaml#/definitions/phandle 6749c6bf62SShengjiu Wang description: The phandle to a node of audio codec 6849c6bf62SShengjiu Wang 6949c6bf62SShengjiu Wang fsl,enable-lpa: 7049c6bf62SShengjiu Wang $ref: /schemas/types.yaml#/definitions/flag 7149c6bf62SShengjiu Wang description: enable low power audio path. 7249c6bf62SShengjiu Wang 7349c6bf62SShengjiu Wang fsl,rpmsg-out: 7449c6bf62SShengjiu Wang $ref: /schemas/types.yaml#/definitions/flag 7549c6bf62SShengjiu Wang description: | 7649c6bf62SShengjiu Wang This is a boolean property. If present, the transmitting function 7749c6bf62SShengjiu Wang will be enabled. 7849c6bf62SShengjiu Wang 7949c6bf62SShengjiu Wang fsl,rpmsg-in: 8049c6bf62SShengjiu Wang $ref: /schemas/types.yaml#/definitions/flag 8149c6bf62SShengjiu Wang description: | 8249c6bf62SShengjiu Wang This is a boolean property. If present, the receiving function 8349c6bf62SShengjiu Wang will be enabled. 8449c6bf62SShengjiu Wang 853570e687SChancel Liu fsl,rpmsg-channel-name: 863570e687SChancel Liu $ref: /schemas/types.yaml#/definitions/string 873570e687SChancel Liu description: | 883570e687SChancel Liu A string property to assign rpmsg channel this sound card sits on. 893570e687SChancel Liu This property can be omitted if there is only one sound card and it sits 903570e687SChancel Liu on "rpmsg-audio-channel". 913570e687SChancel Liu enum: 923570e687SChancel Liu - rpmsg-audio-channel 933570e687SChancel Liu - rpmsg-micfil-channel 943570e687SChancel Liu 9549c6bf62SShengjiu Wangrequired: 9649c6bf62SShengjiu Wang - compatible 9749c6bf62SShengjiu Wang 98a06ce12eSKrzysztof KozlowskiunevaluatedProperties: false 9949c6bf62SShengjiu Wang 10049c6bf62SShengjiu Wangexamples: 10149c6bf62SShengjiu Wang - | 10249c6bf62SShengjiu Wang #include <dt-bindings/clock/imx8mn-clock.h> 10349c6bf62SShengjiu Wang 10449c6bf62SShengjiu Wang rpmsg_audio: rpmsg_audio { 10549c6bf62SShengjiu Wang compatible = "fsl,imx8mn-rpmsg-audio"; 10649c6bf62SShengjiu Wang model = "wm8524-audio"; 10749c6bf62SShengjiu Wang fsl,enable-lpa; 10849c6bf62SShengjiu Wang fsl,rpmsg-out; 10949c6bf62SShengjiu Wang clocks = <&clk IMX8MN_CLK_SAI3_IPG>, 11049c6bf62SShengjiu Wang <&clk IMX8MN_CLK_SAI3_ROOT>, 11149c6bf62SShengjiu Wang <&clk IMX8MN_CLK_SDMA3_ROOT>, 11249c6bf62SShengjiu Wang <&clk IMX8MN_AUDIO_PLL1_OUT>, 11349c6bf62SShengjiu Wang <&clk IMX8MN_AUDIO_PLL2_OUT>; 11449c6bf62SShengjiu Wang clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k"; 11549c6bf62SShengjiu Wang }; 1163570e687SChancel Liu 1173570e687SChancel Liu - | 1183570e687SChancel Liu #include <dt-bindings/clock/imx8mm-clock.h> 1193570e687SChancel Liu 1203570e687SChancel Liu rpmsg_micfil: audio-controller { 1213570e687SChancel Liu compatible = "fsl,imx8mm-rpmsg-audio"; 1223570e687SChancel Liu model = "micfil-audio"; 1233570e687SChancel Liu fsl,rpmsg-channel-name = "rpmsg-micfil-channel"; 1243570e687SChancel Liu fsl,enable-lpa; 1253570e687SChancel Liu fsl,rpmsg-in; 1263570e687SChancel Liu clocks = <&clk IMX8MM_CLK_PDM_IPG>, 1273570e687SChancel Liu <&clk IMX8MM_CLK_PDM_ROOT>, 1283570e687SChancel Liu <&clk IMX8MM_CLK_SDMA3_ROOT>, 1293570e687SChancel Liu <&clk IMX8MM_AUDIO_PLL1_OUT>, 1303570e687SChancel Liu <&clk IMX8MM_AUDIO_PLL2_OUT>; 1313570e687SChancel Liu clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k"; 1323570e687SChancel Liu }; 1333570e687SChancel Liu 1343570e687SChancel Liu... 135