This file contains basic information on the port of U-Boot to IPHASE4539 (Interphase 4539 T1/E1/J1 PMC Communications Controller). All the changes fit in the common U-Boot infrastructure, providing a new IPHASE4539-specific entry in makefiles. To build U-Boot for IPHASE4539, type "make IPHASE4539_config", edit the "include/config_IPHASE4539.h" file if necessary, then type "make". Common file modifications: -------------------------- The following common files have been modified by this project: (starting from the ppcboot-1.1.5/ directory) MAKEALL - IPHASE4539 entry added Makefile - IPHASE4539_config entry added New files: ---------- The following new files have been added by this project: (starting from the ppcboot-1.1.5/ directory) board/iphase4539/ - board-specific directory board/iphase4539/Makefile - board-specific makefile board/iphase4539/config.mk - config file board/iphase4539/flash.c - flash driver (for AM29LV033C) board/iphase4539/ppcboot.lds - linker script board/iphase4539/iphase4539.c - ioport and memory initialization include/config_IPHASE4539.h - main configuration file New configuration options: -------------------------- CONFIG_IPHASE4539 Main board-specific option (should be defined for IPHASE4539). Acceptance criteria tests: -------------------------- The following tests have been conducted to validate the port of U-Boot to IPHASE4539: 1. Operation on serial console: With SMC1 defined as console in the main configuration file, the U-Boot output appeared on the serial terminal connected to the 2.5mm stereo jack connector as follows: ------------------------------------------------------------------------------ => help base - print or set address offset bdinfo - print Board Info structure bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol bootd - boot default, i.e., run 'bootcmd' cmp - memory compare coninfo - print console devices and informations cp - memory copy crc32 - checksum calculation dcache - enable or disable data cache echo - echo args to console erase - erase FLASH memory flinfo - print FLASH memory information go - start application at address 'addr' help - print online help icache - enable or disable instruction cache iminfo - print header information for application image loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nm - memory modify (constant address) printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables sleep - delay execution for some time source - run script from memory tftpboot- boot image via network using TFTP protocol and env variables ipaddr and serverip version - print monitor version ? - alias for 'help' => ------------------------------------------------------------------------------ 2. Flash driver operation The following sequence was performed to test the "flinfo" command: ------------------------------------------------------------------------------ => flinfo Bank # 1: AMD AM29LV033C (32 Mbit, uniform sectors) Size: 4 MB in 64 Sectors Sector Start Addresses: FF800000 (RO) FF810000 (RO) FF820000 FF830000 FF840000 FF850000 FF860000 FF870000 FF880000 FF890000 FF8A0000 FF8B0000 FF8C0000 FF8D0000 FF8E0000 FF8F0000 FF900000 FF910000 FF920000 FF930000 FF940000 FF950000 FF960000 FF970000 FF980000 FF990000 FF9A0000 FF9B0000 FF9C0000 FF9D0000 FF9E0000 FF9F0000 FFA00000 FFA10000 FFA20000 FFA30000 FFA40000 FFA50000 FFA60000 FFA70000 FFA80000 FFA90000 FFAA0000 FFAB0000 FFAC0000 FFAD0000 FFAE0000 FFAF0000 FFB00000 (RO) FFB10000 (RO) FFB20000 (RO) FFB30000 (RO) FFB40000 FFB50000 FFB60000 FFB70000 FFB80000 FFB90000 FFBA0000 FFBB0000 FFBC0000 FFBD0000 FFBE0000 FFBF0000 ------------------------------------------------------------------------------ Note: the Hardware Configuration Word (HWC) of the 8260 is on the first sector of the flash and should not be touched. The U-Boot environment variables #!/usr/bin/python -u import libvirt import sys import os if not os.access("/proc/xen", os.R_OK): print 'System is not running a Xen kernel' sys.exit(1) conn = libvirt.openReadOnly(None) if conn == None: print 'Failed to open connection to the hypervisor' sys.exit(1) # print conn try: dom0 = conn.lookupByName("Domain-0") except: print 'Failed to find the main domain' sys.exit(1) # print dom0 print "Domain 0: id %d running %s" % (dom0.ID(), dom0.OSType()) print dom0.info() del dom0 del conn print "OK" sys.exit(0)