imx8ulp: how to use WUU1 ?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

imx8ulp: how to use WUU1 ?

1,163 次查看
martinetd
Contributor IV

Hi,

 

We're using the i.MX8ULP for our product.

When suspending, we powerdown the M33 core as well as suspending on the A35 (as the power_mode_switch demo does with LPM_PowerModePowerDown)

My understanding of this mode of this mode is that wake-ups can only come from WUU0 in the demo, which can wake up for a variety of sources (LPTMR[0-1], gpios...)

 

My question here is that, is it possible to also use WUU1 in this case? (or perhaps WKPU)

I would like to also be able to wake up from PTE/PTF or USB PHY wakeup.

 

WUU1 is connected to PCC3 so I am not sure it is possible to use it directly from the M33 core (or if the M33 core would even get an interrupt in this case...), but I assume it could wake up the A35 core directly which would in turn be able to wake up the M33 core somehow? (I would have hoped for a WUU0 source being available from the mailbox but I do not see one...)


Unfortunately I've looked everywhere I could find (mcuxsdk examples, latest linux kernel) and could not find anything making use of the WUU1 or WKPU, and the documentation is rather sparse, so any help would be appreciated.

 

Thank you,

Dominique

标签 (1)
0 项奖励
回复
3 回复数

1,137 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,
My question here is that, is it possible to also use WUU1 in this case? (or perhaps WKPU)

--> WKPU designed for A core. For WUU1, i don't think you can use it in M33 as from the block diagram ,the WUU1 is designed in A core.

Zhiming_Liu_0-1734067096696.png

 

I would like to also be able to wake up from PTE/PTF or USB PHY wakeup.

--> All available wake up sources are defined in 16.1.2 WUU0/WUU1 wake-up sources configuration, you can't use sources belong to A35 to wake up M33.

Best Regards,
Zhiming

0 项奖励
回复

1,133 次查看
martinetd
Contributor IV
Hello Zhiming,

thank you for your reply.

> WKPU designed for A core. For WUU1, i don't think you can use it in M33 as from the block diagram ,the WUU1 is designed in A core.

Yes, from what I can see both are designed for A core; I was thinking of waking up the A core and from then waking up the m33 core from the A core.

The problem is that, in our suspend case, we suspend the A core (echo mem > /sys/power/state), then the power_mode_switch lpm code lowers the A core voltage etc and then we power off the M core.

If there had not been lpm voltage manipulations I would have tried to just write an ad-hoc driver to driver WUU1 from linux directly, but as things stand I do not think the A core can wake up at all even if an event from WUU1 is raised. We probably need to go through the M core first to raise voltages?

> All available wake up sources are defined in 16.1.2 WUU0/WUU1 wake-up sources configuration

I am sorry but I do not see how WUU1 could be used even in a less extreme configuration (e.g. A core asleep, m33 running)

Giving up on WUU1, in the reference manual, the m33 NVIC and WIC interrupt sources both list signals for USB0 and GPIOE/GPIOF -- could these be used while the A core is asleep if the m33 core is kept awake?
(that is, accept that if linux configured usb as a wake up source then the m33 core will not become asleep, but still save most of the power by shutting down the A core)

Does that sound possible?

Thank you,
Dominique
0 项奖励
回复

1,109 次查看
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

We probably need to go through the M core first to raise voltages?

-->Yes, from the APP_WakeupACore function, you need raise the voltage with pmic

Zhiming_Liu_0-1734335265565.png

I am sorry but I do not see how WUU1 could be used even in a less extreme configuration (e.g. A core asleep, m33 running)

-->The point I'm trying to make is that WUU0 can only be used for M33, wuu1 can only be used for A35, and the wakeup sources they can each accept are fixed in the table.

 

the m33 NVIC and WIC interrupt sources both list signals for USB0 and GPIOE/GPIOF -- could these be used while the A core is asleep if the m33 core is kept awake?

-->If you just need wake up A core , USB0 and WUU1 can be used, the ATF already enabled these interfaces. These signals have nothing to do with whether the M33 is running or not. But like you mentioned earlier, if you use the M33 power switch demo to control the power switch, you may have issues with it not waking up due to voltage.

https://github.com/nxp-imx/imx-atf/blob/lf-6.6.36-2.1.0/plat/imx/imx8ulp/imx8ulp_psci.c

Zhiming_Liu_1-1734336939894.png

 


Best Regards,
Zhiming

0 项奖励
回复