// SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2018-2019 NXP * Dong Aisheng */ #include #include audio_ipg_clk: clock-audio-ipg { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <120000000>; clock-output-names = "audio_ipg_clk"; }; audio_subsys: bus@59000000 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x59000000 0x0 0x59000000 0x1000000>; edma0: dma-controller@591f0000 { compatible = "fsl,imx8qm-edma"; reg = <0x591f0000 0x190000>; #dma-cells = <3>; dma-channels = <24>; dma-channel-mask = <0x5c0c00>; interrupts = , /* 0 asrc 0 */ , /* 1 */ , /* 2 */ , /* 3 */ , /* 4 */ , /* 5 */ , /* 6 esai0 */ , /* 7 */ , /* 8 spdif0 */ , /* 9 */ , /* 10 unused */ , /* 11 unused */ , /* 12 sai0 */ , /* 13 */ , /* 14 sai1 */ , /* 15 */ , /* 16 sai2 */ , /* 17 sai3 */ , /* 18 unused */ , /* 19 unused */ , /* 20 unused */ , /* 21 */ , /* 22 unused */ ; /* 23 unused */ power-domains = <&pd IMX_SC_R_DMA_0_CH0>, <&pd IMX_SC_R_DMA_0_CH1>, <&pd IMX_SC_R_DMA_0_CH2>, <&pd IMX_SC_R_DMA_0_CH3>, <&pd IMX_SC_R_DMA_0_CH4>, <&pd IMX_SC_R_DMA_0_CH5>, <&pd IMX_SC_R_DMA_0_CH6>, <&pd IMX_SC_R_DMA_0_CH7>, <&pd IMX_SC_R_DMA_0_CH8>, <&pd IMX_SC_R_DMA_0_CH9>, <&pd IMX_SC_R_DMA_0_CH10>, <&pd IMX_SC_R_DMA_0_CH11>, <&pd IMX_SC_R_DMA_0_CH12>, <&pd IMX_SC_R_DMA_0_CH13>, <&pd IMX_SC_R_DMA_0_CH14>, <&pd IMX_SC_R_DMA_0_CH15>, <&pd IMX_SC_R_DMA_0_CH16>, <&pd IMX_SC_R_DMA_0_CH17>, <&pd IMX_SC_R_DMA_0_CH18>, <&pd IMX_SC_R_DMA_0_CH19>, <&pd IMX_SC_R_DMA_0_CH20>, <&pd IMX_SC_R_DMA_0_CH21>, <&pd IMX_SC_R_DMA_0_CH22>, <&pd IMX_SC_R_DMA_0_CH23>; }; dsp_lpcg: clock-controller@59580000 { compatible = "fsl,imx8qxp-lpcg"; reg = <0x59580000 0x10000>; #clock-cells = <1>; clocks = <&audio_ipg_clk>, <&audio_ipg_clk>, <&audio_ipg_clk>; clock-indices = , , ; clock-output-names = "dsp_lpcg_adb_clk", "dsp_lpcg_ipg_clk", "dsp_lpcg_core_clk"; power-domains = <&pd IMX_SC_R_DSP>; }; dsp_ram_lpcg: clock-controller@59590000 { compatible = "fsl,imx8qxp-lpcg"; reg = <0x59590000 0x10000>; #clock-cells = <1>; clocks = <&audio_ipg_clk>; clock-indices = ; clock-output-names = "dsp_ram_lpcg_ipg_clk"; power-domains = <&pd IMX_SC_R_DSP_RAM>; }; dsp: dsp@596e8000 { compatible = "fsl,imx8qxp-dsp"; reg = <0x596e8000 0x88000>; clocks = <&dsp_lpcg IMX_LPCG_CLK_5>, <&dsp_ram_lpcg IMX_LPCG_CLK_4>, <&dsp_lpcg IMX_LPCG_CLK_7>; clock-names = "ipg", "ocram", "core"; power-domains = <&pd IMX_SC_R_MU_13A>, <&pd IMX_SC_R_MU_13B>, <&pd IMX_SC_R_DSP>, <&pd IMX_SC_R_DSP_RAM>; mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1"; mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>; memory-region = <&dsp_reserved>; status = "disabled"; }; edma1: dma-controller@599f0000 { compatible = "fsl,imx8qm-edma"; reg = <0x599f0000 0xc0000>; #dma-cells = <3>; dma-channels = <11>; dma-channel-mask = <0xc0>; interrupts = , /* 0 asrc 1 */ , /* 1 */ , /* 2 */ , /* 3 */ , /* 4 */ , /* 5 */ , /* 6 unused */ , /* 7 unused */ , /* sai4 */ , ; /* sai5 */ power-domains = <&pd IMX_SC_R_DMA_1_CH0>, <&pd IMX_SC_R_DMA_1_CH1>, <&pd IMX_SC_R_DMA_1_CH2>, <&pd IMX_SC_R_DMA_1_CH3>, <&pd IMX_SC_R_DMA_1_CH4>, <&pd IMX_SC_R_DMA_1_CH5>, <&pd IMX_SC_R_DMA_1_CH6>, <&pd IMX_SC_R_DMA_1_CH7>, <&pd IMX_SC_R_DMA_1_CH8>, <&pd IMX_SC_R_DMA_1_CH9>, <&pd IMX_SC_R_DMA_1_CH10>; }; };