Create device tree for i.MX93 14x14 evk and 11x11 evk, add Cortex-A Core remoteproc device nodes in these device tree.
Signed-off-by: Jiafei Pan <[email protected]> Signed-off-by: Hou Zhiqiang <[email protected]> --- arch/arm64/boot/dts/freescale/Makefile | 2 + .../imx93-11x11-evk-multicore-rtos.dts | 39 +++++++++++++++++++ .../imx93-14x14-evk-multicore-rtos.dts | 39 +++++++++++++++++++ .../boot/dts/freescale/imx93-rproc-ca55.dtsi | 14 +++++++ 4 files changed, 94 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/imx93-11x11-evk-multicore-rtos.dts create mode 100644 arch/arm64/boot/dts/freescale/imx93-14x14-evk-multicore-rtos.dts create mode 100644 arch/arm64/boot/dts/freescale/imx93-rproc-ca55.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 711e36cc2c99..f067e5c44dae 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -460,12 +460,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-i3c.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-ontat-kd50g21-40nt-a1.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-evk.dtb +dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-evk-multicore-rtos.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm.dtb imx93-11x11-frdm-pixpaper-dtbs += imx93-11x11-frdm.dtb imx93-11x11-frdm-pixpaper.dtbo dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm-pixpaper.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk.dtb +dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk-multicore-rtos.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-kontron-bl-osm-s.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-phyboard-nash.dtb dtb-$(CONFIG_ARCH_MXC) += imx93-phyboard-segin.dtb diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk-multicore-rtos.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk-multicore-rtos.dts new file mode 100644 index 000000000000..9fb2b94b83b4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk-multicore-rtos.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2023-2026 NXP + */ + +/dts-v1/; +#include "imx93-11x11-evk.dts" +#include "imx93-rproc-ca55.dtsi" + +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* + * Reserve up to 16MB for one possible RTOS instances running on + * one Cortex-A Cores when booting Linux on at least one Cortex-A Core. + */ + rtos_ca55_reserved: rtos-ca55@d0000000 { + no-map; + reg = <0 0xd0000000 0x0 0x1000000>; + }; + + /* Reserve 16MB for FreeRTOS on M33 */ + m33_reserved: m33@a5000000 { + no-map; + reg = <0 0xa5000000 0 0x1000000>; + }; + }; +}; + +&lpuart2 { + status = "disabled"; +}; + +&clk { + init-on-array = <IMX93_CLK_LPUART2_GATE>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx93-14x14-evk-multicore-rtos.dts b/arch/arm64/boot/dts/freescale/imx93-14x14-evk-multicore-rtos.dts new file mode 100644 index 000000000000..b2481bf19b4a --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx93-14x14-evk-multicore-rtos.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2024-2026 NXP + */ + +/dts-v1/; +#include "imx93-14x14-evk.dts" +#include "imx93-rproc-ca55.dtsi" + +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + /* + * Reserve up to 16MB for one possible RTOS instances running on + * one Cortex-A Cores when booting Linux on at least one Cortex-A Core. + */ + rtos_ca55_reserved: rtos-ca55@d0000000 { + no-map; + reg = <0 0xd0000000 0x0 0x1000000>; + }; + + /* Reserve 16MB for FreeRTOS on M33 */ + m33_reserved: m33@a5000000 { + no-map; + reg = <0 0xa5000000 0 0x1000000>; + }; + }; +}; + +&lpuart2 { + status = "disabled"; +}; + +&clk { + init-on-array = <IMX93_CLK_LPUART2_GATE>; +}; diff --git a/arch/arm64/boot/dts/freescale/imx93-rproc-ca55.dtsi b/arch/arm64/boot/dts/freescale/imx93-rproc-ca55.dtsi new file mode 100644 index 000000000000..9d9a60404d2b --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx93-rproc-ca55.dtsi @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/* + * Copyright 2024-2026 NXP + */ + +/ { + ca55_1: remoteproc-ca55-1 { + compatible = "fsl,imx-rproc-psci"; + /* bitmask:0b10, assign A55 Core 1 */ + fsl,cpus-bits = <0x2>; + memory-region = <&rtos_ca55_reserved>; + }; +}; + -- 2.43.0

