Can NXP provide register settings/steps to set WKUP21 as wakeup source?
board = NXP S32G399A-RDB3
Thank you
-w
Solved! Go to Solution.
Hi,
The following information is provided under the BSP38.0 User Manual:
Don't know if it helps.
Please, let us know.
Have you checked out the documentation provided by NXP for the S32G399A-RDB3 board?
Hi,
Are you looking into setting this under the M7 core (Real-Time Drivers related) or the A53 core (Linux related)?
If for M7 core, can you help us share the RTD package version you are using?
If for A53 core, can you help us share the BSP version you are using?
As for the general request, are you looking for the general steps? Or for example codes?
On regards of the general steps, we can recommend looking into the Chapter 23 Wakeup Unit (WKPU) of the S32G32 RM [Page 967, S32G3 Reference Manual, Rev. 3, 02/2023].
Please, let us know.
A53 core
We are running a QNX BSP, but maybe you could provide the register setting steps for S32G399A-RDB3, as was provided in this previous request to NXP for s32k platform:
https://community.nxp.com/t5/S32G/Standby-and-Wakeup-by-RTD-on-S32G2/m-p/1522874
Thank you,
-Bill
Hi,
Thanks for the feedback. We see that the post relates to S32G, for which we assume the S32K was a typo. If so, we will share the registers related to S32G3 for WKUP21 similar that what was shared under the referenced thread:
WKPU_WIFER = 0;
WKPU_WBMSR = 0x00100000;
WKPU_IRER = 0x0;
WKPU_WRER = 0x0;
SIUL2_0.MSCR[183].B.PUE = 1;
SIUL2_0.MSCR[183].B.PUS = 1;
SIUL2_0.MSCR[183].B.IBE = 1;
STBY_GPR.WKUP_PUS.B.WKUP_PUS |= 0x00100000;
WKPU_WIPUER_WIPDER = 0x00100000;
STBY_GPR.WKUP_PUS.B.WKUP_PU_OVERRIDE |= 0x1;
WKPU_WIFEER = 0;
WKPU_WIREER = 0x00100000;
WKPU_IRER = 0;
WKPU_WRER = 0x00100000;
WKPU_WISR = 0xffffffff;
Still, could be that we misunderstood the request. If so we apologize.
Please, let us know.
On S32G399A-RDB3 board, I am utilizing J5 pin 19 as wakeup source, labeled:
GPI[182]
WKUP21
External IRQ7
Would settings of:
WKPU_WBMSR
STBY_GPR.WKUP_PUS.B.WKUP_PUS
WKPU_WIPUER_WIPDER,
WKPU_WIREER
WKPU_WRER
= 0x00200000 ?
then set MSCR[182]:
SIUL2_0.MSCR[182].B.PUE = 1;
SIUL2_0.MSCR[182].B.PUS = 1;
SIUL2_0.MSCR[182].B.IBE = 1;
Thanks, -bill.
Hi,
Thanks for your feedback. We do apologize, it does seem that we provided the wrong values. As you say, MSCRn should be 182:
And for the hex, it is also correct, should be 0x00200000:
Again, we do apologize for our mistake.
Please, let us know.
With the recommended settings, J5 pin 19, WKUP21 reads 3.3v.
1) run mode (not standby), low to WKUP21 set the following register as expected:
WISR = 00200000
2) standby mode, WKUP21 immediately drops out (no longer 3.3v)
board remains in standby
Shouldn't this pin retain its value in standby?
Hi,
If done correctly as shown under the S32G3 RM []:
The pull-up should have been changed to the WKUP module and it should still be enabled (since there is still voltage under the VPRE_3V3 power rail).
Can you debug your application? If so, can you stop prior to requesting the mode change under MC_ME_MODE_CONF? Then read the values of related the registers to confirm the values.
Please, let us know.
I verified the following:
before_standby after_standby
WKUP21 High Low
VPRE_3V3 High High
PMIC_STBY_MODE_B High Low
VDD_IO_STBY High High
Note:
It appears transitioning from standby to run mode is operating correctly.
The internal RTC confgured as Wakeup Source does resume HW from standby mode.
Were you able to configure and use WKUP21 as wakeup source on HW S32G399A-RDB3?
Hi,
Thanks for your update. We seem to be able to maintain the pullup under WKUP21 under the RTD's (with M7 core).
How are you implementing the register configuration from your side?
We can also recommend opening a ticket under the NXP online services, for a private channel in case sharing information requires it.
Please, let us know.
I am using Trace32 (A53 core) to setup registers.
Does GPIO/Wakeup setup need to be configured by ATF, or can this be done using a Cortex-A53 EL1 driver ?
Hi,
Are you using any specific BSP version from NXP?
Under the BSP38.0 User Manual the following is told:
In which the modification needs to be made under the TF-A. Also, the following is noted:
"Note, however, that U-Boot is not involved in the Suspend/Resume sequence; only the TF-A is."
Don't know if this is of use.
Please, let us know.
Where can I download the TF-A source?
Thanks, -bill
Hi,
The following information is provided under the BSP38.0 User Manual:
Don't know if it helps.
Please, let us know.
Thanks for your help, appreciate it.
-bill