17db2f2dfSDaniel Baluta# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
27db2f2dfSDaniel Baluta%YAML 1.2
37db2f2dfSDaniel Baluta---
47db2f2dfSDaniel Baluta$id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
57db2f2dfSDaniel Baluta$schema: http://devicetree.org/meta-schemas/core.yaml#
67db2f2dfSDaniel Baluta
77db2f2dfSDaniel Balutatitle: NXP i.MX8 DSP core
87db2f2dfSDaniel Baluta
97db2f2dfSDaniel Balutamaintainers:
107db2f2dfSDaniel Baluta  - Daniel Baluta <daniel.baluta@nxp.com>
117db2f2dfSDaniel Baluta
127db2f2dfSDaniel Balutadescription: |
137db2f2dfSDaniel Baluta  Some boards from i.MX8 family contain a DSP core used for
147db2f2dfSDaniel Baluta  advanced pre- and post- audio processing.
157db2f2dfSDaniel Baluta
167db2f2dfSDaniel Balutaproperties:
177db2f2dfSDaniel Baluta  compatible:
187db2f2dfSDaniel Baluta    enum:
197db2f2dfSDaniel Baluta      - fsl,imx8qxp-dsp
2035a0f242SDaniel Baluta      - fsl,imx8qm-dsp
2135a0f242SDaniel Baluta      - fsl,imx8mp-dsp
227db2f2dfSDaniel Baluta
237db2f2dfSDaniel Baluta  reg:
24*0499220dSRob Herring    maxItems: 1
257db2f2dfSDaniel Baluta
267db2f2dfSDaniel Baluta  clocks:
277db2f2dfSDaniel Baluta    items:
287db2f2dfSDaniel Baluta      - description: ipg clock
297db2f2dfSDaniel Baluta      - description: ocram clock
307db2f2dfSDaniel Baluta      - description: core clock
317db2f2dfSDaniel Baluta
327db2f2dfSDaniel Baluta  clock-names:
337db2f2dfSDaniel Baluta    items:
347db2f2dfSDaniel Baluta      - const: ipg
357db2f2dfSDaniel Baluta      - const: ocram
367db2f2dfSDaniel Baluta      - const: core
377db2f2dfSDaniel Baluta
387db2f2dfSDaniel Baluta  power-domains:
397db2f2dfSDaniel Baluta    description:
407db2f2dfSDaniel Baluta      List of phandle and PM domain specifier as documented in
417db2f2dfSDaniel Baluta      Documentation/devicetree/bindings/power/power_domain.txt
427db2f2dfSDaniel Baluta    maxItems: 4
437db2f2dfSDaniel Baluta
447db2f2dfSDaniel Baluta  mboxes:
457db2f2dfSDaniel Baluta    description:
467db2f2dfSDaniel Baluta      List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB
477db2f2dfSDaniel Baluta      (see mailbox/fsl,mu.txt)
487db2f2dfSDaniel Baluta    maxItems: 4
497db2f2dfSDaniel Baluta
507db2f2dfSDaniel Baluta  mbox-names:
517db2f2dfSDaniel Baluta    items:
527db2f2dfSDaniel Baluta      - const: txdb0
537db2f2dfSDaniel Baluta      - const: txdb1
547db2f2dfSDaniel Baluta      - const: rxdb0
557db2f2dfSDaniel Baluta      - const: rxdb1
567db2f2dfSDaniel Baluta
577db2f2dfSDaniel Baluta  memory-region:
587db2f2dfSDaniel Baluta    description:
597db2f2dfSDaniel Baluta      phandle to a node describing reserved memory (System RAM memory)
607db2f2dfSDaniel Baluta      used by DSP (see bindings/reserved-memory/reserved-memory.txt)
617db2f2dfSDaniel Baluta    maxItems: 1
627db2f2dfSDaniel Baluta
637db2f2dfSDaniel Balutarequired:
647db2f2dfSDaniel Baluta  - compatible
657db2f2dfSDaniel Baluta  - reg
667db2f2dfSDaniel Baluta  - clocks
677db2f2dfSDaniel Baluta  - clock-names
687db2f2dfSDaniel Baluta  - power-domains
697db2f2dfSDaniel Baluta  - mboxes
707db2f2dfSDaniel Baluta  - mbox-names
717db2f2dfSDaniel Baluta  - memory-region
727db2f2dfSDaniel Baluta
737f464532SRob HerringadditionalProperties: false
747f464532SRob Herring
757db2f2dfSDaniel Balutaexamples:
767db2f2dfSDaniel Baluta  - |
777db2f2dfSDaniel Baluta    #include <dt-bindings/firmware/imx/rsrc.h>
787db2f2dfSDaniel Baluta    #include <dt-bindings/clock/imx8-clock.h>
797db2f2dfSDaniel Baluta    dsp@596e8000 {
807db2f2dfSDaniel Baluta        compatible = "fsl,imx8qxp-dsp";
817db2f2dfSDaniel Baluta        reg = <0x596e8000 0x88000>;
827db2f2dfSDaniel Baluta        clocks = <&adma_lpcg IMX_ADMA_LPCG_DSP_IPG_CLK>,
837db2f2dfSDaniel Baluta                 <&adma_lpcg IMX_ADMA_LPCG_OCRAM_IPG_CLK>,
847db2f2dfSDaniel Baluta                 <&adma_lpcg IMX_ADMA_LPCG_DSP_CORE_CLK>;
857db2f2dfSDaniel Baluta        clock-names = "ipg", "ocram", "core";
867db2f2dfSDaniel Baluta        power-domains = <&pd IMX_SC_R_MU_13A>,
877db2f2dfSDaniel Baluta                        <&pd IMX_SC_R_MU_13B>,
887db2f2dfSDaniel Baluta                        <&pd IMX_SC_R_DSP>,
897db2f2dfSDaniel Baluta                        <&pd IMX_SC_R_DSP_RAM>;
907db2f2dfSDaniel Baluta        mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1";
917db2f2dfSDaniel Baluta        mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>;
92e2973352SMaxime Ripard        memory-region = <&dsp_reserved>;
937db2f2dfSDaniel Baluta    };
94