Power up for the First time

I received my boards (based off Rev C4) about a week ago and have been
trying to track down all the bugs. I'm pretty stumped right now and
could use your help. The board is identical to Rev C4 except I am
using newer NAND, and I do not have any video or audio connections.

My main concern right now is that I am reading 0v for the following:
VDD_SIM
VDAC_1V8
VMMC1
VDAC_1V8

Also, I only get 200mv for VDD_PLL2

Other than there being a possible shorted component somewhere on my
board is there a reason why these voltages would not output the proper
voltages the first time I powered up my board? Do I need to load MLO
on my board before I will get these voltages?

I read the VMMC1 is "possibly" controlled by the card detect pin. I
have CD pulled high when there is no card inserted and low when there
is a card inserted. Either way I never get voltage from VMMC1. Could
this be because of the register settings or is it more likely that I
have a short on my board somewhere?

I have been probing around my board for days and reworking it wherever
I see potential problems. However, nothing has solved this problems.

I received my boards (based off Rev C4) about a week ago and have been

You have built your own board?

trying to track down all the bugs. I'm pretty stumped right now and
could use your help. The board is identical to Rev C4 except I am
using newer NAND, and I do not have any video or audio connections.

My main concern right now is that I am reading 0v for the following:
VDD_SIM
VDAC_1V8
VMMC1
VDAC_1V8

Also, I only get 200mv for VDD_PLL2

do you see VDD1 (VCORE) and VDD2 for the CPU?

Other than there being a possible shorted component somewhere on my
board is there a reason why these voltages would not output the proper
voltages the first time I powered up my board? Do I need to load MLO

In most cases it is a short circuit.

on my board before I will get these voltages?

No.

There is a power up sequence for the TPS65950 and you will find it in
one (or two) of the documents.

I read the VMMC1 is "possibly" controlled by the card detect pin. I
have CD pulled high when there is no card inserted and low when there
is a card inserted. Either way I never get voltage from VMMC1. Could

If I remember correctly, 1.8V comes first, then VDD1 and then VDD2.
A little later VMMC1 will come. And only then, the boot ROM will start.

this be because of the register settings or is it more likely that I
have a short on my board somewhere?

Most likely.

But you can check that:
1. does the 32kHz oscillator run as soon as you see VBATT?
2. what does the REGEN pin say? Are there some impulses?

On the first www.gta04.org boards we did see similar problems. Some were
from a short circuit under the OMAP CPU for VDD1 or VDD2. The TPS
did then try to power up every 10 ms or so but failed.

Another problem was that we had not followed all design rules for
the TPS DC/DC converter. So the converter did misinterpret a too
high series resistance as a short circuit and switched off.

-- hns

First, thanks for the reply. To answer your questions: this is a
custom board.

Here are the voltages that I measured on my custom board that I think
are correct.

VDD1 = 1.2v
VDD2 = 1.2v
VIO_1V8 = 1.8v
VOCORE_1V3 = 1.2v
VDD_PLL1 =1.8v
3.3V = 3.3v
VBATT = 4.2v

Here are the bad voltages
VDAC_1V8 =0v
VMMC1 =0v
VDD_PLL2 =.2v
EHCI =.08v

Also, there is VDD_SIM which is 0v but I also measure it as 0v on the
BeagleBoard.

On a scope I looked at the following signals:

32KCLKOUT on TPS65950 (PIN N10) = Looks like a beautiful
32.77Khz @ 1.9v pk-pk

26Mhz Oscillator Output = It's 26MHz @
800mv pk-pk. Due to a footprint error in the board I did have to dead
bug this component. However, it looks just as good on the scope as the
BeagleBoards output.

HFCLKOUT on TPS65950 (PIN R12) = Looks the same as at the 26Mhz
oscillator but it's @ 1v pk-pk and it appears to be exactly 26.000Mhz
whereas the oscillator was a little less stable.

I made a dumb mistake and did not break out REGEN on my board. So I
don't think there is any way for me to probe it.

I did leave the JTAG interface on my board and I have experimented
with writing to the OMAP registers through JTAG. It seems that I can
write to most of the memory locations but for some reason there are a
bunch of 0x4905#### addresses that I can not write to. I was thinking
that this is either related to a portion of the OMAP not being powered
up OR caused by not yet having MLO and Uboot running (I can't load MLO
or Uboot through the SD Card slot until i figure out what is causing
VMMC1 to no work).

Thanks again for any help.

Here are the voltages that I measured on my custom board that I think
are correct.

VDD1 = 1.2v
VDD2 = 1.2v
VIO_1V8 = 1.8v
VOCORE_1V3 = 1.2v
VDD_PLL1 =1.8v
3.3V = 3.3v
VBATT = 4.2v

Looks all ok.

Here are the bad voltages
VDAC_1V8 =0v
VMMC1 =0v
VDD_PLL2 =.2v
EHCI =.08v

Some of these may need SW-Initialization but VMMC1 should be there.

On a scope I looked at the following signals:

32KCLKOUT on TPS65950 (PIN N10) = Looks like a beautiful
32.77Khz @ 1.9v pk-pk

26Mhz Oscillator Output = It's 26MHz @
800mv pk-pk. Due to a footprint error in the board I did have to dead
bug this component. However, it looks just as good on the scope as the
BeagleBoards output.

HFCLKOUT on TPS65950 (PIN R12) = Looks the same as at the 26Mhz
oscillator but it's @ 1v pk-pk and it appears to be exactly 26.000Mhz
whereas the oscillator was a little less stable.

All ok!

I made a dumb mistake and did not break out REGEN on my board. So I
don't think there is any way for me to probe it.

I think it is not required if you have VDD1/2 power.

I did leave the JTAG interface on my board and I have experimented
with writing to the OMAP registers through JTAG. It seems that I can
write to most of the memory locations but for some reason there are a
bunch of 0x4905#### addresses that I can not write to. I was thinking
that this is either related to a portion of the OMAP not being powered
up OR caused by not yet having MLO and Uboot running (I can't load MLO
or Uboot through the SD Card slot until i figure out what is causing
VMMC1 to no work).

It could also be that some functional blocks don't have their clock enabled.

Hm. Another idea/fault we had on one sample board: there was one 0R
missing for the BOOT selection. So the Boot ROM did never try to read
from MMC. And if I remember correctly, did not enable VMMC1.

Anyways - do you have RS232 I/O? Some "message" 40W or 60?
In that case you could also try to boot over the serial line avoiding
all MMC problems. And if you have U-Boot up and running, you can flash
it (together with x-loader) to NAND. This simplifies analysing a broken
MMC interface.

After that you can add your own test commands to U-Boot to directly address
the subsystems, read registers etc. And, you can read out status registers
of the TPS.

Finally a last issue to check: please don't swap the I2C1 SDA and SCL
lines (as we did through a bug in our component library). We could
work around by horribly patching the I2C drivers but doing a new
layout of the board was the better solution. As far as I remember the
Boot ROM could not communicate with the TPS and therefore could
also not switch on VMMC1. But the patched U-Boot could. So we had to
boot the first phases from NAND and the second one from MMC.

Good luck!

-- hns

I wanted to reply and share my current finding related to this issue.

I sent my boards off to have them x-rayed. Unfortunately, the x-ray
did not reveal much. I can tell that my chip is aligned properly but
I can not guarantee all the balls are present and making contact.
There just isn't enough detail to determine that.

Meanwhile, I have also sent a few boards out to be professorially
populated and I should get those back in 2 weeks.

---Useful Information---
I put together a spread sheet:
http://tinyurl.com/6h2a2hh

It might be useful to other people who are building custom boards. It
shows the voltages present on a beagle board with no software (aka no
bootloader) installed and also shows the voltages with the bootloaders
and OS installed. There is also a column with the voltages I measured
on my own board. Notice that only one Voltage is actually wrong and
that's MMC1 for the SDCard.

If I measure the resistance from ground to VMMC1 on my custom board
and on a beagle board the values are the same. This leads me to
believe that all the connections are proper in the circuit and that
something else is disabling the VMMC1 LDO.

Problem solved! It must have been bad soldering on the OMAP3530 or TPS
chip. I had a board populated professionally and it seems to work
great. Now I have new issues to resolve.