123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482 |
- Freescale Alaska MPC8220 board
- ==============================
- TsiChung Liew(Tsi-Chung.Liew@freescale.com)
- Created 9/21/04
- ===========================================
- Changed files:
- ==============
- - Makefile added MPC8220 and Alaska8220_config
- - MAKEALL added MPC8220 and Alaska8220
- - README added CONFIG_MPC8220, Alaska8220_config
- - common/cmd_bdinfo.c added board information members for MPC8220
- - common/cmd_bootm.c added clocks for MPC8220 in do_bootm_linux()
- - include/common.h added CONFIG_MPC8220
- - include/asm-ppc/u-boot.h added board information members for MPC8220
- - include/asm-ppc/global_data.h added global variables - inp_clk, pci_clk,
- vco_clk, pev_clk, flb_clk, and bExtUart
- - lib_ppc/board.c added CONFIG_MPC8220 support
- - net/eth.c added FEC support for MPC8220
- Added files:
- ============
- - board/alaska directory for Alaska MPC8220
- - board/alaska/alaska.c Alaska dram and BATs setup
- - board/alaska/extserial.c external serial (debug card serial) support
- - board/alaska/flash.c Socket (AMD) and Onboard (INTEL) flash support
- - board/alaska/serial.c to determine which int/ext serial to use
- - board/alaska/Makefile Makefile
- - board/alaska/config.mk config make
- - board/alaska/u-boot.lds Linker description
- - cpu/mpc8220/dma.h multi-channel dma header file
- - cpu/mpc8220/dramSetup.h dram setup header file
- - cpu/mpc8220/fec.h MPC8220 FEC header file
- - cpu/mpc8220/cpu.c cpu specific code
- - cpu/mpc8220/cpu_init.c Flexbus ChipSelect and Mux pins setup
- - cpu/mpc8220/dramSetup.c MPC8220 DDR SDRAM setup
- - cpu/mpc8220/fec.c MPC8220 FEC driver
- - cpu/mpc8220/i2c.c MPC8220 I2C driver
- - cpu/mpc8220/interrupts.c interrupt support (not enable)
- - cpu/mpc8220/loadtask.c load dma
- - cpu/mpc8220/speed.c system, pci, flexbus, pev, and cpu clock
- - cpu/mpc8220/traps.c exception
- - cpu/mpc8220/uart.c MPC8220 UART driver
- - cpu/mpc8220/Makefile Makefile
- - cpu/mpc8220/config.mk config make
- - cpu/mpc8220/fec_dma_task.S MPC8220 FEC multi-channel dma program
- - cpu/mpc8220/io.S io functions
- - cpu/mpc8220/start.S start up
- - include/mpc8220.h
- - include/asm-ppc/immap_8220.h
- - include/configs/Alaska8220.h
- 1. SWITCH SETTINGS
- ==================
- 1.1 SW1: 0 - Boot from Socket Flash (AMD) or 1 - Onboard Flash (INTEL)
- SW2: 0 - Select MPC8220 UART or 1 - Debug Card UART
- SW3: unsed
- SW4: 0 - 1284 or 1 - FEC1
- SW5: 0 - PEV or 1 - FEC2
- 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
- ===========================================
- 2.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:
- DDR: 0x00000000-0x1fffffff (max 512MB)
- MBAR: 0xf0000000-0xf0027fff (128KB)
- CPLD: 0xf1000000-0xf103ffff (256KB)
- FPGA: 0xf2000000-0xf203ffff (256KB)
- Flash: 0xfe000000-0xffffffff (max 32MB)
- 3. DEFINITIONS AND COMPILATION
- ==============================
- 3.1 Explanation on NEW definitions in include/configs/alaska8220.h
- CONFIG_MPC8220 MPC8220 specific
- CONFIG_ALASKA8220 Alaska board specific
- CFG_MPC8220_CLKIN Define Alaska Input Clock
- CONFIG_PSC_CONSOLE Enable MPC8220 UART
- CONFIG_EXTUART_CONSOLE Enable External 16552 UART
- CFG_AMD_BOOT To determine the u-boot is booted from AMD or Intel
- CFG_MBAR MBAR base address
- CFG_DEFAULT_MBAR Reset MBAR base address
- 3.2 Compilation
- export CROSS_COMPILE=cross-compile-prefix
- cd u-boot-1-1-x
- make distclean
- make Alaska8220_config
- make
- 4. SCREEN DUMP
- ==============
- 4.1 Alaska MPC8220 board
- Boot from AMD (NOTE: May not show exactly the same)
- U-Boot 1.1.1 (Sep 22 2004 - 22:14:41)
- CPU: MPC8220 (JTAG ID 1640301d) at 300 MHz
- Bus 120 MHz, CPU 300 MHz, PCI 30 MHz, VCO 480 MHz
- Board: Alaska MPC8220 Evaluation Board
- I2C: 93 kHz, ready
- DRAM: 256 MB
- Reserving 167k for U-Boot at: 0ffd6000
- FLASH: 16.5 MB
- *** Warning - bad CRC, using default environment
- In: serial
- Out: serial
- Err: serial
- Net: FEC ETHERNET
- => flinfo
- Bank # 1: INTEL 28F128J3A
- Size: 8 MB in 64 Sectors
- Sector Start Addresses:
- FE000000 FE020000 FE040000 FE060000 FE080000
- FE0A0000 FE0C0000 FE0E0000 FE100000 FE120000
- FE140000 FE160000 FE180000 FE1A0000 FE1C0000
- FE1E0000 FE200000 FE220000 FE240000 FE260000
- FE280000 FE2A0000 FE2C0000 FE2E0000 FE300000
- FE320000 FE340000 FE360000 FE380000 FE3A0000
- FE3C0000 FE3E0000 FE400000 FE420000 FE440000
- FE460000 FE480000 FE4A0000 FE4C0000 FE4E0000
- FE500000 FE520000 FE540000 FE560000 FE580000
- FE5A0000 FE5C0000 FE5E0000 FE600000 FE620000
- FE640000 FE660000 FE680000 FE6A0000 FE6C0000
- FE6E0000 FE700000 FE720000 FE740000 FE760000
- FE780000 FE7A0000 FE7C0000 FE7E0000
- Bank # 2: INTEL 28F128J3A
- Size: 8 MB in 64 Sectors
- Sector Start Addresses:
- FE800000 FE820000 FE840000 FE860000 FE880000
- FE8A0000 FE8C0000 FE8E0000 FE900000 FE920000
- FE940000 FE960000 FE980000 FE9A0000 FE9C0000
- FE9E0000 FEA00000 FEA20000 FEA40000 FEA60000
- FEA80000 FEAA0000 FEAC0000 FEAE0000 FEB00000
- FEB20000 FEB40000 FEB60000 FEB80000 FEBA0000
- FEBC0000 FEBE0000 FEC00000 FEC20000 FEC40000
- FEC60000 FEC80000 FECA0000 FECC0000 FECE0000
- FED00000 FED20000 FED40000 FED60000 FED80000
- FEDA0000 FEDC0000 FEDE0000 FEE00000 FEE20000
- FEE40000 FEE60000 FEE80000 FEEA0000 FEEC0000
- FEEE0000 FEF00000 (RO) FEF20000 (RO) FEF40000 FEF60000
- FEF80000 FEFA0000 FEFC0000 FEFE0000 (RO)
- Bank # 3: AMD AMD29F040B
- Size: 0 MB in 7 Sectors
- Sector Start Addresses:
- FFF00000 (RO) FFF10000 (RO) FFF20000 (RO) FFF30000 FFF40000
- FFF50000 FFF60000
- Bank # 4: AMD AMD29F040B
- Size: 0 MB in 1 Sectors
- Sector Start Addresses:
- FFF70000 (RO)
- => bdinfo
- memstart = 0xF0009800
- memsize = 0x10000000
- flashstart = 0xFFF00000
- flashsize = 0x01080000
- flashoffset = 0x00025000
- sramstart = 0xF0020000
- sramsize = 0x00008000
- bootflags = 0x00000001
- intfreq = 300 MHz
- busfreq = 120 MHz
- inpfreq = 30 MHz
- flbfreq = 30 MHz
- pcifreq = 30 MHz
- vcofreq = 480 MHz
- pevfreq = 81 MHz
- ethaddr = 00:E0:0C:BC:E0:60
- eth1addr = 00:E0:0C:BC:E0:61
- IP addr = 192.162.1.2
- baudrate = 115200 bps
- => printenv
- bootargs=root=/dev/ram rw
- bootdelay=5
- baudrate=115200
- ethaddr=00:e0:0c:bc:e0:60
- eth1addr=00:e0:0c:bc:e0:61
- ipaddr=192.162.1.2
- serverip=192.162.1.1
- gatewayip=192.162.1.1
- netmask=255.255.255.0
- hostname=Alaska
- stdin=serial
- stdout=serial
- stderr=serial
- ethact=FEC ETHERNET
- Environment size: 268/65532 bytes
- => setenv ipaddr 192.160.1.2
- => setenv serverip 192.160.1.1
- => setenv gatewayip 192.160.1.1
- => saveenv
- Saving Environment to Flash...
- .
- Un-Protected 1 sectors
- Erasing Flash...
- Erasing sector 0 ... done
- Erased 1 sectors
- Writing to Flash... done
- .
- Protected 1 sectors
- => tftp 0x10000 linux.elf
- Using FEC ETHERNET device
- TFTP from server 192.160.1.1; our IP address is 192.160.1.2; sending through gateway 192.160.1.1
- Filename 'linux.elf'.
- Load address: 0x10000
- Loading: invalid RARP header
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- ##################################################
- done
- Bytes transferred = 2917494 (2c8476 hex)
- => bootelf
- Loading .text @ 0x00a00000 (23820 bytes)
- Loading .data @ 0x00a06000 (2752512 bytes)
- Clearing .bss @ 0x00ca6000 (12764 bytes)
- ## Starting application at 0x00a00000 ...
- Collect some entropy from RAM........done
- loaded at: 00A00000 00CA91DC
- zimage at: 00A06A93 00AD7756
- initrd at: 00AD8000 00CA5565
- avail ram: 00CAA000 014AA000
- Linux/PPC load: ip=off console=ttyS0,115200
- Uncompressing Linux...done.
- Now booting the kernel
- Total memory in system: 256 MB
- Memory BAT mapping: BAT2=256Mb, BAT3=0Mb, residual: 0Mb
- Linux version 2.4.21-rc1 (r61688@bluesocks.sps.mot.com) (gcc version 3.3.1) #17 Wed Sep 8 11:49:16 CDT 2004
- Motorola Alaska port (C) 2003 Motorola, Inc.
- CPLD rev 3
- CPLD switches 0x1b
- Set Pin Mux for FEC1
- Set Pin Mux for FEC2
- Alaska Pin Multiplexing:
- Port Configuration Register 0 = 0
- Port Configuration Register 1 = 0
- Port Configuration Register 2 = 0
- Port Configuration Register 3 = 50000000
- Port Configuration Register 3 - PCI = 51400180
- Setup Alaska FPGA PIC:
- Interrupt Enable Register *(u32) = 0
- Interrupt Status Register = 2f0000
- Interrupt Enable Register in_be32 = 0
- Interrupt Status Register = 2f0000
- Interrupt Enable Register in_le32 = 0
- Interrupt Status Register = 2f00
- Interrupt Enable Register readl = 0
- Interrupt Status Register = 2f00
- Interrupt Enable Register = 0
- Interrupt Status Register = 2f0000
- Setup Alaska PCI Controller:
- On node 0 totalpages: 65536
- zone(0): 65536 pages.
- zone(1): 0 pages.
- zone(2): 0 pages.
- Kernel command line: ip=off console=ttyS0,115200
- Using XLB clock (120.00 MHz) to set up decrementer
- Calibrating delay loop... 199.88 BogoMIPS
- Memory: 254792k available (1476k kernel code, 708k data, 228k init, 0k highmem)
- Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
- Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
- Mount cache hash table entries: 512 (order: 0, 4096 bytes)
- Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
- Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
- POSIX conformance testing by UNIFIX
- PCI: Probing PCI hardware
- PCI: (pcibios_init) Global-Hose = 0xc029d000
- Scanning bus 00
- Fixups for bus 00
- Bus scan for 00 returning with max=00
- PCI: (pcibios_init) finished pci_scan_bus(hose->first_busno = 0, hose->ops = c01a1a74, hose = c029d000)
- PCI: (pcibios_init) PCI Bus Count = 0 =?= Next Bus# = 1
- PCI: (pcibios_init@pci_fixup_irqs) finished machine dependent PCI interrupt routing!
- PCI: bridge rsrc 81000000..81ffffff (100), parent c01a7f88
- PCI: bridge rsrc 84000000..87ffffff (200), parent c01a7fa4
- PCI: (pcibios_init) finished allocating and assigning resources!
- initDma!
- Using 90 DMA buffer descriptors
- descUsed f0023600, descriptors f002360c freeSram f0024140
- unmask SDMA tasks: 0xf0008018 = 0x6f000000
- Linux NET4.0 for Linux 2.4
- Based upon Swansea University Computer Society NET3.039
- Initializing RT netlink socket
- Starting kswapd
- Journalled Block Device driver loaded
- JFFS version 1.0, (C) 1999, 2000 Axis Communications AB
- JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
- pty: 256 Unix98 ptys configured
- tracek: Copyright (C) Motorola, 2003.
- Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
- ttyS00 at 0xf1001008 (irq = 73) is a ST16650
- ttyS01 at 0xf1001010 (irq = 74) is a ST16650
- elp-fpanel: Copyright (C) Motorola, 2003.
- fpanel: fpanelWait timeout
- elp-engine: Copyright (C) Motorola, 2003.
- Video disabled due to configuration switch 4
- Alpine 1284 driver: Copyright (C) Motorola, 2003.
- 1284 disabled due to configuration switch 5
- Alpine USB driver: Copyright (C) Motorola, 2003.
- OK
- USB: Descriptor download completed OK
- enable_irq(41) unbalanced
- enable_irq(75) unbalanced
- elp-dmaram: Copyright (C) Motorola, 2003.
- Total memory in system: 256 MB
- elp_dmaram: offset is 0x10000000, size is 0
- Xicor NVRAM driver: Copyright (C) Motorola, 2003.
- elp-video: Copyright (C) Motorola, 2003.
- Video disabled due to configuration switch 4
- elp-pfm: Copyright (C) Motorola, 2003.
- paddle: Copyright (C) Motorola, 2001, present.
- RAMDISK driver initialized: 16 RAM disks of 12288K size 1024 blocksize
- loop: loaded (max 8 devices)
- PPP generic driver version 2.4.2
- PPP Deflate Compression module registered
- Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
- ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
- init_alaska_mtd: chip probing count 0
- cfi_cmdset_0001: Erase suspend on write enabled
- Using buffer write method
- init_alaska_mtd: bank1, name:ALASKA0, size:16777216bytes
- ALASKA flash0: Using Static image partition definition
- Creating 3 MTD partitions on "ALASKA0":
- 0x00000000-0x00280000 : "kernel"
- 0x00280000-0x00fe0000 : "user"
- 0x00fe0000-0x01000000 : "signature"
- mgt_fec_module_init
- mgt_fec_init()
- mgt_fec_init
- mgt_init_fec_dev(0xc05f6000,0)
- dev c05f6000 fec_priv c05f6160 fec f0009000
- mgt_init_fec_dev(0xc05f6800,1)
- dev c05f6800 fec_priv c05f6960 fec f0009800
- NET4: Linux TCP/IP 1.0 for NET4.0
- IP Protocols: ICMP, UDP, TCP, IGMP
- IP: routing cache hash table of 2048 buckets, 16Kbytes
- TCP: Hash tables configured (established 16384 bind 32768)
- NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
- RAMDISK: Compressed image found at block 0
- Freeing initrd memory: 1845k freed
- JFFS: Trying to mount a non-mtd device.
- VFS: Mounted root (romfs filesystem) readonly.
- Freeing unused kernel memory: 228k init
- INIT: version 2.78 booting
- INIT: Entering runlevel: 1
- "Space, a great big place of unknown stuff." -Dexter, for our MotD.
- [01/Jan/1970:00:00:01 +0000] boa: server version Boa/0.94.8.3
- [01/Jan/1970:00:00:01 +0000] boa: server built Sep 7 2004 at 17:40:55.
- [01/Jan/1970:00:00:01 +0000] boa: starting server pid=28, port 80
- Mounting flash filesystem, will take a minute...
- /etc/rc: line 30: /dev/lp0: No such devish-2.05b#
- sh-2.05b# ifup eth0
- client (v0.9.9-pre) started
- adapter index 2
- adapter hardware address 00:e0:0c:bc:e0:60
- execle'ing /usr/share/udhcpc/default.script
- /sbin/ifconfig eth0
- eth0 Link encap:Ethernet HWaddr 00:E0:0C:BC:E0:60
- BROADCAST MULTICAST MTU:1500 Metric:1
- mgt_fec_open
- Rfec request irq
- X fec_open: rcv_ring_size 8, xmt_ring_size 8
- packmgt_fec_open(): call netif_start_queue()
- ets:0 errors:0 dropped:0 overruns:0 frame:0
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:100
- RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
- Base address:0x9000
- /sbin/ifconfig eth0 up
- entering raw listen mode
- Opening raw socket on ifindex 2
- adding option 0x35
- adding option 0x3d
- adding option 0x3c
- Sending discover...
- Waiting on select...
- unrelated/bogus packet
- Waiting on select...
- oooooh!!! got some!
- adding option 0x35
- adding option 0x3d
- adding option 0x3c
- adding option 0x32
- adding option 0x36
- Sending select for 163.12.48.146...
- Waiting on select...
- oooooh!!! got some!
- Waiting on select...
- oooooh!!! got some!
- Lease of 163.12.48.146 obtained, lease time 345600
- execle'ing /usr/share/udhcpc/default.script
- /sbin/ifconfig eth0 163.12.48.146 netmask 255.255.254.0
- /sbin/ifconfig eth0 up
- deleting routers
- /sbin/route del default
- /sbin/route add default gw 163.12.49.254 dev eth0
- adding dns 163.12.252.230
- adding dns 192.55.22.4
- adding dns 192.5.249.4
- entering none listen mode
- sh-2.05b#
- 5. REPROGRAM U-BOOT
- ===================
- 5.1 Reprogram u-boot (boot from AMD)
- 1. Unprotect the boot sector
- => protect off bank 3
- 2. Download new u-boot binary file
- => tftp 0x10000 u-boot.bin
- 3. Erase bootsector (max 7 sectors)
- => erase 0xfff00000 0xfff6ffff
- 4. Program the u-boot to flash
- => cp.b 0x10000 0xfff00000
- 5. Reset for the new u-boot to take place
- => reset
- 5.2 Reprogram u-boot (boot from AMD program at INTEL)
- 1. Unprotect the boot sector
- => protect off bank 2
- 2. Download new u-boot binary file
- => tftp 0x10000 u-boot.bin
- 3. Erase bootsector (max 7 sectors)
- => erase 0xfef00000 0xfefdffff
- 4. Program the u-boot to flash
- => cp.b 0x10000 0xfef00000
- 5. Reset for the new u-boot to take place
- => reset
- 5.3 Reprogram u-boot (boot from INTEL)
- 1. Unprotect the boot sector
- => protect off bank 4
- 2. Download new u-boot binary file
- => tftp 0x10000 u-boot.bin
- 3. Erase bootsector (max 7 sectors)
- => erase 0xfff00000 0xfffdffff
- 4. Program the u-boot to flash
- => cp.b 0x10000 0xfff00000
- 5. Reset for the new u-boot to take place
- => reset
- 5.4 Reprogram u-boot (boot from INTEL program at AMD)
- 1. Unprotect the boot sector
- => protect off bank 1
- 2. Download new u-boot binary file
- => tftp 0x10000 u-boot.bin
- 3. Erase bootsector (max 7 sectors)
- => erase 0xfe080000 0xfe0effff
- 4. Program the u-boot to flash
- => cp.b 0x10000 0xfe080000
- 5. Reset for the new u-boot to take place
- => reset
|