mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 16:31:25 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Overview
 | |
| --------
 | |
| The MPC8544DS system is similar to the 85xx CDS systems such
 | |
| as the MPC8548CDS due to the similar E500 core.  However, it
 | |
| is placed on the same board as the 8641 HPCN system.
 | |
| 
 | |
| 
 | |
| Flash Banks
 | |
| -----------
 | |
| Like the 85xx CDS systems, the 8544 DS board has two flash banks.
 | |
| They are both present on boot, but there locations can be swapped
 | |
| using the dip-switch SW10, bit 2.
 | |
| 
 | |
| However, unlike the CDS systems, but similar to the 8641 HPCN
 | |
| board, a runtime reset through the FPGA can also affect a swap
 | |
| on the flash bank mappings for the next reset cycle.
 | |
| 
 | |
| Irrespective of the switch SW10[2], booting is always from the
 | |
| boot bank at 0xfff8_0000.
 | |
| 
 | |
| 
 | |
| Memory Map
 | |
| ----------
 | |
| 
 | |
| 0xff80_0000 - 0xffbf_ffff	Alernate bank		4MB
 | |
| 0xffc0_0000 - 0xffff_ffff	Boot bank		4MB
 | |
| 
 | |
| 0xffb8_0000			Alternate image start	512KB
 | |
| 0xfff8_0000			Boot image start	512KB
 | |
| 
 | |
| 
 | |
| Flashing Images
 | |
| ---------------
 | |
| 
 | |
| For example, to place a new image in the alternate flash bank
 | |
| and then reset with that new image temporarily, use this:
 | |
| 
 | |
|     tftp 1000000 u-boot.bin.8544ds
 | |
|     erase ffb80000 ffbfffff
 | |
|     cp.b 1000000 ffb80000 80000
 | |
|     pixis_reset altbank
 | |
| 
 | |
| 
 | |
| To overwrite the image in the boot flash bank:
 | |
| 
 | |
|     tftp 1000000 u-boot.bin.8544ds
 | |
|     protect off all
 | |
|     erase fff80000 ffffffff
 | |
|     cp.b 1000000 fff80000 80000
 | |
| 
 | |
| Other example U-Boot image and flash manipulations examples
 | |
| can be found in the README.mpc85xxcds file as well.
 | |
| 
 | |
| 
 | |
| The pixis_reset command
 | |
| -----------------------
 | |
| A new command, "pixis_reset", is introduced to reset mpc8641hpcn board
 | |
| using the FPGA sequencer.  When the board restarts, it has the option
 | |
| of using either the current or alternate flash bank as the boot
 | |
| image, with or without the watchdog timer enabled, and finally with
 | |
| or without frequency changes.
 | |
| 
 | |
| Usage is;
 | |
| 
 | |
| 	pixis_reset
 | |
| 	pixis_reset altbank
 | |
| 	pixis_reset altbank wd
 | |
| 	pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
 | |
| 	pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
 | |
| 
 | |
| Examples;
 | |
| 
 | |
| 	/* reset to current bank, like "reset" command */
 | |
| 	pixis_reset
 | |
| 
 | |
| 	/* reset board but use the to alternate flash bank */
 | |
| 	pixis_reset altbank
 | |
| 
 | |
| 	/* reset board, use alternate flash bank with watchdog timer enabled*/
 | |
| 	pixis_reset altbank wd
 | |
| 
 | |
| 	/* reset board to alternate bank with frequency changed.
 | |
| 	 * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
 | |
| 	 */
 | |
| 	pixis-reset altbank cf 40 2.5 10
 | |
| 
 | |
| Valid clock choices are in the 8641 Reference Manuals.
 | |
| 
 | |
| 
 | |
| Using the Device Tree Source File
 | |
| ---------------------------------
 | |
| To create the DTB (Device Tree Binary) image file,
 | |
| use a command similar to this:
 | |
| 
 | |
|     dtc -b 0 -f -I dts -O dtb mpc8544ds.dts > mpc8544ds.dtb
 | |
| 
 | |
| Likely, that .dts file will come from here;
 | |
| 
 | |
|     linux-2.6/arch/powerpc/boot/dts/mpc8544ds.dts
 | |
| 
 | |
| After placing the DTB file in your TFTP disk area,
 | |
| you can download that dtb file using a command like:
 | |
| 
 | |
|     tftp 900000 mpc8544ds.dtb
 | |
| 
 | |
| Burn it to flash if you want.
 | |
| 
 | |
| 
 | |
| Booting Linux
 | |
| -------------
 | |
| 
 | |
| Place a linux uImage in the TFTP disk area too.
 | |
| 
 | |
|     tftp 1000000 uImage.8544
 | |
|     tftp 900000 mpc8544ds.dtb
 | |
|     bootm 1000000 - 900000
 | |
| 
 | |
| Watch your ethact, netdev and bootargs U-Boot environment variables.
 | |
| You may want to do something like this too:
 | |
| 
 | |
|     setenv ethact eTSEC3
 | |
|     setenv netdev eth1
 |