[U-Boot-Users] CPM on 8250 board seems stuck.

Hello,
I have a PPC8250 based on which I am trying to boot u-boot. First I am using 8260 toolchain to compile this image, as 8250 is supposed to be equivalent of 8260.
I have configured SCC1 to be the console port.
When I step through the code using BDI, I see is the code is stuck in a while loop in serial_putc waiting for the Buffer descriptor ready bit to get cleared in putc function.
while ( tbdf->cbd_sc & BD_SC_READY ) ;
According to the hardware configuration the CPM should be running at 200 Mhz and core at 300 Mhz. I have CPM factor of 3, , Core Factor 4.5
Now when I reset the SCM by writing to the reset regiser, CPM is supposed to clear the bit when reset is done and I see that CPM is resetting itself correctly.
However I am bit stumped as to why the buffer descriptor may not be getting cleared. I have checked the external signal CTS, the Tx should be happening. I have tried all the baud rates. Only thing I have not tried is auto-baud.
So yesterday I changed order of init and tried to initialize the I2C first and right after the I2C init tried to perform a read something from a address I know where a I2C device is located, I don't see any activity lines on those pins there either.
It appears to me that CPM is "dead". Now how do I prove things either way, that it is not dead or its is working. Any CLUES I would really appreciate them.
In case someone does want to take at my config file I have attached it.
Anybody here that has done 8250 board, and booted u-boot on it, care to share your config.h file?
-Subodh Nijsure

Are you sure your memory map is OK? You set CFG_FLASH0_BASE to 0xFE000000 while in the comments you say it's 0x40000000. What is the value of TEXT_BASE?

In message F0C0133D6BE53342B2A78DE5D200E0A0074577@ssmail2.corp.skystream.com you wrote:
When I step through the code using BDI, I see is the code is stuck in a while loop in serial_putc waiting for the Buffer descriptor ready bit to get cleared in putc function.
while ( tbdf->cbd_sc & BD_SC_READY ) ;
...
It appears to me that CPM is "dead". Now how do I prove things either way, that it is not dead or its is working. Any CLUES I would really appreciate them.
Most probably the CPM is _not_ dead.
This is a typical case where you should lean back and think about the problem. So you programmed an UART, and wait for it to complete send- ing a character. When will this complete? After the last bit and the stop bit(s) have been clocked out. How long will this take? Well, this obviously depends on the clock. Why might it hang forever? Ummm... Maybe there is no clock???
Maybe there is no clock???
Check your BRG setup (probably OK, since not board dependent), and double-check your clock routing!
Anybody here that has done 8250 board, and booted u-boot on it, care to share your config.h file?
Why don't you just use one of the files in the include/configs directory? Checking for example the MAINTAINERS file will reveal at least two MPC8250 based boards.
Best regards,
Wolfgang Denk
participants (3)
-
Subodh Nijsure
-
Wolfgang Denk
-
Yuli Barcohen