SCU fails to wake up core A

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

SCU fails to wake up core A

ソリューションへジャンプ
882件の閲覧回数
xiuqi_huang
Contributor I

Hi,

when I use scu to wakeup A core from KS1 mode, it failed.

Here are my steps to suspend and resume the system:

1、Use "echo mem > sys/power/state" to put A core into the KS1 mode

      The following are the resources when the A core is in KS1 mode

xiuqi_huang_0-1681194576464.png

2、Wake up A core through SC_R_BOARD_R0

  I made the following modifications to board_set_control in the board.c file in SCFW

xiuqi_huang_1-1681194676198.png

when I trigger the wakeup source, I can find this log "set A core on from KS1" in the SCU console log, which means the ss_irq_trigger has been executed. But actually the A core did not wake up.

only the following resources are awakened 

Partition: 0 = on
SC_PID0 = on
SC_TPM = on
SC_PIT = on
SC_UART = on
SC_I2C = on
SC_MU_0B = on
SC_MU_1A = on
SYSCNT_RD = on
SYSCNT_CMP = on
DEBUG = on
OTP = on
DB = on
DBLOGIC = on
DRC_0 = on
DRC_1 = on
Partition: 1 = on
CAAM_JR3 = on
CAAM_JR3_OUT = on
Partition: 2 = on
SECO = on
Partition: 3 = on
Partition: 4 = on
M4_1_PID0 = on
M4_1_UART = on
M4_1_MU_1A = on
SPI_0 = on
SPI_2 = on
SPI_3 = on
CAN_0 = on
CAN_1 = on
CAN_2 = on
IRQSTR_M4_1 = on
GPIO_0 = on
GPIO_2 = on
GPIO_4 = on
GPT_3 = on
MU_5B = on
MU_6B = on
MU_7B = on
MU_9B = on
MU_12B = on
BOARD_R0 = on
Partition: 5 = on
Partition: 6 = on
ENET_1 = lp
SMMU = on
OCRAM = on

A core can be woken up if I use uart as a wakeup resource

Any help would be appreciated.

Huang

 

 

 

 

ラベル(1)
0 件の賞賛
1 解決策
823件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

Hello,

More question from the expert.

1. Are you using MEK board or your own board?

2. If you are using MEK board, can you wakeup Linux by pressing ON_OFF_BUTTON after Linux suspend?

3. Do you have following device node in dts:

    sc_pwrkey: sc-powerkey {
        compatible = "fsl,imx8-pwrkey";
        linux,keycode = <KEY_POWER>;
        wakeup-source;
    };

 

 

元の投稿で解決策を見る

0 件の賞賛
7 返答(返信)
855件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

Could you tell me which processor are you using?

0 件の賞賛
853件の閲覧回数
xiuqi_huang
Contributor I

I'm using IMX8 QM

0 件の賞賛
833件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

I got the reply from the AE

==============

Please check with customer, how did they enter board_set_control() function in the wakeup process?

==============

 

0 件の賞賛
829件の閲覧回数
xiuqi_huang
Contributor I

Hi jimmy,

Here's how I get into the board_set_control() function:

1、Divide the SC_R_BOARD_R0 resource to M4 core, which is partition 4

2、In M4 , use the API sc_misc_set_control()

      if(sc_misc_set_control(ipc, SC_R_BOARD_R0, 0, 0) != SC_ERR_NONE){

             PRINTF_I(KERN_ERR "try to wakeup linux partition faile!\r\n");
      } else {
             PRINTF_I(KERN_ERR "try to wakeup linux partition!\r\n");
      }

      After I trigger the wakeup source I can find the log "try to wakeup linux partition"  in the M4 console log. And in the SCU console log, as I posted before, resources in partition 4 have been woke up.

 

 

 

 

 

0 件の賞賛
824件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

Hello,

More question from the expert.

1. Are you using MEK board or your own board?

2. If you are using MEK board, can you wakeup Linux by pressing ON_OFF_BUTTON after Linux suspend?

3. Do you have following device node in dts:

    sc_pwrkey: sc-powerkey {
        compatible = "fsl,imx8-pwrkey";
        linux,keycode = <KEY_POWER>;
        wakeup-source;
    };

 

 

0 件の賞賛
794件の閲覧回数
xiuqi_huang
Contributor I

Hi,

I'm using my own board with ON_OFF_BUTTON , I have those device nodes in my dts, but somehow it was disabled. when I make it okay, my board can resume from the suspend state, so thank you very much!

0 件の賞賛
835件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

I will check this with the internal team. And then let you know when I get the reply.

0 件の賞賛