u-boot/arch/arm/dts/k3-am654-base-board-u-boot.dtsi
Suman Anna 31b3d7a018 arm: dts: k3-am65: Fix up MCU R5FSS cluster mode back to Split-mode
The default U-Boot environment variables and design are all set up to
have the MCU R5FSS cluster to be in Split-mode. This is the setting
in v2021.01 U-Boot and the dt nodes are synched with the kernel binding
property names in commit 468ec2f3ef ("remoteproc: k3_r5: Sync to
upstreamed kernel DT property names") merged in v2021.04-rc2.

The mode for the cluster got switched back to LockStep mode by mistake
in commit e497876343 ("arm: dts: k3-am65: Sync Linux v5.11-rc6 dts
into U-Boot") also in v2021.04-rc2. This throws the following warning
messages when early-booting the cores using default env variables,

  k3_r5f_rproc r5f@41400000: Invalid op: Trying to start secondary core 2 in lockstep mode
  Load Remote Processor 1 with data@addr=0x82000000 65268 bytes: Failed!

Fix this by switching back the cluster to the expected Split-mode.
Make this mode change in the u-boot specific dtsi file to avoid such
sync overrides in the future until the kernel dts is also switched to
Split-mode by default.

Fixes: e497876343 ("arm: dts: k3-am65: Sync Linux v5.11-rc6 dts into U-Boot")
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Link: https://lore.kernel.org/r/20210726162213.28719-1-s-anna@ti.com
2021-07-27 11:00:10 +05:30

82 lines
1,021 B
Text

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2018-2021 Texas Instruments Incorporated - http://www.ti.com/
*/
#include "k3-am654-r5-base-board-u-boot.dtsi"
&pru0_0 {
remoteproc-name = "pru0_0";
};
&rtu0_0 {
remoteproc-name = "rtu0_0";
};
&tx_pru0_0 {
remoteproc-name = "tx_pru0_0";
};
&pru0_1 {
remoteproc-name = "pru0_1";
};
&rtu0_1 {
remoteproc-name = "rtu0_1";
};
&tx_pru0_1 {
remoteproc-name = "tx_pru0_1";
};
&pru1_0 {
remoteproc-name = "pru1_0";
};
&rtu1_0 {
remoteproc-name = "rtu1_0";
};
&tx_pru1_0 {
remoteproc-name = "tx_pru1_0";
};
&pru1_1 {
remoteproc-name = "pru1_1";
};
&rtu1_1 {
remoteproc-name = "rtu1_1";
};
&tx_pru1_1 {
remoteproc-name = "tx_pru1_1";
};
&pru2_0 {
remoteproc-name = "pru2_0";
};
&rtu2_0 {
remoteproc-name = "rtu2_0";
};
&tx_pru2_0 {
remoteproc-name = "tx_pru2_0";
};
&pru2_1 {
remoteproc-name = "pru2_1";
};
&rtu2_1 {
remoteproc-name = "rtu2_1";
};
&tx_pru2_1 {
remoteproc-name = "tx_pru2_1";
};
&mcu_r5fss0 {
ti,cluster-mode = <0>;
};