⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.mpc85xxads

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻 MPC85XXADS
字号:
Motorola MPC8540ADS and MPC8560ADS boardCreated 10/15/03 Xianghua XiaoUpdated 13-July-2004 Jon Loeliger-----------------------------------------0. Toolchain    The Binutils in current ELDK toolchain will not support MPC85xx    chip.  You need to use binutils-2.14.tar.bz2 (or newer) from    http://ftp.gnu.org/gnu/binutils.    The 8540/8560 ADS code base is known to compile using:	gcc (GCC) 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-2a)1. SWITCH SETTINGS & JUMPERS1.0 Nomenclature    For some reason, the HW designers describe the switch settings    in terms of 0 and 1, and then map that to physical switches where    the label "On" refers to logic 0 and "Off" (unlabeled) is logic 1.    Luckily, we're SW types and virtual settings are handled daily.    The switches for the Rev A board are numbered differently than    for the Pilot board.  Oh yeah.    Switch bits are numbered 1 through, like, 4 6 8 or 10, but the    bits may contribute to signals that are numbered based at 0,    and some of those signals may be high-bit-number-0 too.  Heed    well the names and labels and do not get confused.    "Off" == 1    "On"  == 0    SW18 is switch 18 as silk-screened onto the board.    SW4[8] is the bit labled 8 on Switch 4.    SW2[1:6] refers to bits labeled 1 through 6 in order on switch 2    SW3[7:1] refers to bits labeled 7 through 1 in order on switch 31.1 For the MPC85xxADS Pilot Board    First, make sure the board default setting is consistent with the document    shipped with your board. Then apply the following changes:    SW3[1-6]="all OFF"	(boot from 32bit flash, no boot sequence is used)    SW10[2-6]="all OFF" (turn on CPM SCC for serial port,works for 8540/8560)    SW11[2]='OFF for 8560, ON for 8540' (toggle 8540.8560 mode)    SW11[7]='ON' (rev2), 'OFF' (rev1)    SW4[7-8]="OFF OFF" (enable serial ports,I'm using the top serial connector)    SW22[1-4]="OFF OFF ON OFF"    SW5[1-10[="ON ON OFF OFF OFF OFF OFF OFF OFF OFF"    J1 = "Enable Prog" (Make sure your flash is programmable for development)    If you want to test PCI functionality with a 33Mhz PCI card, you will    have to change the system clock from the default 66Mhz to 33Mhz by    setting SW15[1]="OFF" and SW17[8]="OFF". After that you may also need    double your platform clock(SW6) because the system clock is now only    half of its original value. For example, if at 66MHz your system    clock showed SW6[0:1] = 01, then at 33MHz SW6[0:1] it should be 10.	SW17[8] ------+	   SW6	SW15[1] ----+ |	  [0:1]		    V V	   V V	33MHz	    1 1	   1 0	66MHz	    0 0	   0 1    Hmmm... That SW6 setting description is incomplete but it works.1.3 For the MPC85xxADS Rev A Board    As shipped, the board should be a 33MHz PCI bus with a CPU Clock    rate of 825 +/- fuzz:	Clocks: CPU: 825 MHz, CCB: 330 MHz, DDR: 165 MHz, LBC:	82 MHz    For 33MHz PCI, the switch settings should be like this:	SW18[7:1] = 0100001 = M==33 =>	  33MHz	SW18[8]	  =	  1	    => PWD Divider == 16	SW16[1:2] =	 11	    => N == 16 as PWD==1    Use the magical formula:	Fout (MHz) = 16 * M / N = 16 * 33 / 16 = 33 MHz	SW7[1:4]  =    1010 = 10    => 10 x 33	 = 330	CCB Sysclk	SW7[5:6]  =	 01	    => 5:2 x 330 = 825	Core clock    For 66MHz PCI, the switch settings should be like this:	SW18[7:1] = 0100001 = M==33 =>	  33MHz	SW18[8]	  =	  0	    => PWD Divider == 1	SW16[1:2] =	 01	    => N == 8 as PWD == 0    Use the magical formula:	Fout (MHz) = 16 * M / N = 16 * 33 / 8 = 66 MHz	SW7[1:4]  =    0101 =  5    => 5 x 66	 = 330	CCB Sysclk	SW7[5:6]  =	 01	    => 5:2 x 330 = 825	Core clock2. MEMORY MAP TO WORK WITH LINUX KERNEL2.1. For the initial bringup, we adopted a consistent memory scheme     between u-boot and linux kernel, you can customize it based on your     system requirements:     0x0000_0000     0x7fff_ffff     DDR		     2G     0x8000_0000     0x9fff_ffff     PCI MEM		     512M     0xc000_0000     0xdfff_ffff     Rapid IO		     512M     0xe000_0000     0xe00f_ffff     CCSR		     1M     0xe200_0000     0xe2ff_ffff     PCI IO		     16M     0xf000_0000     0xf7ff_ffff     SDRAM		     128M     0xf800_0000     0xf80f_ffff     BCSR		     1M     0xff00_0000     0xffff_ffff     FLASH (boot bank)	     16M2.2 We are submitting Linux kernel patches for MPC8540 and MPC8560. You    can download them from linuxppc-2.4 public source. Please make sure the    kernel's ppcboot.h is consistent with U-Boot's u-boot.h. You can use two    default configuration files as your starting points to configure the    kernel:	arch/ppc/configs/mpc8540_ads_defconfig	arch/ppc/configs/mpc8560_ads_defconfig3. DEFINITIONS AND COMPILATION3.1 Explanation on NEW definitions in:	include/configs/MPC8540ADS.h	include/configs/MPC8560ADS.h    CONFIG_BOOKE	    BOOKE(e.g. Motorola MPC85xx, IBM 440, etc)    CONFIG_E500		    BOOKE e500 family(Motorola)    CONFIG_MPC85xx	    MPC8540,MPC8560 and their derivatives    CONFIG_MPC8540	    MPC8540 specific    CONFIG_MPC8560	    MPC8560 specific    CONFIG_MPC8540ADS	    MPC8540ADS board specific    CONFIG_MPC8560ADS	    MPC8560ADS board specific    CONFIG_TSEC_ENET	    Use on-chip 10/100/1000 ethernet for networking    CONFIG_SPD_EEPROM	    Use SPD EEPROM for DDR auto configuration, you can			    also manual config the DDR after undef this			    definition.    CONFIG_DDR_ECC	    only for ECC DDR module    CONFIG_DDR_DLL	    DLL fix on some ADS boards needed for more			    stability.Other than the above definitions, the rest in the config files arestraightforward.3.2 Compilation    Assuming you're using BASH shell:	export CROSS_COMPILE=your-cross-compile-prefix	cd u-boot	make distclean	make MPC8560ADS_config (or make MPC8540ADS_config)	make4.  Notes:4.1 When connecting with kermit, the following commands must be present.in    your .kermrc file. These are especially important when booting as    MPC8560, as the serial console will not work without them:	set speed 115200	set carrier-watch off	set handshake none	set flow-control none	robust4.2 Sometimes after U-Boot is up, the 'tftp' won't work well with TSEC    ethernet. If that happens, you can try the following steps to make    network work:	MPC8560ADS>tftp 1000000 pImage	(if it hangs, use Ctrl-C to quit)	MPC8560ADS>nm fdf24524	>0	>1	>. (to quit this memory operation)	MPC8560ADS>tftp 1000000 pImage4.3 If you're one of the early developers using the Rev1 8540/8560 chips,    please use U-Boot 1.0.0, as the newer silicon will only support Rev2    and future revisions of 8540/8560.4.4 Reflash U-boot Image using U-boot    => tftp 10000 u-boot.bin    => protect off fff80000 ffffffff    => erase fff80000 ffffffff    => cp.b 10000 fff80000 800004.5 Reflash U-Boot with a BDI-2000    BDI> erase 0xFFF80000 0x4000 0x20    BDI> prog 0xfff80000 u-boot.bin.8560ads    BDI> verify5. Screen dump MPC8540ADS boardU-Boot 1.1.2(pq3-20040707-0) (Jul  6 2004 - 17:34:25)Freescale PowerPC    Core: E500, Version: 2.0, (0x80200020)    System: 8540, Version: 2.0, (0x80300020)    Clocks: CPU: 825 MHz, CCB: 330 MHz, DDR: 165 MHz, LBC:  82 MHz    L1 D-cache 32KB, L1 I-cache 32KB enabled.Board: ADS    PCI1: 32 bit, 66 MHz (compiled)I2C:   readyDRAM:  Initializing    SDRAM: 64 MB    DDR: 256 MBFLASH: 16 MBL2 cache enabled: 256KB*** Warning - bad CRC, using default environmentIn:    serialOut:   serialErr:   serialNet:   MOTO ENET0: PHY is Marvell 88E1011S (1410c62)MOTO ENET1: PHY is Marvell 88E1011S (1410c62)MOTO ENET2: PHY is Davicom DM9161E (181b881)MOTO ENET0, MOTO ENET1, MOTO ENET2Hit any key to stop autoboot:  0=>=> fliBank # 1: Intel 28F640J3A (64 Mbit, 64 x 128K)  Size: 16 MB in 64 Sectors  Sector Start Addresses:    FF000000	  FF040000	FF080000      FF0C0000	    FF100000    FF140000	  FF180000	FF1C0000      FF200000	    FF240000    FF280000	  FF2C0000	FF300000      FF340000	    FF380000    FF3C0000	  FF400000	FF440000      FF480000	    FF4C0000    FF500000	  FF540000	FF580000      FF5C0000	    FF600000    FF640000	  FF680000	FF6C0000      FF700000	    FF740000    FF780000	  FF7C0000	FF800000      FF840000	    FF880000    FF8C0000	  FF900000	FF940000      FF980000	    FF9C0000    FFA00000	  FFA40000	FFA80000      FFAC0000	    FFB00000    FFB40000	  FFB80000	FFBC0000      FFC00000	    FFC40000    FFC80000	  FFCC0000	FFD00000      FFD40000	    FFD80000    FFDC0000	  FFE00000	FFE40000      FFE80000	    FFEC0000    FFF00000	  FFF40000	FFF80000 (RO) FFFC0000 (RO)=> bdinfomemstart    = 0x00000000memsize	    = 0x10000000flashstart  = 0xFF000000flashsize   = 0x01000000flashoffset = 0x00000000sramstart   = 0x00000000sramsize    = 0x00000000immr_base   = 0xE0000000bootflags   = 0xE4013F80intfreq	    =	 825 MHzbusfreq	    =	 330 MHzethaddr	    = 00:E0:0C:00:00:FDeth1addr    = 00:E0:0C:00:01:FDeth2addr    = 00:E0:0C:00:02:FDIP addr	    = 192.168.1.253baudrate    = 115200 bps=> printenvbootcmd=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddrramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;bootm $loadaddr $ramdiskaddrnfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddrbootdelay=10baudrate=115200loads_echo=1ethaddr=00:E0:0C:00:00:FDeth1addr=00:E0:0C:00:01:FDeth2addr=00:E0:0C:00:02:FDipaddr=192.168.1.253serverip=192.168.1.1rootpath=/nfsrootgatewayip=192.168.1.1netmask=255.255.255.0hostname=unknownbootfile=your.uImageloadaddr=200000netdev=eth0consoledev=ttyS0ramdiskaddr=400000ramdiskfile=your.ramdisk.u-bootstdin=serialstdout=serialstderr=serialethact=MOTO ENET0Environment size: 1020/8188 bytes

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -