Difference between revisions of "U-Boot-2011.12"

From ArmadeusWiki
Jump to: navigation, search
m (Features/Status)
 
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
==Status==
  
==Activation==
+
* Please check [[U-Boot-2012.04]] that is now the default U-Boot version for all the APF boards
 
+
* Use "make menuconfig" to change the configuration for U-Boot 2011.12
+
[[Image:U-Boot-2011.12.png]]
+
 
+
==TODO list==
+
 
+
* MMC driver integration pending
+
  
 
==Features/Status==
 
==Features/Status==
Line 36: Line 30:
 
| || || ||  ||    ||   
 
| || || ||  ||    ||   
 
|----------------
 
|----------------
|'''U-Boot power on''' || style="background:#00ff00;" | U-Boot 2011.12...<br />I2C:  ready<br />DRAM:  16 MiB<br />Flash: 8 MiB<br />In:    serial<br />Out:  serial<br />Err:  serial<br />Net:  dm9000 || style="background:#ffff00;" | U-Boot 2011.12...  || style="background:#ffff00;" | U-Boot 2011.12... || style="background:#ffff00;" | U-Boot 2011.12...|| power on the board and check the boot log of the board
+
|'''U-Boot power on''' || style="background:#00ff00;" | U-Boot 2011.12...<br />I2C:  ready<br />DRAM:  16 MiB<br />Flash: 8 MiB<br />In:    serial<br />Out:  serial<br />Err:  serial<br />Net:  dm9000 || style="background:#00ff00;" | U-Boot 2011.12... <br />Freescale i.MX28 family<br />DRAM: 128 MiB<br />NAND:  256 MiB<br />MMC:  MXS MMC: 0<br />In:    serial<br />Out:  serial<br />Err:  serial<br />Net:  FEC0 || style="background:#00ff00;" | U-Boot 2011.12..<br />CPU:  Freescale i.MX27 at 399 MHz<br />Armadeus APF27<br />DRAM:  64 MiB<br />NAND:  256 MiB || style="background:#00ff00;" | U-Boot 2011.12...<br />I2C:  ready<br />DRAM:  256-512 MiB<br />NAND:  512 MiB<br />In:    serial<br />Out:  serial<br />Err:  serial<br />Net:  FEC
 +
|| power on the board and check the boot log of the board
 +
|----------------
 +
|'''NOR/NAND flash''' || style="background:#00ff00;" | 8 MiB||  style="background:#00ff00;" |  256MiB-2GiB || style="background:#00ff00;" | 256MiB-2GiB  || style="background:#00ff00;" | 512MiB-4GiB || startup sceen shall display:<br />Flash: xx MiB
 
|----------------
 
|----------------
|'''NOR/NAND flash''' || style="background:#00ff00;" | 8 MiB||  style="background:#ffff00;" |  MiB|| style="background:#ffff00;" | MiB || style="background:#ffff00;" | MiB || startup sceen shall display:<br />Flash: xx MiB
+
|'''RAM''' || style="background:#00ff00;" | 16/32 MiB||  style="background:#00ff00;" |  128MiB-512MiB|| style="background:#00ff00;" | 64-256MiB || style="background:#00ff00;" | 256-512MiB || startup sceen shall display:<br />DRAM: 16 MiB
 
|----------------
 
|----------------
|'''RAM''' || style="background:#00ff00;" | 16 MiB||  style="background:#ffff00;" |  128MiB-1024MiB|| style="background:#ffff00;" | MiB || style="background:#ffff00;" | MiB || startup sceen shall display:<br />DRAM: 16 MiB
+
|'''Ethernet driver''' || style="background:#00ff00;" | dm9000||  style="background:#00ff00;" |  FEC0 || style="background:#00ff00;" |  FEC || style="background:#00ff00;" | FEC || startup sceen shall display:<br />Net:   <DRIVER>
 
|----------------
 
|----------------
|'''Ethernet driver''' || style="background:#00ff00;" | dm9000|| style="background:#ffff00;" | || style="background:#ffff00;" |   || style="background:#ffff00;" | || startup sceen shall display:<br />Net:   <DRIVER>
+
|'''Ethernet MAC''' || style="background:#00ff00;" | dm9000 read<br />00000000: 1e00 00ac|| style="background:#00ff00;" | bdinfo<br />...<br />ethaddr    = 00:1e:ac:... || style="background:#00ff00;" | imxfuse mac<br />iMX mac_addr in fuse: 00:1e:ac:... || style="background:#00ff00;" | iim read fecmac<br />FEC MAC address: 0x00:0x1e:0xac:...|| test the presence of the MAC address in EEPROM/fuses <br /> the command bdinfo should return a valid mac address
 
|----------------
 
|----------------
|'''Ethernet MAC''' || style="background:#00ff00;" | dm9000 read<br />00000000: 1e00 00ac|| style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | || test the presence of the MAC address in EEPROM/fuses <br /> the command bdinfo should return a valid mac address
+
|'''Default IP''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |  || style="background:#00ff00;" | || the default IP variables should be:<br /> ipaddr=192.168.0.10<br /> netmask=255.255.255.0<br /> serverip=192.168.0.2<br /> gatewayip=192.168.0.1<br /> use the "flash_reset_env" script<br />to restore the default environment variables
 
|----------------
 
|----------------
|'''Default IP''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | ||  the default IP variables should be:<br /> ipaddr=192.168.0.10<br /> netmask=255.255.255.0<br /> serverip=192.168.0.2<br /> gatewayip=192.168.0.1<br /> use the "flash_reset_env" script to restore the default environment variables
+
|'''DHCP''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |  || style="background:#00ff00;" | ||  the command "DHCP" should be able<br />to update IP environment variables according<br /> to your network and DHCP server
 
|----------------
 
|----------------
|'''DHCP''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | ||  the command "DHCP" should be able to update IP environment variables according to your network and DHCP server
+
|'''Ping''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |  || style="background:#00ff00;" | ||  set ipaddr & serverip according to your network.<br />Test the connection to the server: <br />ping ${serverip} should return the status "alive"
 
|----------------
 
|----------------
|'''Ping''' || style="background:#00ff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || set ipaddr & serverip according to your network.<br />Test the connection to the server: <br />ping ${serverip} should return the status "alive"  
+
|'''Board reset''' ||style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || command "reset" shall reset the board
 
|----------------
 
|----------------
|'''Board reset''' ||style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || command "reset" shall reset the board
+
|'''TFTP''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || the command "run download_uboot" should <br />UBoot from the host PC into the target RAM
 
|----------------
 
|----------------
|'''TFTP''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | || the command "run download_uboot" should download UBoot from the host PC into the target RAM
+
|'''NFS''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |  || style="background:#00ff00;" | || the command <br />"nfs ${loadaddr} ${serverip}:/tftpboot/${board_name}-linux.bin" should download<br />linux kernel from the host PC into the target RAM
 
|----------------
 
|----------------
|'''NFS''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || the command "nfs ${loadaddr} {serverip}:${rootpath}/${board_name}-linux.bin" should download linux kernel from the host PC into the target RAM
+
|'''Board upgrade scripts''' ||style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || use the hereafter scripts to update the software of the board:<br /> run update_all<br />run flash_reset_env
 
|----------------
 
|----------------
|'''Board upgrade scripts''' ||style="background:#ffff00;" | || style="background:#ffff00;" | ||  style="background:#ffff00;" | || style="background:#ffff00;" || use the hereafter scripts to update the software of the board:<br /> run update_all<br />run flash_reset_env
+
|'''I2C''' || style="background:#00ff00;" | 38 76 7F || postponed || postponed || not supported : unreliable - device detected randomly ||  startup sceen shall display:<br />I2C:  ready<br />the command "i2c probe" should return the list<br />of devices on the i2c bus of the board
 
|----------------
 
|----------------
|'''I2C''' || style="background:#ffff00;" | 38 76 7F || style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | ||  startup sceen shall display:<br />I2C:  ready<br />the command "i2c probe" should return the list of devices on the i2c bus of the board
+
|'''linux boot from flash''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |  || style="background:#00ff00;" | ||  the command "boot" should start linux and rootfs from flash<br />the linux login should be "armadeus login: "
 
|----------------
 
|----------------
|'''linux boot from flash''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | ||  the command "boot" should start linux and rootfs from flash<br />the linux login should be "armadeus login: "
+
|'''NFS boot (rootfs)''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" |   || style="background:#00ff00;" | ||  http://www.armadeus.com/wiki/index.php?title=Nfs#Boot_from_NFS <br /> the command "run nfsboot" should start linux using <br />rootfs over a NFS shared drive on <br />your host server ${serverip}
 
|----------------
 
|----------------
|'''NFS boot (rootfs)''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" |   || style="background:#ffff00;" | ||  http://www.armadeus.com/wiki/index.php?title=Nfs#Boot_from_NFS <br /> the command "run nfsboot" should start linux using rootfs over a NFS shared drive on your host server ${serverip}
+
|''' rootfs on SD/MMC''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | ||  http://www.armadeus.com/wiki/index.php?title=MultiMediaCard#Booting_from_MMC.2FSD  <br /> the command "run mmcboot" should start linux using <br />a rootfs on your sd/mmc memory card
 
|----------------
 
|----------------
|''' rootfs on SD/MMC''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | ||  http://www.armadeus.com/wiki/index.php?title=MultiMediaCard#Booting_from_MMC.2FSD  <br /> the command "run mmcboot" should start linux using a rootfs on your sd/mmc memory card
+
|'''Flash lock/unlock''' || style="background:#00ff00;" | || Not Applicable || style="background:#00ff00;" | || style="background:#00ff00;" | ||  For APF9328: <br />protect on all<br />erase ${env_addr} +${env_len} <br />-> - Warning: 1 protected sectors will not be erased!<br />protect off all<br />erase ${env_addr} +${env_len} <br />-> no warning - erase done<br /> other apf boards:<br />nand lock; nand erase.part kernel<br />Should not erase the kernel partion<br />(error message, system hang or no message)<br />
 +
boot linux<br />to confirm nand integrity -> kernel should start
 
|----------------
 
|----------------
|'''Flash lock/unlock''' || style="background:#ffff00;" | || postponed || style="background:#ffff00;" | || postponed ||  For APF9328: <br />protect on all<br />erase ${env_addr} +${env_len} -> - Warning: 1 protected sectors will not be erased!<br />protect off all<br />erase ${env_addr} +${env_len} -> no warning - erase done<br /> other apf boards:<br />todo
+
|'''Env compatibility change''' || style="background:#00ff00;" | || style="background:#00ff00;" | || style="background:#00ff00;" | ||  style="background:#00ff00;" | || force a new environment version and check <br />the warning on next reboot:<br />setenv env_version 0<br />saveenv<br />reset<br />=> *** Warning - Environment version change suggests:<br />run flash_reset_env; reset
 
|----------------
 
|----------------
|'''Env compatibility change''' || style="background:#ffff00;" | ||  style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | || force a new environment version and check the warning on next reboot:<br />setenv env_version 0<br />saveenv<br />reset<br />=> *** Warning - Environment version change suggests: run flash_reset_env; reset
+
|'''FPGA control''' || style="background:#00ff00;" | blinking_led_<br />apf9328_200k.bit || Not Applicable || style="background:#00ff00;" | blinking_led_<br />apf27_200k.bit || style="background:#00ff00;" | blinking_led_<br />apf51_lx9.bin ||   the command "fpga info 0" should indicate<br /> the presence of the spartan 3 <br />Test FPGA download with the blinking_led bit file of your board:<br />tftpboot ${loadaddr} blinking_led_apfxxxx_xxxk.bit<br />fpga load 0 ${loadaddr} ${filesize}<br /> should make the LED blinking without error
 
|----------------
 
|----------------
|'''FPGA control''' || style="background:#ffff00;" | || not supported  || style="background:#ffff00;" |  || style="background:#ffff00;" |  ||  
+
|'''Firmware autoload''' || style="background:#00ff00;" | || Not Applicable|| style="background:#00ff00;" |  || style="background:#00ff00;" |  || run flash_firmware<br />setenv firmware_autoload 1<br />saveenv<br /><power off>/<power on> the board<br />LED should blink after a couple of seconds and<br />UBoot should continue countdown to boot linux
 
|----------------
 
|----------------
|'''Firmware autoload''' || style="background:#ffff00;" | || not supported || style="background:#ffff00;" | || style="background:#ffff00;" | ||  
+
|'''imxfuse commands''' || Not Applicable || style="background:#00ffff;" | ocotp  || style="background:#ffff00;" | imxfuse mac... || style="background:#00ff00;" | iim blow fecmac... || Use production tool to blow a MAC address
 
|----------------
 
|----------------
|'''imxfuse commands''' || NA || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" | ||  
+
|'''Detect RAM SIze''' || Not Applicable || style="background:#00ff00;" | 128MiB || not supported || style="background:#00ff00;" | Board rev 1 with 512MiB || Using the default UBoot config test the given<br /> config is correct during boot
 
|----------------
 
|----------------
|'''PAR cleared''' || style="background:#ffff00;" | || || style="background:#ffff00;" | || ||   
+
|'''PAR cleared''' || style="background:#00ff00;" | || Not Applicable || style="background:#00ff00;" | || Not Applicable ||  run unlock_regs; boot<br />once logged on linux try the command<br />imxregs<br />should display imx register value instead of any error like "Unhandled fault"
 
|----------------
 
|----------------
|'''NETCONSOLE''' || style="background:#ffff00;" | || style="background:#ffff00;" | || style="background:#ffff00;" |  || style="background:#ffff00;" | |
+
|'''NETCONSOLE''' || not supported || not supported || not supported || not supported || [[Ethernet_console]]
 
|----------------
 
|----------------
 
| '''LCD''' || not supported || not supported  || not supported || not supported ||   
 
| '''LCD''' || not supported || not supported  || not supported || not supported ||   

Latest revision as of 23:50, 18 June 2012

Status

  • Please check U-Boot-2012.04 that is now the default U-Boot version for all the APF boards

Features/Status

Status Legend Color
Test passed
Compilation or runtime test failed
To be tested
Optional/not activated by default
NA/not supported


Feature Status Test case
boards apf9328 apf28 apf27 apf51
U-Boot power on U-Boot 2011.12...
I2C: ready
DRAM: 16 MiB
Flash: 8 MiB
In: serial
Out: serial
Err: serial
Net: dm9000
U-Boot 2011.12...
Freescale i.MX28 family
DRAM: 128 MiB
NAND: 256 MiB
MMC: MXS MMC: 0
In: serial
Out: serial
Err: serial
Net: FEC0
U-Boot 2011.12..
CPU: Freescale i.MX27 at 399 MHz
Armadeus APF27
DRAM: 64 MiB
NAND: 256 MiB
U-Boot 2011.12...
I2C: ready
DRAM: 256-512 MiB
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Net: FEC
power on the board and check the boot log of the board
NOR/NAND flash 8 MiB 256MiB-2GiB 256MiB-2GiB 512MiB-4GiB startup sceen shall display:
Flash: xx MiB
RAM 16/32 MiB 128MiB-512MiB 64-256MiB 256-512MiB startup sceen shall display:
DRAM: 16 MiB
Ethernet driver dm9000 FEC0 FEC FEC startup sceen shall display:
Net: <DRIVER>
Ethernet MAC dm9000 read
00000000: 1e00 00ac
bdinfo
...
ethaddr = 00:1e:ac:...
imxfuse mac
iMX mac_addr in fuse: 00:1e:ac:...
iim read fecmac
FEC MAC address: 0x00:0x1e:0xac:...
test the presence of the MAC address in EEPROM/fuses
the command bdinfo should return a valid mac address
Default IP the default IP variables should be:
ipaddr=192.168.0.10
netmask=255.255.255.0
serverip=192.168.0.2
gatewayip=192.168.0.1
use the "flash_reset_env" script
to restore the default environment variables
DHCP the command "DHCP" should be able
to update IP environment variables according
to your network and DHCP server
Ping set ipaddr & serverip according to your network.
Test the connection to the server:
ping ${serverip} should return the status "alive"
Board reset command "reset" shall reset the board
TFTP the command "run download_uboot" should
UBoot from the host PC into the target RAM
NFS the command
"nfs ${loadaddr} ${serverip}:/tftpboot/${board_name}-linux.bin" should download
linux kernel from the host PC into the target RAM
Board upgrade scripts use the hereafter scripts to update the software of the board:
run update_all
run flash_reset_env
I2C 38 76 7F postponed postponed not supported  : unreliable - device detected randomly startup sceen shall display:
I2C: ready
the command "i2c probe" should return the list
of devices on the i2c bus of the board
linux boot from flash the command "boot" should start linux and rootfs from flash
the linux login should be "armadeus login: "
NFS boot (rootfs) http://www.armadeus.com/wiki/index.php?title=Nfs#Boot_from_NFS
the command "run nfsboot" should start linux using
rootfs over a NFS shared drive on
your host server ${serverip}
rootfs on SD/MMC http://www.armadeus.com/wiki/index.php?title=MultiMediaCard#Booting_from_MMC.2FSD
the command "run mmcboot" should start linux using
a rootfs on your sd/mmc memory card
Flash lock/unlock Not Applicable For APF9328:
protect on all
erase ${env_addr} +${env_len}
-> - Warning: 1 protected sectors will not be erased!
protect off all
erase ${env_addr} +${env_len}
-> no warning - erase done
other apf boards:
nand lock; nand erase.part kernel
Should not erase the kernel partion
(error message, system hang or no message)

boot linux
to confirm nand integrity -> kernel should start

Env compatibility change force a new environment version and check
the warning on next reboot:
setenv env_version 0
saveenv
reset
=> *** Warning - Environment version change suggests:
run flash_reset_env; reset
FPGA control blinking_led_
apf9328_200k.bit
Not Applicable blinking_led_
apf27_200k.bit
blinking_led_
apf51_lx9.bin
the command "fpga info 0" should indicate
the presence of the spartan 3
Test FPGA download with the blinking_led bit file of your board:
tftpboot ${loadaddr} blinking_led_apfxxxx_xxxk.bit
fpga load 0 ${loadaddr} ${filesize}
should make the LED blinking without error
Firmware autoload Not Applicable run flash_firmware
setenv firmware_autoload 1
saveenv
<power off>/<power on> the board
LED should blink after a couple of seconds and
UBoot should continue countdown to boot linux
imxfuse commands Not Applicable ocotp imxfuse mac... iim blow fecmac... Use production tool to blow a MAC address
Detect RAM SIze Not Applicable 128MiB not supported Board rev 1 with 512MiB Using the default UBoot config test the given
config is correct during boot
PAR cleared Not Applicable Not Applicable run unlock_regs; boot
once logged on linux try the command
imxregs
should display imx register value instead of any error like "Unhandled fault"
NETCONSOLE not supported not supported not supported not supported Ethernet_console
LCD not supported not supported not supported not supported
SPI not supported not supported not supported not supported
USB not supported not supported not supported not supported