IMX93 M33 initialize GPIO2 and A55 not waking up normally

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

IMX93 M33 initialize GPIO2 and A55 not waking up normally

Jump to solution
3,829 Views
barad
Contributor I

Hello,

I'm using both M33 and A55 (imx93). I want to toggle led from MCU ( GPIO2:IO4) and wakeup A55 with MU interrupt.

Config from MCU: BTN->PCNS=0x0; ( to initialise button and LED ( GPIO2:io23 and GPIO2:io4)

When i suspend the A55 and wake it up from button then the A55 is not waking up as normal.

When i don't use BTN->PCNS=0x0; A55 wake up as normal but this seems being necessary for initialisation.

If you can help !

@Manuel_Salas 

Labels (2)
0 Kudos
Reply
1 Solution
3,739 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @barad 

I hope you are doing very well.

I made some modifications to the power_mode_switch example of the SDK_2_16_000_MCIMX93-EVK, please see the attached patches.

I used the GPIO_IO2 to get an IRQ and wake up the A55 Core:

Alejandro_Salas_0-1724896293048.png

 

(Left side Cortex - A55 and Right side Cortex - M33)

I booted the Cortex M33 on Uboot, then boot linux and sleep it:

Alejandro_Salas_1-1724896463656.png

 

Finally, I have a button connected to GPIO_IO2, and when pressend Linux will wake up:

Alejandro_Salas_2-1724896522601.png

 

Please let me know if it worked for you. I am using SDK_2_16_000_MCIMX93-EVK and Linux imx93evk 6.1.22.

Also, I compiled the SDK example with arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.

 

Best regards,

Salas.

View solution in original post

0 Kudos
Reply
4 Replies
3,799 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @barad 

I hope you are doing well!

How are you doing to wake up the A55 core?

Are you Setting the GCR[GIR1] Register?

 

The log is when you use BTN->PCNS=0x0, right?

 

Best regards,

Salas.

 

0 Kudos
Reply
3,793 Views
barad
Contributor I

Hello Salas, 

Yeah i'm doing good thanks and hope the same for you.

All right i set the register GCR(GIR1) that is the MU interruption to wakeup A55 once the button is clicked. 

Yes the log is when i initialise the GPIO : BTN->PCNS=0x0.

BTN = GPIO2 

Best regards,

Bara

0 Kudos
Reply
3,740 Views
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @barad 

I hope you are doing very well.

I made some modifications to the power_mode_switch example of the SDK_2_16_000_MCIMX93-EVK, please see the attached patches.

I used the GPIO_IO2 to get an IRQ and wake up the A55 Core:

Alejandro_Salas_0-1724896293048.png

 

(Left side Cortex - A55 and Right side Cortex - M33)

I booted the Cortex M33 on Uboot, then boot linux and sleep it:

Alejandro_Salas_1-1724896463656.png

 

Finally, I have a button connected to GPIO_IO2, and when pressend Linux will wake up:

Alejandro_Salas_2-1724896522601.png

 

Please let me know if it worked for you. I am using SDK_2_16_000_MCIMX93-EVK and Linux imx93evk 6.1.22.

Also, I compiled the SDK example with arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.

 

Best regards,

Salas.

0 Kudos
Reply
3,668 Views
barad
Contributor I

Hello @Manuel_Salas,

Thanks for the reply.

I forgot to mention that i use a screen on the EVK.

The bug happend when i suspend the MPU and touch the screen after wakeup (with gpio interrupt / MU interrupt / touch screen). Touching the screen generate an interruption that can wakeup MPU.

This issue happen only when i use gpio initialisation on MCU.

If i use a mouse on EVK then there is no bug til i touch the screen.

If i don't initialise gpio on MCU then there is no bug even when i touch the screen after wakeup.

Best regards,

Bara DIOP

 

 

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1940277%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX93%20M33%20initialize%20GPIO2%20and%20A55%20not%20waking%20up%20normally%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1940277%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3EI'm%20using%20both%20M33%20and%20A55%20(imx93).%20I%20want%20to%20toggle%20led%20from%20MCU%20(%20GPIO2%3AIO4)%20and%20wakeup%20A55%20with%20MU%20interrupt.%3C%2FP%3E%3CP%3EConfig%20from%20MCU%3A%20BTN-%26gt%3BPCNS%3D0x0%3B%20(%20to%20initialise%20button%20and%20LED%20(%20GPIO2%3Aio23%20and%20GPIO2%3Aio4)%3C%2FP%3E%3CP%3EWhen%20i%20suspend%20the%20A55%20and%20wake%20it%20up%20from%20button%20then%20the%20A55%20is%20not%20waking%20up%20as%20normal.%3C%2FP%3E%3CP%3EWhen%20i%20don't%20use%20BTN-%26gt%3BPCNS%3D0x0%3B%20A55%20wake%20up%20as%20normal%20but%20this%20seems%20being%20necessary%20for%20initialisation.%3C%2FP%3E%3CP%3EIf%20you%20can%20help%20!%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F203368%22%20target%3D%22_blank%22%3E%40Manuel_Salas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1940277%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EBoard%20Design%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPackage%20and%20IO%7CGPIO%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1947271%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20IMX93%20M33%20initialize%20GPIO2%20and%20A55%20not%20waking%20up%20normally%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1947271%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F203368%22%20target%3D%22_blank%22%3E%40Manuel_Salas%3C%2FA%3E%2C%3C%2FP%3E%3CP%3EThanks%20for%20the%20reply.%3C%2FP%3E%3CP%3EI%20forgot%20to%20mention%20that%20i%20use%20a%20screen%20on%20the%20EVK.%3C%2FP%3E%3CP%3EThe%20bug%20happend%20when%20i%20suspend%20the%20MPU%20and%20touch%20the%20screen%20after%20wakeup%20(with%20gpio%20interrupt%20%2F%20MU%20interrupt%20%2F%20touch%20screen).%20Touching%20the%20screen%20generate%20an%20interruption%20that%20can%20wakeup%20MPU.%3C%2FP%3E%3CP%3EThis%20issue%20happen%20only%20when%20i%20use%20gpio%20initialisation%20on%20MCU.%3C%2FP%3E%3CP%3EIf%20i%20use%20a%20mouse%20on%20EVK%20then%20there%20is%20no%20bug%20til%20i%20touch%20the%20screen.%3C%2FP%3E%3CP%3EIf%20i%20don't%20initialise%20gpio%20on%20MCU%20then%20there%20is%20no%20bug%20even%20when%20i%20touch%20the%20screen%20after%20wakeup.%3C%2FP%3E%3CP%3EBest%20regards%2C%3C%2FP%3E%3CP%3EBara%20DIOP%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1942898%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20IMX93%20M33%20initialize%20GPIO2%20and%20A55%20not%20waking%20up%20normally%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1942898%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F239398%22%20target%3D%22_blank%22%3E%40barad%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20hope%20you%20are%20doing%20very%20well.%3C%2FP%3E%0A%3CP%3EI%20made%20some%20modifications%20to%20the%20power_mode_switch%20example%20of%20the%26nbsp%3BSDK_2_16_000_MCIMX93-EVK%2C%20please%20see%20the%20attached%20patches.%3C%2FP%3E%0A%3CP%3EI%20used%20the%20GPIO_IO2%20to%20get%20an%20IRQ%20and%20wake%20up%20the%20A55%20Core%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Alejandro_Salas_0-1724896293048.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Alejandro_Salas_0-1724896293048.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F295930i6F3654FEC8D898CE%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Alejandro_Salas_0-1724896293048.png%22%20alt%3D%22Alejandro_Salas_0-1724896293048.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E(Left%20side%20Cortex%20-%20A55%20and%20Right%20side%20Cortex%20-%20M33)%3C%2FP%3E%0A%3CP%3EI%20booted%20the%20Cortex%20M33%20on%20Uboot%2C%20then%20boot%20linux%20and%20sleep%20it%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Alejandro_Salas_1-1724896463656.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Alejandro_Salas_1-1724896463656.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F295931iB4EE0AB9921CFED9%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Alejandro_Salas_1-1724896463656.png%22%20alt%3D%22Alejandro_Salas_1-1724896463656.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EFinally%2C%20I%20have%20a%20button%20connected%20to%20GPIO_IO2%2C%20and%20when%20pressend%20Linux%20will%20wake%20up%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Alejandro_Salas_2-1724896522601.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Alejandro_Salas_2-1724896522601.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F295932i046DDBD3FAB9FF81%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Alejandro_Salas_2-1724896522601.png%22%20alt%3D%22Alejandro_Salas_2-1724896522601.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EPlease%20let%20me%20know%20if%20it%20worked%20for%20you.%20I%20am%20using%26nbsp%3BSDK_2_16_000_MCIMX93-EVK%20and%26nbsp%3B%3CSPAN%3ELinux%20imx93evk%206.1.22.%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAlso%2C%20I%20compiled%20the%20SDK%20example%20with%26nbsp%3Barm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3EBest%20regards%2C%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ESalas.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1940596%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20IMX93%20M33%20initialize%20GPIO2%20and%20A55%20not%20waking%20up%20normally%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1940596%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Salas%2C%26nbsp%3B%3C%2FP%3E%3CP%3EYeah%20i'm%20doing%20good%20thanks%20and%20hope%20the%20same%20for%20you.%3C%2FP%3E%3CP%3EAll%20right%20i%20set%20the%20register%20GCR(GIR1)%20that%20is%20the%20MU%20interruption%20to%20wakeup%20A55%20once%20the%20button%20is%20clicked.%26nbsp%3B%3C%2FP%3E%3CP%3EYes%20the%20log%20is%20when%20i%20initialise%20the%20GPIO%20%3A%26nbsp%3B%3CSPAN%3EBTN-%26gt%3BPCNS%3D0x0.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EBTN%20%3D%20GPIO2%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EBest%20regards%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EBara%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1940588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20IMX93%20M33%20initialize%20GPIO2%20and%20A55%20not%20waking%20up%20normally%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1940588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F239398%22%20target%3D%22_blank%22%3E%40barad%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20hope%20you%20are%20doing%20well!%3C%2FP%3E%0A%3CP%3EHow%20are%20you%20doing%20to%20wake%20up%20the%20A55%20core%3F%3C%2FP%3E%0A%3CP%3EAre%20you%20Setting%20the%20GCR%5BGIR1%5D%20Register%3F%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThe%20log%20is%20when%20you%20use%26nbsp%3B%3CSPAN%3EBTN-%26gt%3BPCNS%3D0x0%2C%20right%3F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%3EBest%20regards%2C%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ESalas.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E