On 11/13/2024 10:21 PM, Frank Li wrote: > On Wed, Nov 13, 2024 at 02:52:40PM -0500, Laurentiu Mihalcea wrote: >> From: Laurentiu Mihalcea <laurentiu.mihalcea@xxxxxxx> >> >> Add imx95 DTS for SOF usage. >> >> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@xxxxxxx> >> --- >> arch/arm64/boot/dts/freescale/Makefile | 1 + >> .../dts/freescale/imx95-19x19-evk-sof.dts | 74 +++++++++++++++++++ > look like it should be dt overlay. ah, interesting idea, but I don't really see its usage here? As far as I was able to understand the overlays are used to dynamically change the DTB (via u-boot), which we don't really need at the moment. > >> 2 files changed, 75 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 42e6482a31cb..0a313133d013 100644 >> --- a/arch/arm64/boot/dts/freescale/Makefile >> +++ b/arch/arm64/boot/dts/freescale/Makefile >> @@ -269,6 +269,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..3fa4c252e355 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts >> @@ -0,0 +1,74 @@ >> +// 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 0x6100000>; >> + 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>; }; >> + }; >> + }; > please sort by node name. Fix in v3 > >> +}; >> + >> +&edma2 { >> + dma-channel-mask = <0xc0000000>, <0x0>; >> +}; > Why need change dma mask here ? Channels 30 and 31 are reserved for firmware usage > >> + >> +&sai3 { >> + status = "disabled"; >> +}; >> + >> +&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>; >> + port { >> + codec_ep: endpoint { remote-endpoint = <&cpu_ep>; }; >> + }; >> +}; >> -- >> 2.34.1 >>