[PATCH 1/4] arm64: dts: imx93-phycore-som: Add RPMsg overlay

Primoz Fiser primoz.fiser at norik.com
Sun Jul 6 21:45:56 PDT 2025


Hi Shawn,

On 7. 07. 25 05:36, Shawn Guo wrote:
> On Thu, Jun 19, 2025 at 08:39:51AM +0200, Primoz Fiser wrote:
>> Add an overlay used for remote processor inter-core communication
>> between A55 and M33 cores on the phyCORE-i.MX93 SoM based boards.
>>
>> Overlay adds the required reserved memory regions and enables the
>> mailbox unit and the M33 core for RPMsg (Remote Processor Messaging
>> Framework).
>>
>> Signed-off-by: Primoz Fiser <primoz.fiser at norik.com>
>> ---
>>  arch/arm64/boot/dts/freescale/Makefile        |  4 ++
>>  .../dts/freescale/imx93-phycore-rpmsg.dtso    | 60 +++++++++++++++++++
>>  2 files changed, 64 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/freescale/imx93-phycore-rpmsg.dtso
>>
>> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
>> index 0b473a23d120..08a1de299538 100644
>> --- a/arch/arm64/boot/dts/freescale/Makefile
>> +++ b/arch/arm64/boot/dts/freescale/Makefile
>> @@ -324,6 +324,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk.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
>> +
>> +imx93-phycore-rpmsg-dtbs += imx93-phyboard-nash.dtb imx93-phyboard-segin.dtb imx93-phycore-rpmsg.dtbo
>> +dtb-$(CONFIG_ARCH_MXC) += imx93-phycore-rpmsg.dtb
>> +
>>  dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba91xxca.dtb
>>  dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxca.dtb
>>  dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
>> diff --git a/arch/arm64/boot/dts/freescale/imx93-phycore-rpmsg.dtso b/arch/arm64/boot/dts/freescale/imx93-phycore-rpmsg.dtso
>> new file mode 100644
>> index 000000000000..9200113c9ec3
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/freescale/imx93-phycore-rpmsg.dtso
>> @@ -0,0 +1,60 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (C) 2025 PHYTEC Messtechnik GmbH
>> + * Author: Primoz Fiser <primoz.fiser at norik.com>
>> + */
>> +
>> +/dts-v1/;
>> +/plugin/;
>> +
>> +&{/} {
>> +	reserved-memory {
>> +		#address-cells = <2>;
>> +		#size-cells = <2>;
>> +
>> +		vdev0vring0: vdev0vring0 at a4000000 {
>> +			reg = <0 0xa4000000 0 0x8000>;
>> +			no-map;
>> +		};
>> +
>> +		vdev0vring1: vdev0vring1 at a4008000 {
>> +			reg = <0 0xa4008000 0 0x8000>;
>> +			no-map;
>> +		};
>> +
>> +		vdev1vring0: vdev1vring0 at a4010000 {
>> +			reg = <0 0xa4010000 0 0x8000>;
>> +			no-map;
>> +		};
>> +
>> +		vdev1vring1: vdev1vring1 at a4018000 {
>> +			reg = <0 0xa4018000 0 0x8000>;
>> +			no-map;
>> +		};
>> +
>> +		rsc_table: rsc-table at 2021e000 {
> 
> Can we sort the node in order of unit-address?

Sure. I will move rsc_table to the top in v2.

BR,
Primoz

> 
> Shawn
> 
>> +			reg = <0 0x2021e000 0 0x1000>;
>> +			no-map;
>> +		};
>> +
>> +		vdevbuffer: vdevbuffer at a4020000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0 0xa4020000 0 0x100000>;
>> +			no-map;
>> +		};
>> +	};
>> +};
>> +
>> +&cm33 {
>> +	mbox-names = "tx", "rx", "rxdb";
>> +	mboxes = <&mu1 0 1>,
>> +		 <&mu1 1 1>,
>> +		 <&mu1 3 1>;
>> +	memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
>> +		 <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
>> +	status = "okay";
>> +};
>> +
>> +&mu1 {
>> +	status = "okay";
>> +};
>> -- 
>> 2.34.1
>>
> 

-- 
Primoz Fiser
phone: +386-41-390-545
email: primoz.fiser at norik.com
--
Norik systems d.o.o.
Your embedded software partner
Slovenia, EU
phone: +386-41-540-545
email: info at norik.com



More information about the linux-arm-kernel mailing list