imx7ulp - different values fro MUA.SR from CA7 and CM4

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx7ulp - different values fro MUA.SR from CA7 and CM4

868 Views
klaas
Contributor III

Hi all,

I'm trying to use the power-mode-switch example on a custom imx7ulp board. The BSP is based on the imx7ulp_evk BSP and has only minor modifications.

It looks like the CM4 is not properly reading the status of the CA7.

While in RUN mode I read the following registervalue for MUA.SR

root@imx7ulpleia:~# /unit_tests/memtool MUA.SR
SOC: i.MX7ULP
MUA      Addr:0x41022000
  MUA.SR Addr:0x41022060 Value:0x00F00201 - Use the Processor A Status Register (SR, 32-bit, read-write) to show interrupt status from the Processor B, general purpose flags , and to set dual function control-status bits.
     MUA.SR.FN(0..2)    :0x1
             For n = {0, 1, 2} MUA Side Flag n.
     MUA.SR.NMIC(3..3)  :0x0
             Processor A Non-Maskable-Interrupt Clear.
     MUA.SR.EP(4..4)    :0x0
             MUA Side Event Pending.
     MUA.SR.PM(5..6)    :0x0
             Processor B-side Power Mode.
     MUA.SR.RS(7..7)    :0x0
             MUB Reset State.
     MUA.SR.FUP(8..8)   :0x0
             MUA Flags Update Pending.
     MUA.SR.RDIP(9..9)  :0x1
             Processor B Reset De-asserted Interrupt Pending.
     MUA.SR.RAIP(10..10)        :0x0
             Processor B Reset Asserted Interrupt Pending.
     MUA.SR.TEN(20..23)         :0xf
             For n = {0, 1, 2, 3} MUA Transmit Register n Empty.
     MUA.SR.RFN(24..27)         :0x0
             For n = {0, 1, 2, 3} MUA Receive Register n Full.
     MUA.SR.GIPN(28..31)        :0x0
             For n = {0, 1, 2, 3} MUA General Interrupt Request n Pending.

 

But on CM4 side the same register is read out as 0x00f0'0241 indicating that the system is in STOP/VLPS mode.
Only while Linux is booting I can read that the CA7 is in RUN mode with the CM4 example.

For the other commands implemented in the example only the reboot CA7 command works, other commands indicate that they can only be performed, when the CA7 is in VLLS status.

What would be the proper way to put the CA7 into VLPS / VLLS  mode?

Any Idea, why I get different values for the same register from both cores?

Thanks
Klaas

Tags (5)
0 Kudos
2 Replies

844 Views
klaas
Contributor III

Hi,

I tried again with the unmodified example which works fine. I will have to check the differences in my implementation.

Thanks
Klaas

0 Kudos

851 Views
Juan-Rodarte
NXP Employee
NXP Employee

Did you try to use the example unmodified?

0 Kudos