Based on kernel version 6.12.4
. Page generated on 2024-12-12 21:01 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/fsl,rpmsg.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP Audio RPMSG CPU DAI Controller maintainers: - Shengjiu Wang <shengjiu.wang@nxp.com> description: | fsl_rpmsg is a virtual audio device. Mapping to real hardware devices are SAI, MICFIL, DMA controlled by Cortex M core. What we see from Linux side is a device which provides audio service by rpmsg channel. We can create different sound cards which access different hardwares such as SAI, MICFIL, .etc through building rpmsg channels between Cortex-A and Cortex-M. allOf: - $ref: sound-card-common.yaml# properties: compatible: enum: - fsl,imx7ulp-rpmsg-audio - fsl,imx8mn-rpmsg-audio - fsl,imx8mm-rpmsg-audio - fsl,imx8mp-rpmsg-audio - fsl,imx8ulp-rpmsg-audio - fsl,imx93-rpmsg-audio - fsl,imx95-rpmsg-audio clocks: items: - description: Peripheral clock for register access - description: Master clock - description: DMA clock for DMA register access - description: Parent clock for multiple of 8kHz sample rates - description: Parent clock for multiple of 11kHz sample rates clock-names: items: - const: ipg - const: mclk - const: dma - const: pll8k - const: pll11k power-domains: description: List of phandle and PM domain specifier as documented in Documentation/devicetree/bindings/power/power_domain.txt maxItems: 1 memory-region: maxItems: 1 description: phandle to a node describing reserved memory (System RAM memory) The M core can't access all the DDR memory space on some platform, So reserved a specific memory for dma buffer which M core can access. (see bindings/reserved-memory/reserved-memory.txt) audio-codec: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle to a node of audio codec fsl,enable-lpa: $ref: /schemas/types.yaml#/definitions/flag description: enable low power audio path. fsl,rpmsg-out: $ref: /schemas/types.yaml#/definitions/flag description: | This is a boolean property. If present, the transmitting function will be enabled. fsl,rpmsg-in: $ref: /schemas/types.yaml#/definitions/flag description: | This is a boolean property. If present, the receiving function will be enabled. fsl,rpmsg-channel-name: $ref: /schemas/types.yaml#/definitions/string description: | A string property to assign rpmsg channel this sound card sits on. This property can be omitted if there is only one sound card and it sits on "rpmsg-audio-channel". enum: - rpmsg-audio-channel - rpmsg-micfil-channel required: - compatible unevaluatedProperties: false examples: - | #include <dt-bindings/clock/imx8mn-clock.h> rpmsg_audio: rpmsg_audio { compatible = "fsl,imx8mn-rpmsg-audio"; model = "wm8524-audio"; fsl,enable-lpa; fsl,rpmsg-out; clocks = <&clk IMX8MN_CLK_SAI3_IPG>, <&clk IMX8MN_CLK_SAI3_ROOT>, <&clk IMX8MN_CLK_SDMA3_ROOT>, <&clk IMX8MN_AUDIO_PLL1_OUT>, <&clk IMX8MN_AUDIO_PLL2_OUT>; clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k"; }; - | #include <dt-bindings/clock/imx8mm-clock.h> rpmsg_micfil: audio-controller { compatible = "fsl,imx8mm-rpmsg-audio"; model = "micfil-audio"; fsl,rpmsg-channel-name = "rpmsg-micfil-channel"; fsl,enable-lpa; fsl,rpmsg-in; clocks = <&clk IMX8MM_CLK_PDM_IPG>, <&clk IMX8MM_CLK_PDM_ROOT>, <&clk IMX8MM_CLK_SDMA3_ROOT>, <&clk IMX8MM_AUDIO_PLL1_OUT>, <&clk IMX8MM_AUDIO_PLL2_OUT>; clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k"; }; ... |