~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: NXP i.MX8 DSP core
  8 
  9 maintainers:
 10   - Daniel Baluta <daniel.baluta@nxp.com>
 11   - Shengjiu Wang <shengjiu.wang@nxp.com>
 12 
 13 description: |
 14   Some boards from i.MX8 family contain a DSP core used for
 15   advanced pre- and post- audio processing.
 16 
 17 properties:
 18   compatible:
 19     enum:
 20       - fsl,imx8qxp-dsp
 21       - fsl,imx8qm-dsp
 22       - fsl,imx8mp-dsp
 23       - fsl,imx8ulp-dsp
 24       - fsl,imx8qxp-hifi4
 25       - fsl,imx8qm-hifi4
 26       - fsl,imx8mp-hifi4
 27       - fsl,imx8ulp-hifi4
 28 
 29   reg:
 30     maxItems: 1
 31 
 32   clocks:
 33     items:
 34       - description: ipg clock
 35       - description: ocram clock
 36       - description: core clock
 37       - description: debug interface clock
 38       - description: message unit clock
 39     minItems: 3
 40 
 41   clock-names:
 42     items:
 43       - const: ipg
 44       - const: ocram
 45       - const: core
 46       - const: debug
 47       - const: mu
 48     minItems: 3
 49 
 50   power-domains:
 51     description:
 52       List of phandle and PM domain specifier as documented in
 53       Documentation/devicetree/bindings/power/power_domain.txt
 54     minItems: 1
 55     maxItems: 4
 56 
 57   mboxes:
 58     description:
 59       List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB
 60       or - 1 channel for TX, 1 channel for RX, 1 channel for RXDB
 61       (see mailbox/fsl,mu.txt)
 62     minItems: 3
 63     maxItems: 4
 64 
 65   mbox-names:
 66     minItems: 3
 67     maxItems: 4
 68 
 69   memory-region:
 70     description:
 71       phandle to a node describing reserved memory (System RAM memory)
 72       used by DSP (see bindings/reserved-memory/reserved-memory.txt)
 73     minItems: 1
 74     maxItems: 4
 75 
 76   firmware-name:
 77     description: |
 78       Default name of the firmware to load to the remote processor.
 79 
 80   fsl,dsp-ctrl:
 81     $ref: /schemas/types.yaml#/definitions/phandle
 82     description:
 83       Phandle to syscon block which provide access for processor enablement
 84 
 85 required:
 86   - compatible
 87   - reg
 88   - clocks
 89   - clock-names
 90   - power-domains
 91   - mboxes
 92   - mbox-names
 93   - memory-region
 94 
 95 allOf:
 96   - if:
 97       properties:
 98         compatible:
 99           contains:
100             enum:
101               - fsl,imx8qxp-dsp
102               - fsl,imx8qm-dsp
103               - fsl,imx8qxp-hifi4
104               - fsl,imx8qm-hifi4
105     then:
106       properties:
107         power-domains:
108           minItems: 4
109     else:
110       properties:
111         power-domains:
112           maxItems: 1
113 
114   - if:
115       properties:
116         compatible:
117           contains:
118             enum:
119               - fsl,imx8qxp-hifi4
120               - fsl,imx8qm-hifi4
121               - fsl,imx8mp-hifi4
122               - fsl,imx8ulp-hifi4
123     then:
124       properties:
125         memory-region:
126           minItems: 4
127         mboxes:
128           maxItems: 3
129         mbox-names:
130           items:
131             - const: tx
132             - const: rx
133             - const: rxdb
134     else:
135       properties:
136         memory-region:
137           maxItems: 1
138         mboxes:
139           minItems: 4
140         mbox-names:
141           items:
142             - const: txdb0
143             - const: txdb1
144             - const: rxdb0
145             - const: rxdb1
146 
147 additionalProperties: false
148 
149 examples:
150   - |
151     #include <dt-bindings/firmware/imx/rsrc.h>
152     #include <dt-bindings/clock/imx8-clock.h>
153     dsp@596e8000 {
154         compatible = "fsl,imx8qxp-dsp";
155         reg = <0x596e8000 0x88000>;
156         clocks = <&adma_lpcg IMX_ADMA_LPCG_DSP_IPG_CLK>,
157                  <&adma_lpcg IMX_ADMA_LPCG_OCRAM_IPG_CLK>,
158                  <&adma_lpcg IMX_ADMA_LPCG_DSP_CORE_CLK>;
159         clock-names = "ipg", "ocram", "core";
160         power-domains = <&pd IMX_SC_R_MU_13A>,
161                         <&pd IMX_SC_R_MU_13B>,
162                         <&pd IMX_SC_R_DSP>,
163                         <&pd IMX_SC_R_DSP_RAM>;
164         mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1";
165         mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>;
166         memory-region = <&dsp_reserved>;
167     };
168   - |
169     #include <dt-bindings/clock/imx8mp-clock.h>
170     dsp_reserved: dsp@92400000 {
171       reg = <0x92400000 0x1000000>;
172       no-map;
173     };
174     dsp_vdev0vring0: vdev0vring0@942f0000 {
175       reg = <0x942f0000 0x8000>;
176       no-map;
177     };
178     dsp_vdev0vring1: vdev0vring1@942f8000 {
179       reg = <0x942f8000 0x8000>;
180       no-map;
181     };
182     dsp_vdev0buffer: vdev0buffer@94300000 {
183       compatible = "shared-dma-pool";
184       reg = <0x94300000 0x100000>;
185       no-map;
186     };
187 
188     dsp: dsp@3b6e8000 {
189       compatible = "fsl,imx8mp-hifi4";
190       reg = <0x3b6e8000 0x88000>;
191       clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>,
192                <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>,
193                <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>,
194                <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>;
195       clock-names = "ipg", "ocram", "core", "debug";
196       firmware-name = "imx/dsp/hifi4.bin";
197       power-domains = <&audiomix_pd>;
198       mbox-names = "tx", "rx", "rxdb";
199       mboxes = <&mu2 0 0>,
200                <&mu2 1 0>,
201                <&mu2 3 0>;
202       memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
203                       <&dsp_vdev0vring1>, <&dsp_reserved>;
204       fsl,dsp-ctrl = <&audio_blk_ctrl>;
205     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php