lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5a47c816-c39d-4dff-9028-2937ed7f9c9a@phytec.de>
Date: Thu, 28 Aug 2025 14:52:26 +0300
From: Wadim Egorov <w.egorov@...tec.de>
To: Beleswar Padhi <b-padhi@...com>, nm@...com, vigneshr@...com,
 kristo@...nel.org, robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org
Cc: afd@...com, u-kumar1@...com, hnagalla@...com, jm@...com,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2 32/33] arm64: dts: ti: k3-am64-ti-ipc-firmware:
 Refactor IPC cfg into new dtsi



On 8/23/25 7:09 PM, Beleswar Padhi wrote:
> The TI K3 AM64 SoCs have multiple programmable remote processors like
> R5F, M4F etc. The TI SDKs for AM64 SoCs offer sample firmwares which
> could be run on these cores to demonstrate an "echo" IPC test. Those
> firmware require certain memory carveouts to be reserved from system
> memory, timers to be reserved, and certain mailbox configurations for
> interrupt based messaging. These configurations could be different for a
> different firmware.
> 
> While DT is not meant for system configurations, at least refactor these
> configurations from board level DTS into a dtsi for now. This dtsi for
> TI IPC firmware is board-independent and can be applied to all boards
> from the same SoC Family. This gets rid of code duplication and allows
> more freedom for users developing custom firmware (or no firmware) to
> utilize system resources better; easily by swapping out this dtsi. To
> maintain backward compatibility, the dtsi is included in all boards.
> 
> Signed-off-by: Beleswar Padhi <b-padhi@...com>

Reviewed-by: Wadim Egorov <w.egorov@...tec.de> # phycore-am64x
Tested-by: Wadim Egorov <w.egorov@...tec.de> # phycore-am64x

> ---
> v2: Changelog:
> 1. Re-ordered patch from [PATCH 30/33] to [PATCH v2 32/33].
> 
> Link to v1:
> https://lore.kernel.org/all/20250814223839.3256046-31-b-padhi@ti.com/
> 
>   .../boot/dts/ti/k3-am64-phycore-som.dtsi      | 160 +----------------
>   .../boot/dts/ti/k3-am64-ti-ipc-firmware.dtsi  | 162 ++++++++++++++++++
>   arch/arm64/boot/dts/ti/k3-am642-evm.dts       | 156 +----------------
>   arch/arm64/boot/dts/ti/k3-am642-sk.dts        | 156 +----------------
>   arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi   | 156 +----------------
>   .../arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi | 156 +----------------
>   6 files changed, 172 insertions(+), 774 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/ti/k3-am64-ti-ipc-firmware.dtsi
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-phycore-som.dtsi b/arch/arm64/boot/dts/ti/k3-am64-phycore-som.dtsi
> index 1efd547b2ba6..af0fed6124e2 100644
> --- a/arch/arm64/boot/dts/ti/k3-am64-phycore-som.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am64-phycore-som.dtsi
> @@ -52,60 +52,6 @@ main_r5fss0_core0_memory_region: r5f-memory@...00000 {
>   			reg = <0x00 0xa0100000 0x00 0xf00000>;
>   			no-map;
>   		};
> -
> -		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_memory_region: m4f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		rtos_ipc_memory_region: ipc-memories@...00000 {
> -			reg = <0x00 0xa5000000 0x00 0x00800000>;
> -			alignment = <0x1000>;
> -			no-map;
> -		};
>   	};
>   
>   	leds {
> @@ -238,67 +184,6 @@ &cpsw_port1 {
>   	status = "okay";
>   };
>   
> -&mailbox0_cluster2 {
> -	status = "okay";
> -
> -	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster4 {
> -	status = "okay";
> -
> -	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster6 {
> -	status = "okay";
> -
> -	mbox_m4_0: mbox-m4-0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -};
> -
> -/* main_timer8 is used by r5f0-0 */
> -&main_timer8 {
> -	status = "reserved";
> -};
> -
> -/* main_timer9 is used by r5f0-1 */
> -&main_timer9 {
> -	status = "reserved";
> -};
> -
> -/* main_timer10 is used by r5f1-0 */
> -&main_timer10 {
> -	status = "reserved";
> -};
> -
> -/* main_timer11 is used by r5f1-1 */
> -&main_timer11 {
> -	status = "reserved";
> -};
> -
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
>   &main_i2c0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&main_i2c0_pins_default>;
> @@ -373,49 +258,6 @@ &main_pktdma {
>   	bootph-all;
>   };
>   
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core0 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> -	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> -			<&main_r5fss0_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core1 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> -	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> -			<&main_r5fss0_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1 {
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core0 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> -	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> -			<&main_r5fss1_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core1 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> -	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> -			<&main_r5fss1_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&mcu_m4fss {
> -	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> -	memory-region = <&mcu_m4fss_dma_memory_region>,
> -			<&mcu_m4fss_memory_region>;
> -	status = "okay";
> -};
> -
>   &ospi0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&ospi0_pins_default>;
> @@ -451,3 +293,5 @@ adc {
>   		ti,adc-channels = <0 1 2 3 4 5 6 7>;
>   	};
>   };
> +
> +#include "k3-am64-ti-ipc-firmware.dtsi"
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-ti-ipc-firmware.dtsi b/arch/arm64/boot/dts/ti/k3-am64-ti-ipc-firmware.dtsi
> new file mode 100644
> index 000000000000..847495f76831
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am64-ti-ipc-firmware.dtsi
> @@ -0,0 +1,162 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/**
> + * Device Tree Source for enabling IPC using TI SDK firmware on AM64 SoCs
> + *
> + * Copyright (C) 2024-2025 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +&reserved_memory {
> +	main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa1000000 0x00 0x100000>;
> +		no-map;
> +	};
> +
> +	main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa1100000 0x00 0xf00000>;
> +		no-map;
> +	};
> +
> +	main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa2000000 0x00 0x100000>;
> +		no-map;
> +	};
> +
> +	main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa2100000 0x00 0xf00000>;
> +		no-map;
> +	};
> +
> +	main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa3000000 0x00 0x100000>;
> +		no-map;
> +	};
> +
> +	main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa3100000 0x00 0xf00000>;
> +		no-map;
> +	};
> +
> +	mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa4000000 0x00 0x100000>;
> +		no-map;
> +	};
> +
> +	mcu_m4fss_memory_region: m4f-memory@...00000 {
> +		compatible = "shared-dma-pool";
> +		reg = <0x00 0xa4100000 0x00 0xf00000>;
> +		no-map;
> +	};
> +
> +	rtos_ipc_memory_region: ipc-memories@...00000 {
> +		reg = <0x00 0xa5000000 0x00 0x00800000>;
> +		alignment = <0x1000>;
> +		no-map;
> +	};
> +};
> +
> +&mailbox0_cluster2 {
> +	status = "okay";
> +
> +	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> +		ti,mbox-rx = <0 0 2>;
> +		ti,mbox-tx = <1 0 2>;
> +	};
> +
> +	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> +		ti,mbox-rx = <2 0 2>;
> +		ti,mbox-tx = <3 0 2>;
> +	};
> +};
> +
> +&mailbox0_cluster4 {
> +	status = "okay";
> +
> +	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> +		ti,mbox-rx = <0 0 2>;
> +		ti,mbox-tx = <1 0 2>;
> +	};
> +
> +	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> +		ti,mbox-rx = <2 0 2>;
> +		ti,mbox-tx = <3 0 2>;
> +	};
> +};
> +
> +&mailbox0_cluster6 {
> +	status = "okay";
> +
> +	mbox_m4_0: mbox-m4-0 {
> +		ti,mbox-rx = <0 0 2>;
> +		ti,mbox-tx = <1 0 2>;
> +	};
> +};
> +
> +/* main_timer8 is used by r5f0-0 */
> +&main_timer8 {
> +	status = "reserved";
> +};
> +
> +/* main_timer9 is used by r5f0-1 */
> +&main_timer9 {
> +	status = "reserved";
> +};
> +
> +/* main_timer10 is used by r5f1-0 */
> +&main_timer10 {
> +	status = "reserved";
> +};
> +
> +/* main_timer11 is used by r5f1-1 */
> +&main_timer11 {
> +	status = "reserved";
> +};
> +
> +&main_r5fss0 {
> +	status = "okay";
> +};
> +
> +&main_r5fss0_core0 {
> +	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> +	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> +			<&main_r5fss0_core0_memory_region>;
> +	status = "okay";
> +};
> +
> +&main_r5fss0_core1 {
> +	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> +	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> +			<&main_r5fss0_core1_memory_region>;
> +	status = "okay";
> +};
> +
> +&main_r5fss1 {
> +	status = "okay";
> +};
> +
> +&main_r5fss1_core0 {
> +	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> +	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> +			<&main_r5fss1_core0_memory_region>;
> +	status = "okay";
> +};
> +
> +&main_r5fss1_core1 {
> +	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> +	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> +			<&main_r5fss1_core1_memory_region>;
> +	status = "okay";
> +};
> +
> +&mcu_m4fss {
> +	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> +	memory-region = <&mcu_m4fss_dma_memory_region>,
> +			<&mcu_m4fss_memory_region>;
> +	status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> index 7640c5efe9b8..05b7cdd25a8c 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> @@ -64,60 +64,6 @@ main_r5fss0_core0_memory_region: r5f-memory@...00000 {
>   			reg = <0x00 0xa0100000 0x00 0xf00000>;
>   			no-map;
>   		};
> -
> -		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_memory_region: m4f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		rtos_ipc_memory_region: ipc-memories@...00000 {
> -			reg = <0x00 0xa5000000 0x00 0x00800000>;
> -			alignment = <0x1000>;
> -			no-map;
> -		};
>   	};
>   
>   	evm_12v0: regulator-0 {
> @@ -727,106 +673,6 @@ partition@...0000 {
>   	};
>   };
>   
> -&mailbox0_cluster2 {
> -	status = "okay";
> -
> -	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster4 {
> -	status = "okay";
> -
> -	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster6 {
> -	status = "okay";
> -
> -	mbox_m4_0: mbox-m4-0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -};
> -
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core0 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> -	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> -			<&main_r5fss0_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core1 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> -	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> -			<&main_r5fss0_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1 {
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core0 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> -	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> -			<&main_r5fss1_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core1 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> -	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> -			<&main_r5fss1_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&mcu_m4fss {
> -	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> -	memory-region = <&mcu_m4fss_dma_memory_region>,
> -			<&mcu_m4fss_memory_region>;
> -	status = "okay";
> -};
> -
> -/* main_timer8 is used by r5f0-0 */
> -&main_timer8 {
> -	status = "reserved";
> -};
> -
> -/* main_timer9 is used by r5f0-1 */
> -&main_timer9 {
> -	status = "reserved";
> -};
> -
> -/* main_timer10 is used by r5f1-0 */
> -&main_timer10 {
> -	status = "reserved";
> -};
> -
> -/* main_timer11 is used by r5f1-1 */
> -&main_timer11 {
> -	status = "reserved";
> -};
> -
>   &serdes_ln_ctrl {
>   	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
>   };
> @@ -890,3 +736,5 @@ &icssg1_iep0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&icssg1_iep0_pins_default>;
>   };
> +
> +#include "k3-am64-ti-ipc-firmware.dtsi"
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> index fb8bd66f2f94..cc1569a6519b 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> @@ -62,60 +62,6 @@ main_r5fss0_core0_memory_region: r5f-memory@...00000 {
>   			reg = <0x00 0xa0100000 0x00 0xf00000>;
>   			no-map;
>   		};
> -
> -		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_memory_region: m4f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		rtos_ipc_memory_region: ipc-memories@...00000 {
> -			reg = <0x00 0xa5000000 0x00 0x00800000>;
> -			alignment = <0x1000>;
> -			no-map;
> -		};
>   	};
>   
>   	vusb_main: regulator-0 {
> @@ -642,106 +588,6 @@ partition@...0000 {
>   	};
>   };
>   
> -&mailbox0_cluster2 {
> -	status = "okay";
> -
> -	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster4 {
> -	status = "okay";
> -
> -	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster6 {
> -	status = "okay";
> -
> -	mbox_m4_0: mbox-m4-0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -};
> -
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core0 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> -	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> -			<&main_r5fss0_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core1 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> -	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> -			<&main_r5fss0_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1 {
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core0 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> -	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> -			<&main_r5fss1_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core1 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> -	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> -			<&main_r5fss1_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&mcu_m4fss {
> -	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> -	memory-region = <&mcu_m4fss_dma_memory_region>,
> -			<&mcu_m4fss_memory_region>;
> -	status = "okay";
> -};
> -
> -/* main_timer8 is used by r5f0-0 */
> -&main_timer8 {
> -	status = "reserved";
> -};
> -
> -/* main_timer9 is used by r5f0-1 */
> -&main_timer9 {
> -	status = "reserved";
> -};
> -
> -/* main_timer10 is used by r5f1-0 */
> -&main_timer10 {
> -	status = "reserved";
> -};
> -
> -/* main_timer11 is used by r5f1-1 */
> -&main_timer11 {
> -	status = "reserved";
> -};
> -
>   &ecap0 {
>   	status = "okay";
>   	/* PWM is available on Pin 1 of header J3 */
> @@ -755,3 +601,5 @@ &eqep0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&main_eqep0_pins_default>;
>   };
> +
> +#include "k3-am64-ti-ipc-firmware.dtsi"
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi b/arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi
> index 8cb61f831734..ce23362b88c3 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am642-sr-som.dtsi
> @@ -126,60 +126,6 @@ main_r5fss0_core0_memory_region: r5f-memory@...00000 {
>   			reg = <0x00 0xa0100000 0x00 0xf00000>;
>   			no-map;
>   		};
> -
> -		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_memory_region: m4f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		rtos_ipc_memory_region: ipc-memories@...00000 {
> -			reg = <0x00 0xa5000000 0x00 0x00800000>;
> -			alignment = <0x1000>;
> -			no-map;
> -		};
>   	};
>   
>   	vdd_mmc0: regulator-vdd-mmc0 {
> @@ -281,63 +227,6 @@ ethernet_phy2: ethernet-phy@f {
>   	};
>   };
>   
> -&mailbox0_cluster2 {
> -	status = "okay";
> -
> -	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster4 {
> -	status = "okay";
> -
> -	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster6 {
> -	status = "okay";
> -
> -	mbox_m4_0: mbox-m4-0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -};
> -
> -/* main_timer8 is used by r5f0-0 */
> -&main_timer8 {
> -	status = "reserved";
> -};
> -
> -/* main_timer9 is used by r5f0-1 */
> -&main_timer9 {
> -	status = "reserved";
> -};
> -
> -/* main_timer10 is used by r5f1-0 */
> -&main_timer10 {
> -	status = "reserved";
> -};
> -
> -/* main_timer11 is used by r5f1-1 */
> -&main_timer11 {
> -	status = "reserved";
> -};
> -
>   &main_i2c0 {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&main_i2c0_default_pins>;
> @@ -535,49 +424,6 @@ AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* USB0_DRVVBUS.USB0_DRVVBUS */
>   	};
>   };
>   
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core0 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> -	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> -			<&main_r5fss0_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core1 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> -	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> -			<&main_r5fss0_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1 {
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core0 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> -	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> -			<&main_r5fss1_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core1 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> -	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> -			<&main_r5fss1_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&mcu_m4fss {
> -	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> -	memory-region = <&mcu_m4fss_dma_memory_region>,
> -			<&mcu_m4fss_memory_region>;
> -	status = "okay";
> -};
> -
>   /* SoC default UART console */
>   &main_uart0 {
>   	pinctrl-names = "default";
> @@ -656,3 +502,5 @@ &usbss0 {
>   	ti,vbus-divider;
>   	ti,usb2-only;
>   };
> +
> +#include "k3-am64-ti-ipc-firmware.dtsi"
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi b/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi
> index 860b79aa5ef5..e752fc8b0a88 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi
> @@ -42,60 +42,6 @@ main_r5fss0_core0_memory_region: r5f-memory@...00000 {
>   			reg = <0x00 0xa0100000 0x00 0xf00000>;
>   			no-map;
>   		};
> -
> -		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss0_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa1100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core0_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa2100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		main_r5fss1_core1_memory_region: r5f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa3100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_dma_memory_region: m4f-dma-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4000000 0x00 0x100000>;
> -			no-map;
> -		};
> -
> -		mcu_m4fss_memory_region: m4f-memory@...00000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x00 0xa4100000 0x00 0xf00000>;
> -			no-map;
> -		};
> -
> -		rtos_ipc_memory_region: ipc-memories@...00000 {
> -			reg = <0x00 0xa5000000 0x00 0x00800000>;
> -			alignment = <0x1000>;
> -			no-map;
> -		};
>   	};
>   
>   	reg_1v8: regulator-1v8 {
> @@ -142,106 +88,6 @@ eeprom1: eeprom@54 {
>   	};
>   };
>   
> -&mailbox0_cluster2 {
> -	status = "okay";
> -
> -	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster4 {
> -	status = "okay";
> -
> -	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -
> -	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
> -		ti,mbox-rx = <2 0 2>;
> -		ti,mbox-tx = <3 0 2>;
> -	};
> -};
> -
> -&mailbox0_cluster6 {
> -	status = "okay";
> -
> -	mbox_m4_0: mbox-m4-0 {
> -		ti,mbox-rx = <0 0 2>;
> -		ti,mbox-tx = <1 0 2>;
> -	};
> -};
> -
> -/* main_timer8 is used by r5f0-0 */
> -&main_timer8 {
> -	status = "reserved";
> -};
> -
> -/* main_timer9 is used by r5f0-1 */
> -&main_timer9 {
> -	status = "reserved";
> -};
> -
> -/* main_timer10 is used by r5f1-0 */
> -&main_timer10 {
> -	status = "reserved";
> -};
> -
> -/* main_timer11 is used by r5f1-1 */
> -&main_timer11 {
> -	status = "reserved";
> -};
> -
> -&main_r5fss0 {
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core0 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> -	memory-region = <&main_r5fss0_core0_dma_memory_region>,
> -			<&main_r5fss0_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss0_core1 {
> -	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
> -	memory-region = <&main_r5fss0_core1_dma_memory_region>,
> -			<&main_r5fss0_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1 {
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core0 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
> -	memory-region = <&main_r5fss1_core0_dma_memory_region>,
> -			<&main_r5fss1_core0_memory_region>;
> -	status = "okay";
> -};
> -
> -&main_r5fss1_core1 {
> -	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
> -	memory-region = <&main_r5fss1_core1_dma_memory_region>,
> -			<&main_r5fss1_core1_memory_region>;
> -	status = "okay";
> -};
> -
> -&mcu_m4fss {
> -	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
> -	memory-region = <&mcu_m4fss_dma_memory_region>,
> -			<&mcu_m4fss_memory_region>;
> -	status = "okay";
> -};
> -
>   &ospi0 {
>   	status = "okay";
>   	pinctrl-names = "default";
> @@ -315,3 +161,5 @@ AM64X_IOPAD(0x0008, PIN_INPUT, 0)
>   		>;
>   	};
>   };
> +
> +#include "k3-am64-ti-ipc-firmware.dtsi"


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ