Re: [PATCH v1] arm64: dts: freescale: imx95-toradex-smarc: Support Cortex M7
From: Frank Li <Frank.li@nxp.com>
Date: 2026-03-03 15:38:26
Also in:
imx, linux-devicetree, lkml
On Tue, Mar 03, 2026 at 01:13:06PM +0100, Emanuele Ghidoli wrote:
quoted hunk ↗ jump to hunk
From: Emanuele Ghidoli <redacted> Enable Cortex M7, the vring nodes, a mailbox and reserve DDR memory for the M7. The remoteproc framework is so capable to load and run the M7 firmware. Signed-off-by: Emanuele Ghidoli <redacted> --- .../dts/freescale/imx95-toradex-smarc.dtsi | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+)diff --git a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi index 5932ba238a8a..77c4a6dee098 100644 --- a/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi +++ b/arch/arm64/boot/dts/freescale/imx95-toradex-smarc.dtsi@@ -42,6 +42,16 @@ clk_serdes_eth_ref: clock-eth-ref { enable-gpios = <&som_gpio_expander_1 13 GPIO_ACTIVE_HIGH>; }; + cm7: remoteproc-cm7 { + compatible = "fsl,imx95-cm7"; + mbox-names = "tx", "rx", "rxdb"; + mboxes = <&mu7 0 1 + &mu7 1 1 + &mu7 3 1>; + memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, + <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>, <&m7_reserved>; + }; + connector { compatible = "gpio-usb-b-connector", "usb-b-connector"; /* SMARC P64 - USB0_OTG_ID */@@ -156,6 +166,42 @@ linux_cma: linux,cma { alloc-ranges = <0 0x80000000 0 0x7f000000>; linux,cma-default; }; + + m7_reserved: memory@80000000 { + reg = <0 0x80000000 0 0x1000000>; + no-map; + }; + + rsc_table: memory@88220000 {
I remember driver use hardcode rsc-table, I suggest fan pan to update driver to support memory-region-names to avoid use hidden ABI. Fan peng, what's current status? Frank
quoted hunk ↗ jump to hunk
+ reg = <0 0x88220000 0 0x1000>; + no-map; + }; + + vdev0vring0: memory@88000000 { + reg = <0 0x88000000 0 0x8000>; + no-map; + }; + + vdev0vring1: memory@88008000 { + reg = <0 0x88008000 0 0x8000>; + no-map; + }; + + vdev1vring0: memory@88010000 { + reg = <0 0x88010000 0 0x8000>; + no-map; + }; + + vdev1vring1: memory@88018000 { + reg = <0 0x88018000 0 0x8000>; + no-map; + }; + + vdevbuffer: memory@88020000 { + compatible = "shared-dma-pool"; + reg = <0 0x88020000 0 0x100000>; + no-map; + }; }; };@@ -572,6 +618,10 @@ &lpuart3 { pinctrl-0 = <&pinctrl_uart3>; }; +&mu7 { + status = "okay"; +}; + /* SMARC MDIO, shared between all ethernet ports */ &netc_emdio { pinctrl-names = "default"; --2.43.0