iMX28 powerup and PSWITCH issue

cancel
Showing results for 
Search instead for 
Did you mean: 

iMX28 powerup and PSWITCH issue

2,573 Views
nick33
Contributor II

Hi, I am bringing up an iMX28 design that uses a single 5v supply and no battery. I have the PSWITCH input tied to the 5v supply through 2 resistors and a cap to GND in a "T" configuration. When I power the board, the iMX starts to boot from the SD card but doesnt get through configuring and enabling the DC-DC converters before rebooting. Also, I've noticed that the 22 MHz crystal is not running. Freescale tech support tells me that my PSWITCH configuration shouldn't be the problem but I've gone through just about every line of the power_prep.c bootlet and it appears that everything is OK there. (I did uncomment the #define for 5v only operation) and I also applied the patches to power_prep.c for 5v only operation. I need the iMX28 to power up and boot reliably whenever the single 5v supply comes up and will have no button / switch /etc to control PSWITCH so I need to do something to reliably control PSWITCH or tie it to a voltage (VXTAL?) Anyone have any similar experiences? I've read a couple of other posts that relate to this problem but found no solid solution. Thanks! 

Tags (2)
11 Replies

164 Views
samuelsalas
Contributor III

hi,

I did apply the patch "L2.6.35_10.12_SDK_5V_SUPPLY_PATCH.tar.gz" and my bug desapear! after several months of worries, I finally found my pins DCDC_BAT and BATTERY weren't connected (floating pins is never good...)

The bug was not easy, it happened not always. Sometimes it froze during mounting ubifs (always during boot then). We looked at the NAND, but nothing in particular, and when I looked to this discussion, I thought the freezing could happen from the battery mode. Then I applied the patch and I was succesfull. See the patch modificationprocedure here :

Steps for applying patches to (i.MX28 + L2.6.35_10.12.01_SDK)

I use a Linux 2.6.35 on an imx283 and imx287.

Thank you everyone for the discussion which helped me a lot!

Sam.

0 Kudos

164 Views
Ramtry
Contributor III

Hi Nicholas,

I had the same problem regarding the crystal problem for one my design (ATMEL processor). I placed the crystal bit far from the processor. So, the crystal was not working. Then in the next design, i placed the crystal close to processor, then the crystal started working. I am not 100% sure about your problem. May be this could be also problem.

Thank you,

RAM

0 Kudos

164 Views
Ramtry
Contributor III

Hi Nicholas,

There are 3 state where you can connect your Pswitch.

1) Low Level --> Connected to Ground

2) Mid Level --> Connected to VDDXTAL

3) High Level --> Connected to 2.45V

In my design, I connected PSwitch to VDDXTAL and works fine.

DC-DC converter to work, you have to make sure that you given 4.2V to the VDD4P2 pin. This voltage will be used for DC-DC converter to generate voltage for the processor. I would like to confirm that the 4.2V is given to VDD4P2 pin.

I hope this may help to solve your problem.

Thank you,

RAM

0 Kudos

164 Views
nick33
Contributor II

Funny: When I pull PSWITCH to GND through a 10K resistor, the processor continues to reboot, reboot, etc, only faster! As below.....

 

PowerPrep start initialize power...

Configured for 5v only power source.            Battery powered operation disabled.
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC
PowerPrep start initialize power...

Configured for 5v only power source.            Battery powered operation disabled.
HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC
PowerPrep start initialize power...

0 Kudos

164 Views
MarcCoussement
Contributor I

Hi nichols,

I can only speak from my experience with WinCE.

You can try on the EVAL board, simply keep the power button pressed and turn the power supply on.

Marc

0 Kudos

164 Views
fear_nada
Contributor II

PSWITCH_IN going to external connector from cpu module,  but not connected on main board to any.

try just pull PSWITCH to GND

BR!

0 Kudos

164 Views
nick33
Contributor II

Hi Andrew, in your schematic, what is pswitch_in connected to? (I see that the two resistors to VXTAL and VDDIO are not populated) Also, I mistyped before... I am using a 24.0 MHz crystal and not 22 MHz.

 

Hi Marc, I am trying to boot either UBoot or the Linux kernel from an SD but am not even getting through the power_prep bootlet properly. I can see that the 4.2v supply is getting initialized properly but VDDD, VDDA and VDDIO are not. before the processor repeatedly reboots. (always reboots at the same point in power_prep,c where the code enables the FET to connect DCDC-VDDD to the rail) In power_prep.c, I know that nothing is shorted on my board. I have uncommented the #define NO_DCDC_BATTERY_SOURCE line so that the bootlet doesn't bother with checking the battery voltage. Funny thing is that I tried holding PSWITCH to GND while powering up the 5v supply. This is supposed to bring up the processor in the "powered down" state (?) but in my case my processor only powers up and reboots faster while holding PSWITCH to GND! When I let PSWITCH pull up (to about 2.5v in my case) the processor behaves as described previously I only tried this on one board though so I might have a bad processor. I am able to connect PSWITCH in a way similar to Andrews schematic. I can pull PSWITCH to GND through a resistor and connect the series resistor to another supply like VXTAL after the 5v supply powers up and see what happens. Will try this when I get back to work tomorrow.

0 Kudos

164 Views
MarcCoussement
Contributor I

For winCE the Battery voltage must be in a valid range before boot will continue.

If no battery is connected you will need the pull-down the battery to be sure the voltage is about zero and not floating.

If this is not possible you must change the code.

Hereby a wild guess .. i didn't test it, i guess if the system measures any battery voltage it will put the boot on hold until the battery is higher then BATTERY_BOOT

in the function "void ChargeBattery2Boot()" also check the function "BOOL IsBatteryGood()"

found in "C:\WINCE600\PLATFORM\iMX28-EVK-PDK1_9\SRC\BOOTLOADER\XLDR\xldr.c"

 

Regards

Marc

0 Kudos

164 Views
fear_nada
Contributor II

Hi. i use this sch.

i use only VDD5V for power. and DCDC_BAT_BATTERY pulled to gnd on main board.

and i use 24Mhz not 22.

0 Kudos

164 Views
nick33
Contributor II
Thanks Marc. I didn't use the battery pin so I didn't bring it out and don't have access to it on my prototype boards. I can see on the debug port that the battery voltage gets to about 1v on the unconnected battery in before the processor reboot. I can pull PSWITCH to ground through a resistor in place of the cap and use a jumper to connect it to VXTL after the 5v supply comes up.
0 Kudos

164 Views
MarcCoussement
Contributor I

I have a identical step running well .....

The Pswitch is closed with a strap (permanently) ..... i added a pull-down resistor to the battery connection, if the system detects a voltage on the battery due to leakage and the absent of the battery, the system will wait from booting until the (unconnected) battery is charged. You can see this activity on the serial debug port.

Until now i have 10 proto PCB's running without problem for 8 months now. First production batch 100 pcs is for within 3 weeks ... cross fingers

Marc

0 Kudos