From: Laurentiu Mihalcea <laurentiu.mihal...@nxp.com>

Add imx95 DTS for SOF usage.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihal...@nxp.com>
---
 arch/arm64/boot/dts/freescale/Makefile        |  1 +
 .../dts/freescale/imx95-19x19-evk-sof.dts     | 86 +++++++++++++++++++
 2 files changed, 87 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts

diff --git a/arch/arm64/boot/dts/freescale/Makefile 
b/arch/arm64/boot/dts/freescale/Makefile
index 2a69b7ec6d6d..94660e3e8b2b 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -267,6 +267,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxca.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
 
 imx8mm-kontron-dl-dtbs                 := imx8mm-kontron-bl.dtb 
imx8mm-kontron-dl.dtbo
 
diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts 
b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts
new file mode 100644
index 000000000000..b10dc1af5ce2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2024 NXP
+ */
+
+/dts-v1/;
+
+#include "imx95-19x19-evk.dts"
+
+/ {
+       reserved-memory {
+               adma_res: memory@86100000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x0 0x86100000 0x0 0x100000>;
+                       no-map;
+               };
+       };
+
+       sound-wm8962 {
+               status = "disabled";
+       };
+
+       sof-sound-wm8962 {
+               compatible = "audio-graph-card2";
+
+               links = <&cpu>;
+               label = "wm8962-audio";
+
+               hp-det-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_hp>;
+
+               widgets =
+                       "Headphone", "Headphones",
+                       "Microphone", "Headset Mic";
+               routing =
+                       "Headphones", "HPOUTL",
+                       "Headphones", "HPOUTR",
+                       "Headset Mic", "MICBIAS",
+                       "IN3R", "Headset Mic",
+                       "IN1R", "Headset Mic";
+       };
+
+       sof_cpu: cm7-cpu@80000000 {
+               compatible = "fsl,imx95-cm7-sof";
+
+               reg = <0x0 0x80000000 0x0 0x400000>,
+                     <0x0 0x86000000 0x0 0x3000>;
+               reg-names = "dram", "mailbox";
+
+               memory-region = <&adma_res>;
+
+               mboxes = <&mu7 2 0>, <&mu7 2 1>, <&mu7 3 0>, <&mu7 3 1>;
+               mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1";
+
+               cpu: port {
+                       cpu_ep: endpoint { remote-endpoint = <&codec_ep>; };
+               };
+       };
+};
+
+&wm8962 {
+       assigned-clocks = <&scmi_clk IMX95_CLK_AUDIOPLL1_VCO>,
+                         <&scmi_clk IMX95_CLK_AUDIOPLL2_VCO>,
+                         <&scmi_clk IMX95_CLK_AUDIOPLL1>,
+                         <&scmi_clk IMX95_CLK_AUDIOPLL2>,
+                         <&scmi_clk IMX95_CLK_SAI3>;
+       assigned-clock-parents = <0>, <0>, <0>, <0>, <&scmi_clk 
IMX95_CLK_AUDIOPLL1>;
+       assigned-clock-rates = <3932160000>, <3612672000>,
+                              <393216000>, <361267200>,
+                              <12288000>;
+       status = "okay";
+
+       port {
+               codec_ep: endpoint { remote-endpoint = <&cpu_ep>; };
+       };
+};
+
+&edma2 {
+       dma-channel-mask = <0x3fffffff>, <0xffffffff>;
+};
+
+&sai3 {
+       status = "disabled";
+};
-- 
2.34.1


Reply via email to