18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: NXP i.MX8 DSP core
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Daniel Baluta <daniel.baluta@nxp.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  Some boards from i.MX8 family contain a DSP core used for
148c2ecf20Sopenharmony_ci  advanced pre- and post- audio processing.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    enum:
198c2ecf20Sopenharmony_ci      - fsl,imx8qxp-dsp
208c2ecf20Sopenharmony_ci      - fsl,imx8qm-dsp
218c2ecf20Sopenharmony_ci      - fsl,imx8mp-dsp
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    description: Should contain register location and length
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  clocks:
278c2ecf20Sopenharmony_ci    items:
288c2ecf20Sopenharmony_ci      - description: ipg clock
298c2ecf20Sopenharmony_ci      - description: ocram clock
308c2ecf20Sopenharmony_ci      - description: core clock
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  clock-names:
338c2ecf20Sopenharmony_ci    items:
348c2ecf20Sopenharmony_ci      - const: ipg
358c2ecf20Sopenharmony_ci      - const: ocram
368c2ecf20Sopenharmony_ci      - const: core
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  power-domains:
398c2ecf20Sopenharmony_ci    description:
408c2ecf20Sopenharmony_ci      List of phandle and PM domain specifier as documented in
418c2ecf20Sopenharmony_ci      Documentation/devicetree/bindings/power/power_domain.txt
428c2ecf20Sopenharmony_ci    maxItems: 4
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  mboxes:
458c2ecf20Sopenharmony_ci    description:
468c2ecf20Sopenharmony_ci      List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB
478c2ecf20Sopenharmony_ci      (see mailbox/fsl,mu.txt)
488c2ecf20Sopenharmony_ci    maxItems: 4
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  mbox-names:
518c2ecf20Sopenharmony_ci    items:
528c2ecf20Sopenharmony_ci      - const: txdb0
538c2ecf20Sopenharmony_ci      - const: txdb1
548c2ecf20Sopenharmony_ci      - const: rxdb0
558c2ecf20Sopenharmony_ci      - const: rxdb1
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci  memory-region:
588c2ecf20Sopenharmony_ci    description:
598c2ecf20Sopenharmony_ci      phandle to a node describing reserved memory (System RAM memory)
608c2ecf20Sopenharmony_ci      used by DSP (see bindings/reserved-memory/reserved-memory.txt)
618c2ecf20Sopenharmony_ci    maxItems: 1
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_cirequired:
648c2ecf20Sopenharmony_ci  - compatible
658c2ecf20Sopenharmony_ci  - reg
668c2ecf20Sopenharmony_ci  - clocks
678c2ecf20Sopenharmony_ci  - clock-names
688c2ecf20Sopenharmony_ci  - power-domains
698c2ecf20Sopenharmony_ci  - mboxes
708c2ecf20Sopenharmony_ci  - mbox-names
718c2ecf20Sopenharmony_ci  - memory-region
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciadditionalProperties: false
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciexamples:
768c2ecf20Sopenharmony_ci  - |
778c2ecf20Sopenharmony_ci    #include <dt-bindings/firmware/imx/rsrc.h>
788c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/imx8-clock.h>
798c2ecf20Sopenharmony_ci    dsp@596e8000 {
808c2ecf20Sopenharmony_ci        compatible = "fsl,imx8qxp-dsp";
818c2ecf20Sopenharmony_ci        reg = <0x596e8000 0x88000>;
828c2ecf20Sopenharmony_ci        clocks = <&adma_lpcg IMX_ADMA_LPCG_DSP_IPG_CLK>,
838c2ecf20Sopenharmony_ci                 <&adma_lpcg IMX_ADMA_LPCG_OCRAM_IPG_CLK>,
848c2ecf20Sopenharmony_ci                 <&adma_lpcg IMX_ADMA_LPCG_DSP_CORE_CLK>;
858c2ecf20Sopenharmony_ci        clock-names = "ipg", "ocram", "core";
868c2ecf20Sopenharmony_ci        power-domains = <&pd IMX_SC_R_MU_13A>,
878c2ecf20Sopenharmony_ci                        <&pd IMX_SC_R_MU_13B>,
888c2ecf20Sopenharmony_ci                        <&pd IMX_SC_R_DSP>,
898c2ecf20Sopenharmony_ci                        <&pd IMX_SC_R_DSP_RAM>;
908c2ecf20Sopenharmony_ci        mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1";
918c2ecf20Sopenharmony_ci        mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>;
928c2ecf20Sopenharmony_ci        memory-region = <&dsp_reserved>;
938c2ecf20Sopenharmony_ci    };
94