mbox series

[V2,0/2] mailbox: imx: support RST channel

Message ID 20220615130009.1457986-1-peng.fan@oss.nxp.com
Headers show
Series mailbox: imx: support RST channel | expand

Message

Peng Fan (OSS) June 15, 2022, 1 p.m. UTC
From: Peng Fan <peng.fan@nxp.com>

V2:
 Add R-b tag
 Missed to add mailbox maintainer in V1, add in V2

 To i.MX generic MU, when linux stop remote core, the MU-B side is not
 reset because of hardware design, so MU-B contains valid configuration
 when remote core stops. Then when linux start remote core again, linux
 may notify remote core before remote core is ready for incoming message.
 So we need make sure MU is in reset state before remote core start. So
 add a RST channel which is only to reset MU when shutdown the RST mbox
 channel.

Peng Fan (2):
  dt-bindings: mailbox: imx-mu: add RST channel
  mailbox: imx: support RST channel

 .../devicetree/bindings/mailbox/fsl,mu.yaml   |  6 ++--
 drivers/mailbox/imx-mailbox.c                 | 29 +++++++++++++++----
 2 files changed, 27 insertions(+), 8 deletions(-)

Comments

Ying Liu Aug. 24, 2022, 9:36 a.m. UTC | #1
Hi,

On Wed, 2022-06-15 at 21:00 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> i.MX generic MU supports MU-A/B reset feature.
> 
> When stop/start remotecore, MU is not reset. So when Linux stop
> remotecore, the MU-B side BCR may contain valid configuration,
> because MU-B is not reset. So when linux start Mcore
> again and notify Mcore, Mcore is not ready to handle MU interrupt
> and cause issues. So need reset MU when stop Mcore.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>

It looks like this patch causes i.MX8qxp MEK boot failure with v6.0-
rc1. After reverting commit 82ab513baed5895c8b0e991557a12fd38d5f25f0,
it boots ok.

There are a lot imx_mu and imx-scu error logs:

----------------------------8<------------------------------------
[    1.166567] imx-scu system-controller: RPC send msg timeout
[    1.171843] imx_scu_soc_id: get soc info failed, ret -110
[    1.177221] imx-scu system-controller: failed to initialize SoC
info: -22
[    1.184019] imx-scu system-controller: NXP i.MX SCU Initialized
[    1.230605] imx-scu system-controller: RPC send msg timeout
[    1.270559] imx-scu system-controller: RPC send msg timeout
[    1.310561] imx-scu system-controller: RPC send msg timeout
[    1.350560] imx-scu system-controller: RPC send msg timeout
[    1.390560] imx-scu system-controller: RPC send msg timeout
[    1.430561] imx-scu system-controller: RPC send msg timeout
[    1.470559] imx-scu system-controller: RPC send msg timeout
[    1.510559] imx-scu system-controller: RPC send msg timeout
[    1.550559] imx-scu system-controller: RPC send msg timeout
[    1.590559] imx-scu system-controller: RPC send msg timeout
[    1.630561] imx-scu system-controller: RPC send msg timeout
[    1.670558] imx-scu system-controller: RPC send msg timeout
[    1.710559] imx-scu system-controller: RPC send msg timeout
[    1.750558] imx-scu system-controller: RPC send msg timeout
[    1.790559] imx-scu system-controller: RPC send msg timeout
[    1.830562] imx-scu system-controller: RPC send msg timeout
[    1.870559] imx-scu system-controller: RPC send msg timeout
[    1.910559] imx-scu system-controller: RPC send msg timeout
[    1.950561] imx-scu system-controller: RPC send msg timeout
[    1.990592] imx-scu system-controller: RPC send msg timeout
[    1.995838] imx_mu 5d1c0000.mailbox: Try increasing
MBOX_TX_QUEUE_LEN
[    2.002262] imx-scu system-controller: RPC send msg failed: -105
[    2.008260] imx_mu 5d1c0000.mailbox: Try increasing
MBOX_TX_QUEUE_LEN
[    2.014682] imx-scu system-controller: RPC send msg failed: -105
[    2.020681] imx_mu 5d1c0000.mailbox: Try increasing
MBOX_TX_QUEUE_LEN
[    2.027103] imx-scu system-controller: RPC send msg failed: -105
[    2.033105] imx_mu 5d1c0000.mailbox: Try increasing
MBOX_TX_QUEUE_LEN
[    2.039526] imx-scu system-controller: RPC send msg failed: -105
[    2.045526] imx_mu 5d1c0000.mailbox: Try increasing
MBOX_TX_QUEUE_LEN
[    2.051949] imx-scu system-controller: RPC send msg failed: -105
----------------------------8<------------------------------------

Regards,
Liu Ying