Colibri iMX6: About UART power rails

Hi team,

A customer contacted me regarding some doubts about the power down of the module.

Basically, when they run the shutdown command, they’ve seen that UART_C (and probably other signals) go down around 3ms before than the nRESET_OUT. I also see that the 3.3V is still kept high.

https://share.toradex.com/8chg96r3ark56qy

What is the explanation of this? Shouldn’t it stay high given that the 3.3V rail is still high and they are using the pin as PU? I couldn’t find any info on the CB design guide.

Thanks and regards,
Alvaro.

What exact 3.3V rail are you talking about?

Please note that the behavior of doing shutdown on a module is highly module specific. On some modules we can shutdown most on-module rails via PMIC but on others this is not possible. A proper power-off solution therefore always involves the carrier board as well, see power-off GPIO usage:

https://developer.toradex.com/knowledge-base/gpio-linux#GPIO_PowerOff

Well, I don’t know the details on the power rails that are on the SoC… So I suspected that what drives the 3.3C pins in the Colibri Eval Board (the ones specifically stated as “3.3V”) come from the PMIC or the SoC, but I might be wrong, so kindly clarify if that is the case!

As for the oscilloscope image itself, where the UART_C go down before the nRESET_OUT, is it possible to change this behaviour with the pinmux settings? Like, keep it high despite the shutdown.

Well Alvaro can you check which 3.3 volts they mean?

But that the UART signal goes down first after the shutdown command makes sense.
The reset output is dirived from an internal GPIO Pin. And I would guess that this is the last thing happening when sending the command shutdown.
but I need to verify with R&D tomorrow.

Hi @matthias.tx , @marcel.tx

the 3.3V is any of the pins that can be found on the Colibri Eval Board, on the X8 or X11 connector. The customer didn’t mention the 3.3V rails since I thought that would be driving these pins (but I could be wrong of course). Sorry if the “3.3V rail” part confused you, I referred to 3.3V pin on the Colibri EVB.

Further comments from the customer:

We could see the following:

  1. After the shutdown, the PUS value of the GPIOs,etc. is not saved
  2. All UART_TXD (A,B,C) go down 3ms befor the RESET_OUT goes down.

So, we would like to know the following:

  1. What is the “principle” behind that UART_TXD going L after shutdown? Is it because UART_TXD simply outputs 0V after the shutdown? Or is that the pin because and input port pulled-down? (Or is there any other reason)
  2. Is it possible to leave the UART_TXD to “H” after RESET_OUT gets “L” at least until the 3.3V is supplied?

Basically the customer wants some detailed reasoning to understand why, despite using PUS as “Pull-up 100K”, these pins go L while 3.3V is supplied, and how they can change it.

Sorry for the very fine-grained question, but the help is appreciated.

hello Alvaro,

there are two different 3.3 volts we are talking about here. one is the internal 3.3 volts that will be shut down by the shutdown command and the other is the 3.3 volt on the carrier. this one will stay on.
there are ways the use a GPIO to kill the Carriers DC/DC converters.
like Marcel mentioned https://developer.toradex.com/knowledge-base/gpio-linux#GPIO_PowerOff
when you use shutdown the reset output is triggered by software. That means when you give the command shutdown the system ends the processes and as the last thing, it set a GPIO to high which triggers the reset output of the module. the reason why the UART goes low is most likely because the UART driver get shut down before as the last act the SOC put the reset out. (I assume that they measured the UART TDX on the SOM pin.)

In the datasheet of the IMX6 it is documented that the reset out is buffered and when using a software reset triggered by an internal SOC GPIO.

Best Regards,

Matthias

Thanks Matthias. Checking with the customer, I’ll let you know with anything.