summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBing Song <bing.song@nxp.com>2020-06-15 10:59:09 +0800
committerBing Song <bing.song@nxp.com>2020-07-10 16:48:11 +0800
commit396def6370d174e5a47e11c0007896d25b03086f (patch)
tree607fa573db7b5eb6f86ff4024a65aa336d4cfa7c
parent3818e25a7fec68413b6c4382c1f12ec5fe956350 (diff)
MLK-24365-3 dts: dsp: imx8mp: add dts for lpa
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 and AAC. OCRAM address is 0x900000-0x990000. ATF will use 0x960000-0x980000. DSP LPA will use ocram(0x900000-0x960000) and ocram_e(0x980000- 0x990000) Signed-off-by: Bing Song <bing.song@nxp.com>
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,dsp,lpa.txt24
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile2
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk-dsp-lpa.dts16
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp.dtsi11
4 files changed, 51 insertions, 2 deletions
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.