[U-Boot-Users] MPC8349E-MDS broken in git head, ok at U-Boot-1_1_4

Hi all,
I'm using the Freescale MPC8349E-MDS-PB (PCI board) reference design and am working on getting the board booted with the latest U-Boot source code obtained from the Denx git tree.
I'm designing a custom board using the MPC8394E processor and want to add a new board support option for this new board when appropriate, but first I want to get the MDS board working with the head of the git development tree, so that my changes are based on the latest code.
I checked out (ok, pulled) the latest git source and built for the MPC8349EMDS target, i.e.,
make MPC8349EMDS_config make
and then flashed the board, and it does not boot (well, I don't get a console at 115k baud, and the source looks like it still uses that rate).
If however, I checkout the U-Boot-1_1_4 branch, build that, and flash it (using a BDI2000 since the board won't boot), then we're back to life. Note that in the 1.1.4 release, the build target is slightly different, since the board was called the ADS
make MPC8349ADS_config make
Looking at the CHANGELOG I can see that there have been a bunch of changes since the 1.1.4 release; the MPC8349EMDS board was added, and then merged with the MPC8349ADS code (actually, there is still a Makefile target in the latest code for the ADS, but it doesn't build). Its not clear when the changes broke the build, or whether the build is fine, and that I just happen to have my board setup slightly differently (I've left it in the stock-format as delivered by Freescale, running in host mode, standalone).
So I can think of two debug options;
- go with the latest code and figure out how to use gdb and the BDI2000 to debug the problem
- start using git bisect, and keep working to find the break.
Both methods are new to me, so I plan to start out with git bisect.
If anyone else has any suggestions I'd welcome them. Otherwise I'll track down the problem and submit a patch.
Regards, Dave Hawkins Caltech.

The MPC8349ADS is merged to MPC8349EMDS in the latest u-boot of GIT. The latest u-boot 83xx source code has more high quality than the U-boot-1.1.4 release. But be careful the boot address is changed from high end to low end memory. and the HRCW need come from flash. So 1) You must program the image to the head of flash. 2) Change the SW4[FCFG] to '1'
Best Regards, Dave
Hi all,
I'm using the Freescale MPC8349E-MDS-PB (PCI board) reference design and am working on getting the board booted with the latest U-Boot source code obtained from the Denx git tree.
I'm designing a custom board using the MPC8394E processor and want to add a new board support option for this new board when appropriate, but first I want to get the MDS board working with the head of the git development tree, so that my changes are based on the latest code.
I checked out (ok, pulled) the latest git source and built for the MPC8349EMDS target, i.e.,
make MPC8349EMDS_config make
and then flashed the board, and it does not boot (well, I don't get a console at 115k baud, and the source looks like it still uses that rate).
If however, I checkout the U-Boot-1_1_4 branch, build that, and flash it (using a BDI2000 since the board won't boot), then we're back to life. Note that in the 1.1.4 release, the build target is slightly different, since the board was called the ADS
make MPC8349ADS_config make
Looking at the CHANGELOG I can see that there have been a bunch of changes since the 1.1.4 release; the MPC8349EMDS board was added, and then merged with the MPC8349ADS code (actually, there is still a Makefile target in the latest code for the ADS, but it doesn't build). Its not clear when the changes broke the build, or whether the build is fine, and that I just happen to have my board setup slightly differently (I've left it in the stock-format as delivered by Freescale, running in host mode, standalone).
So I can think of two debug options;
go with the latest code and figure out how to use gdb and the BDI2000 to debug the problem
start using git bisect, and keep working to find the break.
Both methods are new to me, so I plan to start out with git bisect.

David,
I have the same board and am using a pretty recent sync of U-boot without problems. Give me a few hours and I'll figure out what's different.
regards, Ben
On Thu, 2006-07-20 at 21:25 -0700, David Hawkins wrote:
Hi all,
I'm using the Freescale MPC8349E-MDS-PB (PCI board) reference design and am working on getting the board booted with the latest U-Boot source code obtained from the Denx git tree.
I'm designing a custom board using the MPC8394E processor and want to add a new board support option for this new board when appropriate, but first I want to get the MDS board working with the head of the git development tree, so that my changes are based on the latest code.
I checked out (ok, pulled) the latest git source and built for the MPC8349EMDS target, i.e.,
make MPC8349EMDS_config make
and then flashed the board, and it does not boot (well, I don't get a console at 115k baud, and the source looks like it still uses that rate).
If however, I checkout the U-Boot-1_1_4 branch, build that, and flash it (using a BDI2000 since the board won't boot), then we're back to life. Note that in the 1.1.4 release, the build target is slightly different, since the board was called the ADS
make MPC8349ADS_config make
Looking at the CHANGELOG I can see that there have been a bunch of changes since the 1.1.4 release; the MPC8349EMDS board was added, and then merged with the MPC8349ADS code (actually, there is still a Makefile target in the latest code for the ADS, but it doesn't build). Its not clear when the changes broke the build, or whether the build is fine, and that I just happen to have my board setup slightly differently (I've left it in the stock-format as delivered by Freescale, running in host mode, standalone).
So I can think of two debug options;
go with the latest code and figure out how to use gdb and the BDI2000 to debug the problem
start using git bisect, and keep working to find the break.
Both methods are new to me, so I plan to start out with git bisect.
If anyone else has any suggestions I'd welcome them. Otherwise I'll track down the problem and submit a patch.
Regards, Dave Hawkins Caltech.
Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=D... _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users

Dave,
I did a virgin git-clone this morning and got U-boot running on my MPC8349EMDS. I'm afraid there's nothing too exotic in the methods, though. Here's the sequence:
1. host$ cg-clone git://www.denx.de/git/u-boot.git 2. host$ make MPC8349EMDS_config 3. host$ make all 4. Cold boot board and BDI-2000 5. Program image: 8349>erase 0xfe000000 0x20000 2 Erasing flash at 0xfe000000 Erasing flash at 0xfe020000 Erasing flash passed 8349>prog 0xfe000000 mpc8349emds/u-boot.bin.0721 BIN Programming mpc8349emds/u-boot.bin.0721 , please wait .... Programming flash passed 8349>reset run
I checked all switches and jumpers on the board to make sure I hadn't changed anything. No dice.
Here's the [TARGET] portion of my BDI-2000 config file. This morning I didn't override the HRCW, but have played around with that in the past when things didn't do what I wanted:
[TARGET] CPUTYPE 8349 ;the CPU type JTAGCLOCK 0 ;use 16 MHz JTAG clock POWERUP 2000 ;start delay after power-up detected in ms WAKEUP 500 ;give reset time to complete STARTUP RESET ;halt immediately at the boot vector ;STARTUP RUN ;halt immediately at the boot vector ;RCW 0xb060a000 0x04040000 ; low boot memory, TSEC 1&2 GMII ;BOOTADDR 0xfff00100 ;boot address used for start-up break BOOTADDR 0x00000100 ;boot address used for start-up break BREAKMODE SOFT ;SOFT or HARD, HARD uses PPC hardware breakpoint ;STEPMODE HWBP ;TRACE or HWBP, HWBP uses a hardware breakpoint STEPMODE TRACE ;TRACE or HWBP, HWBP uses a hardware breakpoint MMU XLAT 0xc0000000 ;enable address translation PTBASE 0x000000f0 ;SIO 8023 115200
I suspect your config file has the high boot address, and that's why it's not working. Dave Liu hinted towards that, I believe.
Let me know if there's any other information you need.
regards, Ben

Hi all,
Thanks Dave and Ben, I can now boot with the latest U-Boot.
I was incorrectly flashing the image to the older 0xFE700000 location.
Since this will likely bite someone else, I would like to create
u-boot/doc/README.mpc8349emds
since there isn't one there already. Is there a standard style I should follow, or can I just work in the style of README.mpc83xxads?
Something like this:
1. U-Boot build procedure
2. Upgrading to the latest U-Boot from the Freescale 1.1.3 patched U-Boot delivered on the board
3. Configuring U-Boot for the board operating in PCI agent mode
I've now performed 1 & 2, but haven't looked at 3.
Using od, I see that the HCRW at the start of the U-Boot image is for PCI Host mode with arbiters enabled, i.e., the RCW words are (0x04040000, 0xB060A0000). For agent mode RCW words would need to be (0x04040000, 0xB060A0000). So when I get to the PCI agent testing stage, I'll take a look in the U-Boot source to see is there is a config option to select agent mode. If you guys have used that mode, or know of any other changes I would need to make, please feel free to comment.
Thanks guys!
Regards, Dave
participants (3)
-
Ben Warren
-
David Hawkins
-
Liu Dave-r63238