Message ID | 20241216145039.3074-6-laurentiumihalcea111@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | add sof support on imx95 | expand |
On Mon, Dec 16, 2024 at 09:50:39AM -0500, Laurentiu Mihalcea wrote: > From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > > Add imx95 DTS for SOF usage. > > Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> > --- > arch/arm64/boot/dts/freescale/Makefile | 1 + > .../dts/freescale/imx95-19x19-evk-sof.dts | 75 +++++++++++++++++++ > 2 files changed, 76 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 839432153cc7..27f64e333e4b 100644 > --- a/arch/arm64/boot/dts/freescale/Makefile > +++ b/arch/arm64/boot/dts/freescale/Makefile > @@ -282,6 +282,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..8eef83d7bdd7 > --- /dev/null > +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts > @@ -0,0 +1,75 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright 2024 NXP > + */ > + > +/dts-v1/; > + > +#include "imx95-19x19-evk.dts" > + > +/ { > + 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"; need empty line here. > + cpu: port { > + cpu_ep: endpoint { remote-endpoint = <&codec_ep>; }; > + }; > + }; > + > + reserved-memory { > + adma_res: memory@86100000 { > + compatible = "shared-dma-pool"; > + reg = <0x0 0x86100000 0x0 0x100000>; > + no-map; > + }; > + }; > + > + 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"; > + }; > + > + sound-wm8962 { > + status = "disabled"; > + }; > + > +}; > + > +&edma2 { > + dma-channel-mask = <0xc0000000>, <0x0>; > +}; why need change dma mask here? > + > +&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>; empty line here > + port { > + codec_ep: endpoint { remote-endpoint = <&cpu_ep>; }; > + }; > +}; > -- > 2.34.1 >
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 839432153cc7..27f64e333e4b 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -282,6 +282,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..8eef83d7bdd7 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk-sof.dts @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2024 NXP + */ + +/dts-v1/; + +#include "imx95-19x19-evk.dts" + +/ { + 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>; }; + }; + }; + + reserved-memory { + adma_res: memory@86100000 { + compatible = "shared-dma-pool"; + reg = <0x0 0x86100000 0x0 0x100000>; + no-map; + }; + }; + + 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"; + }; + + sound-wm8962 { + status = "disabled"; + }; + +}; + +&edma2 { + dma-channel-mask = <0xc0000000>, <0x0>; +}; + +&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>; }; + }; +};