diff --git a/Documentation/devicetree/bindings/sound/fsl,dsp,lpa.txt b/Documentation/devicetree/bindings/sound/fsl,dsp,lpa.txt new file mode 100644 index 000000000000..194442a90a77 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/fsl,dsp,lpa.txt @@ -0,0 +1,24 @@ +NXP LPA(Low Power Audio) DSP + +The DTS is for i.MX8MP DSP offload audio playback. DSP only use OCRAM +and OCRAM_A when audio playback, so DRAM can enter retention mode to +save Power. As the size limitation of OCRAM and OCRAM_A and the size +audio decoder library, the LPA playback only can support MP3. +OCRAM address is 0x900000-0x990000. ATF will use 0x960000-0x980000. +DSP LPA will use ocram(0x900000-0x960000) and ocram_e(0x980000- +0x990000) + +Required properties: + + - compatible : Contains "fsl,imx8mp-dsp-lpa". + - fsl,dsp-firmware : LPA DSP FW name. + +Example: + +&dsp { + compatible = "fsl,imx8mp-dsp-lpa"; + ocram = <&ocram>; + ocram-e = <&ocram_e>; + fsl,dsp-firmware = "imx/dsp/hifi4_imx8mp_lpa.bin"; + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 5a973d7661e8..f7e26874ce93 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -66,7 +66,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb imx8mp-evk-root.dtb imx8mp-evk-inmate.d imx8mp-evk-rm67191.dtb imx8mp-evk-flexcan2.dtb imx8mp-evk-it6263-lvds-dual-channel.dtb \ imx8mp-evk-jdi-wuxga-lvds-panel.dtb imx8mp-ab2.dtb imx8mp-evk-sof-wm8960.dtb \ imx8mp-evk-dsp.dtb imx8mp-evk-ov2775.dtb imx8mp-evk-basler.dtb imx8mp-evk-pcie-ep.dtb \ - imx8mp-evk-spdif-lb.dtb + imx8mp-evk-spdif-lb.dtb imx8mp-evk-dsp-lpa.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb imx8mq-evk-pcie1-m2.dtb imx8mq-evk-usd-wifi.dtb \ imx8mq-evk-usdhc2-m2.dtb imx8mq-evk-pcie-ep.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-ak4497.dtb imx8mq-evk-audio-tdm.dtb imx8mq-evk-pdm.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-dsp-lpa.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-dsp-lpa.dts new file mode 100644 index 000000000000..f27896c8503a --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk-dsp-lpa.dts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2020 NXP + */ + +/dts-v1/; + +#include "imx8mp-evk-dsp.dts" + +&dsp { + compatible = "fsl,imx8mp-dsp-lpa"; + ocram = <&ocram>; + ocram-e = <&ocram_e>; + fsl,dsp-firmware = "imx/dsp/hifi4_imx8mp_lpa.bin"; + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 652ff82b4466..b7f12aeb0c15 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -177,7 +177,16 @@ #address-cells = <2>; #size-cells = <2>; ranges; - + + ocram: ocram@900000 { + no-map; + reg = <0 0x900000 0 0x60000>; + }; + ocram_e: ocram_e@980000 { + no-map; + reg = <0 0x980000 0 0x10000>; + }; + /* * Memory reserved for optee usage. Please do not use. * This will be automaticky added to dtb if OP-TEE is installed.