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> 11b55553fdSShengjiu Wang - Shengjiu Wang <shengjiu.wang@nxp.com> 127db2f2dfSDaniel Baluta 137db2f2dfSDaniel Balutadescription: | 147db2f2dfSDaniel Baluta Some boards from i.MX8 family contain a DSP core used for 157db2f2dfSDaniel Baluta advanced pre- and post- audio processing. 167db2f2dfSDaniel Baluta 177db2f2dfSDaniel Balutaproperties: 187db2f2dfSDaniel Baluta compatible: 197db2f2dfSDaniel Baluta enum: 207db2f2dfSDaniel Baluta - fsl,imx8qxp-dsp 2135a0f242SDaniel Baluta - fsl,imx8qm-dsp 2235a0f242SDaniel Baluta - fsl,imx8mp-dsp 23*ee6c42baSShengjiu Wang - fsl,imx8ulp-dsp 24b55553fdSShengjiu Wang - fsl,imx8qxp-hifi4 25b55553fdSShengjiu Wang - fsl,imx8qm-hifi4 26b55553fdSShengjiu Wang - fsl,imx8mp-hifi4 27b55553fdSShengjiu Wang - fsl,imx8ulp-hifi4 287db2f2dfSDaniel Baluta 297db2f2dfSDaniel Baluta reg: 300499220dSRob Herring maxItems: 1 317db2f2dfSDaniel Baluta 327db2f2dfSDaniel Baluta clocks: 337db2f2dfSDaniel Baluta items: 347db2f2dfSDaniel Baluta - description: ipg clock 357db2f2dfSDaniel Baluta - description: ocram clock 367db2f2dfSDaniel Baluta - description: core clock 37b55553fdSShengjiu Wang - description: debug interface clock 38b55553fdSShengjiu Wang - description: message unit clock 39b55553fdSShengjiu Wang minItems: 3 407db2f2dfSDaniel Baluta 417db2f2dfSDaniel Baluta clock-names: 427db2f2dfSDaniel Baluta items: 437db2f2dfSDaniel Baluta - const: ipg 447db2f2dfSDaniel Baluta - const: ocram 457db2f2dfSDaniel Baluta - const: core 46b55553fdSShengjiu Wang - const: debug 47b55553fdSShengjiu Wang - const: mu 48b55553fdSShengjiu Wang minItems: 3 497db2f2dfSDaniel Baluta 507db2f2dfSDaniel Baluta power-domains: 517db2f2dfSDaniel Baluta description: 527db2f2dfSDaniel Baluta List of phandle and PM domain specifier as documented in 537db2f2dfSDaniel Baluta Documentation/devicetree/bindings/power/power_domain.txt 54b55553fdSShengjiu Wang minItems: 1 557db2f2dfSDaniel Baluta maxItems: 4 567db2f2dfSDaniel Baluta 577db2f2dfSDaniel Baluta mboxes: 587db2f2dfSDaniel Baluta description: 597db2f2dfSDaniel Baluta List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB 60b55553fdSShengjiu Wang or - 1 channel for TX, 1 channel for RX, 1 channel for RXDB 617db2f2dfSDaniel Baluta (see mailbox/fsl,mu.txt) 62b55553fdSShengjiu Wang minItems: 3 637db2f2dfSDaniel Baluta maxItems: 4 647db2f2dfSDaniel Baluta 657db2f2dfSDaniel Baluta mbox-names: 66b55553fdSShengjiu Wang minItems: 3 67b55553fdSShengjiu Wang maxItems: 4 687db2f2dfSDaniel Baluta 697db2f2dfSDaniel Baluta memory-region: 707db2f2dfSDaniel Baluta description: 717db2f2dfSDaniel Baluta phandle to a node describing reserved memory (System RAM memory) 727db2f2dfSDaniel Baluta used by DSP (see bindings/reserved-memory/reserved-memory.txt) 73b55553fdSShengjiu Wang minItems: 1 74b55553fdSShengjiu Wang maxItems: 4 75b55553fdSShengjiu Wang 76b55553fdSShengjiu Wang firmware-name: 77b55553fdSShengjiu Wang description: | 78b55553fdSShengjiu Wang Default name of the firmware to load to the remote processor. 79b55553fdSShengjiu Wang 80b55553fdSShengjiu Wang fsl,dsp-ctrl: 81b55553fdSShengjiu Wang $ref: /schemas/types.yaml#/definitions/phandle 82b55553fdSShengjiu Wang description: 83b55553fdSShengjiu Wang Phandle to syscon block which provide access for processor enablement 847db2f2dfSDaniel Baluta 857db2f2dfSDaniel Balutarequired: 867db2f2dfSDaniel Baluta - compatible 877db2f2dfSDaniel Baluta - reg 887db2f2dfSDaniel Baluta - clocks 897db2f2dfSDaniel Baluta - clock-names 907db2f2dfSDaniel Baluta - power-domains 917db2f2dfSDaniel Baluta - mboxes 927db2f2dfSDaniel Baluta - mbox-names 937db2f2dfSDaniel Baluta - memory-region 947db2f2dfSDaniel Baluta 95b55553fdSShengjiu WangallOf: 96b55553fdSShengjiu Wang - if: 97b55553fdSShengjiu Wang properties: 98b55553fdSShengjiu Wang compatible: 99b55553fdSShengjiu Wang contains: 100b55553fdSShengjiu Wang enum: 101b55553fdSShengjiu Wang - fsl,imx8qxp-dsp 102b55553fdSShengjiu Wang - fsl,imx8qm-dsp 103b55553fdSShengjiu Wang - fsl,imx8qxp-hifi4 104b55553fdSShengjiu Wang - fsl,imx8qm-hifi4 105b55553fdSShengjiu Wang then: 106b55553fdSShengjiu Wang properties: 107b55553fdSShengjiu Wang power-domains: 108b55553fdSShengjiu Wang minItems: 4 109b55553fdSShengjiu Wang else: 110b55553fdSShengjiu Wang properties: 111b55553fdSShengjiu Wang power-domains: 112b55553fdSShengjiu Wang maxItems: 1 113b55553fdSShengjiu Wang 114b55553fdSShengjiu Wang - if: 115b55553fdSShengjiu Wang properties: 116b55553fdSShengjiu Wang compatible: 117b55553fdSShengjiu Wang contains: 118b55553fdSShengjiu Wang enum: 119b55553fdSShengjiu Wang - fsl,imx8qxp-hifi4 120b55553fdSShengjiu Wang - fsl,imx8qm-hifi4 121b55553fdSShengjiu Wang - fsl,imx8mp-hifi4 122b55553fdSShengjiu Wang - fsl,imx8ulp-hifi4 123b55553fdSShengjiu Wang then: 124b55553fdSShengjiu Wang properties: 125b55553fdSShengjiu Wang memory-region: 126b55553fdSShengjiu Wang minItems: 4 127b55553fdSShengjiu Wang mboxes: 128b55553fdSShengjiu Wang maxItems: 3 129b55553fdSShengjiu Wang mbox-names: 130b55553fdSShengjiu Wang items: 131b55553fdSShengjiu Wang - const: tx 132b55553fdSShengjiu Wang - const: rx 133b55553fdSShengjiu Wang - const: rxdb 134b55553fdSShengjiu Wang else: 135b55553fdSShengjiu Wang properties: 136b55553fdSShengjiu Wang memory-region: 137b55553fdSShengjiu Wang maxItems: 1 138b55553fdSShengjiu Wang mboxes: 139b55553fdSShengjiu Wang minItems: 4 140b55553fdSShengjiu Wang mbox-names: 141b55553fdSShengjiu Wang items: 142b55553fdSShengjiu Wang - const: txdb0 143b55553fdSShengjiu Wang - const: txdb1 144b55553fdSShengjiu Wang - const: rxdb0 145b55553fdSShengjiu Wang - const: rxdb1 146b55553fdSShengjiu Wang 1477f464532SRob HerringadditionalProperties: false 1487f464532SRob Herring 1497db2f2dfSDaniel Balutaexamples: 1507db2f2dfSDaniel Baluta - | 1517db2f2dfSDaniel Baluta #include <dt-bindings/firmware/imx/rsrc.h> 1527db2f2dfSDaniel Baluta #include <dt-bindings/clock/imx8-clock.h> 1537db2f2dfSDaniel Baluta dsp@596e8000 { 1547db2f2dfSDaniel Baluta compatible = "fsl,imx8qxp-dsp"; 1557db2f2dfSDaniel Baluta reg = <0x596e8000 0x88000>; 1567db2f2dfSDaniel Baluta clocks = <&adma_lpcg IMX_ADMA_LPCG_DSP_IPG_CLK>, 1577db2f2dfSDaniel Baluta <&adma_lpcg IMX_ADMA_LPCG_OCRAM_IPG_CLK>, 1587db2f2dfSDaniel Baluta <&adma_lpcg IMX_ADMA_LPCG_DSP_CORE_CLK>; 1597db2f2dfSDaniel Baluta clock-names = "ipg", "ocram", "core"; 1607db2f2dfSDaniel Baluta power-domains = <&pd IMX_SC_R_MU_13A>, 1617db2f2dfSDaniel Baluta <&pd IMX_SC_R_MU_13B>, 1627db2f2dfSDaniel Baluta <&pd IMX_SC_R_DSP>, 1637db2f2dfSDaniel Baluta <&pd IMX_SC_R_DSP_RAM>; 1647db2f2dfSDaniel Baluta mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1"; 1657db2f2dfSDaniel Baluta mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>; 166e2973352SMaxime Ripard memory-region = <&dsp_reserved>; 1677db2f2dfSDaniel Baluta }; 168b55553fdSShengjiu Wang - | 169b55553fdSShengjiu Wang #include <dt-bindings/clock/imx8mp-clock.h> 170b55553fdSShengjiu Wang dsp_reserved: dsp@92400000 { 171b55553fdSShengjiu Wang reg = <0x92400000 0x1000000>; 172b55553fdSShengjiu Wang no-map; 173b55553fdSShengjiu Wang }; 174b55553fdSShengjiu Wang dsp_vdev0vring0: vdev0vring0@942f0000 { 175b55553fdSShengjiu Wang reg = <0x942f0000 0x8000>; 176b55553fdSShengjiu Wang no-map; 177b55553fdSShengjiu Wang }; 178b55553fdSShengjiu Wang dsp_vdev0vring1: vdev0vring1@942f8000 { 179b55553fdSShengjiu Wang reg = <0x942f8000 0x8000>; 180b55553fdSShengjiu Wang no-map; 181b55553fdSShengjiu Wang }; 182b55553fdSShengjiu Wang dsp_vdev0buffer: vdev0buffer@94300000 { 183b55553fdSShengjiu Wang compatible = "shared-dma-pool"; 184b55553fdSShengjiu Wang reg = <0x94300000 0x100000>; 185b55553fdSShengjiu Wang no-map; 186b55553fdSShengjiu Wang }; 187b55553fdSShengjiu Wang 188b55553fdSShengjiu Wang dsp: dsp@3b6e8000 { 189b55553fdSShengjiu Wang compatible = "fsl,imx8mp-hifi4"; 190b55553fdSShengjiu Wang reg = <0x3b6e8000 0x88000>; 191b55553fdSShengjiu Wang clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>, 192b55553fdSShengjiu Wang <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>, 193b55553fdSShengjiu Wang <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>, 194b55553fdSShengjiu Wang <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>; 195b55553fdSShengjiu Wang clock-names = "ipg", "ocram", "core", "debug"; 196b55553fdSShengjiu Wang firmware-name = "imx/dsp/hifi4.bin"; 197b55553fdSShengjiu Wang power-domains = <&audiomix_pd>; 198b55553fdSShengjiu Wang mbox-names = "tx", "rx", "rxdb"; 199b55553fdSShengjiu Wang mboxes = <&mu2 0 0>, 200b55553fdSShengjiu Wang <&mu2 1 0>, 201b55553fdSShengjiu Wang <&mu2 3 0>; 202b55553fdSShengjiu Wang memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, 203b55553fdSShengjiu Wang <&dsp_vdev0vring1>, <&dsp_reserved>; 204b55553fdSShengjiu Wang fsl,dsp-ctrl = <&audio_blk_ctrl>; 205b55553fdSShengjiu Wang }; 206