iMX28 power up into USB recovery mode locks up DCDC converter

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

iMX28 power up into USB recovery mode locks up DCDC converter

1,897 Views
Matt_
Contributor II

Does anyone know what the status values given in HW_POWER_SPEED for the switching dc-dc converter mean?

I have a custom board based on the EVK and I'm using the imx-bootlets-src-10.12.01 bootlets with the latest patches.

The board is powered from a 5V source and has no battery so the NO_DCDC_BATT_SOURCE define is set.

In normal operation PSWITCH is pulled down to 0V and everything works fine.

To program the NAND FLASH, used as the normal boot device, I use USB recovery mode by pulling PSWITCH up to VDDIO as per the reference schematic.

This mode is not reliable on my board.  (I don't have the EVK to hand.)

On an oscilloscope I see that sometimes as the power rails rise, the DCDC switcher starts to switch for a few cycles and then stops before the rails reach their default values and the ROM code starts to run.  If this happens then HW_POWER_SPEED[15:8] > 0xa and when the powerprep routines try to start the switcher all that happens is that the VDDA power rail is dragged down towards 0V until the unit locks up or crashes.

If I detect HW_POWER_SPEED[15:8] > 0xa at the start of powerprep and do a powerdown using bit 0 of HW_POWER_RESET, the unit comes back up with HW_POWER_SPEED[15:8] = 0 and everything then works fine.  There are no spurious switching cycles during the subsequent power up as PSWITCH, VDDIO etc are all at defined levels.

Between working and non working power-up modes all register values are identical with the exception of HW_POWER_SPEED - hence my test.

Whilst the workaround appears solid, I'd like to know what the debug bits in HW_POWER_SPEED imply is happening.

Matt.

Labels (1)
Tags (3)
0 Kudos
7 Replies

1,084 Views
admin
Specialist II

From Alfred1z:

Hi,Matthew Hilder:

we did not use USB recovory  mode to put i.mx28 in USB download mode.

you can put LCD_D0,LCD_D1,LCD_D2,LCD_D3 to 0, then i.mx28 will enter USB download mode.

if this cannot resolve your issue, please reply to me.

1,084 Views
Matt_
Contributor II

Thanks Grant,

I tried out your recommendation and sure enough keeping PSWITCH at 0V and using the LCD_D pins to enter USB mode is reliable.  I shall modify the next revision of the design accordingly.

Out of curiousity I'd still like to know the meaning of the HW_POWER_SPEED status values but of course this is not urgent and probably unlikely to happen.

Best Regards,

  Matt.

0 Kudos

1,085 Views
alfred_liu
NXP Employee
NXP Employee

Hi, Matt

I am trying to get the definition for HW_POWER_SPEED from internal team.

before this, I'd like to get more information from you.

1, is the issue just related to USB recovery mode? did you try boot up via SD card?

2, when the issue occurs, what's the status for VDD4P2?

Message was edited by: Weisong Liu

0 Kudos

1,084 Views
Matt_
Contributor II

Hi Weisong Liu,

I believe the issue is related to the PSWITCH pin being pulled up during power up to enter USB recovery mode as it does not occur when it is tied low.  This being the case I would not expect it to occur in any other boot mode such as boot from SD card.  However I can not check this as my design only has NAND flash and USB available.

I'm afraid I can't comment on the status of VDD4P2 as I no longer have the board to hand.  The register dump taken at the start of powerprep before any configuration is identical between working and non working boots with the exception of the HW_POWER_SPEED register which seemed to reflect the occurance of spurious switching cycles.  Hence my question.

The next revision is underway using PSWITCH tied to 0V and adjusting LCD_D pins to select between USB and NAND boot modes as per Grant's advice.

I think it would still be useful to others debugging the PSU to have a definition for HW_POWER_SPEED as it relates to the DCDC converter.  I might even need myself if I get other problems with the next revision!

Best Regards,

  Matt.

0 Kudos

1,085 Views
alfred_liu
NXP Employee
NXP Employee

Hi, Matt

Got it.

Once I get the answer internally, will notice you soon.

0 Kudos

1,085 Views
Matt_
Contributor II

Hi Weisong Liu,

I've made some further discoveries that might be of interest to others using the iMX28 PMU.

Now that I have a greater sample of boards, I have got to the bottom as to why the DC-DC converter locks up on some boards.  I have an audio circuit on the board and I heavily decouple its 3V analogue supply to get a really low noise floor.  However this decoupling is a problem at DCDC converter power-up as the capacitor charging requires too much current.  If I place a 10 Ohm resistor in series with the 3V analogue supply, the problem is eliminated and the Voltage drop at max analogue load minimal.

A second issue I have worked around is that the 100mA USB current limiter at power-up is nominally 50mA (from p947 of the RM).  I missed this (it is not spec'ed in the datasheet) and some of my boards couldn't raise the 3V rail high enough to deactivate the limiter and start the boot.  I'll be more careful on the next iMX PMU design.

Hope this helps some-one.

  Matt.

0 Kudos

1,085 Views
admin
Specialist II

Alfred1z, please see Matt's original post.  Any input about the HW_POWER_SPEED register values?

0 Kudos