EM100pro

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Linux Utility

We have developed a Linux utility to drive the EM100Pro. Get the sources with

$ git clone http://review.coreboot.org/em100

Browse the source code here: http://review.coreboot.org/gitweb?p=em100.git;a=summary

Here's how to use the utility:

em100: EM100pro command line utility

Example:

 ./em100 --stop --set M25P80 -d file.bin -v --start -t -O 0xfff00000

Usage:

 -c|--set CHIP:                  select chip emulation
 -d|--download FILE:             download FILE into EM100pro
 -u|--upload FILE:               upload from EM100pro into FILE
 -r|--start:                     em100 shall run
 -s|--stop:                      em100 shall stop
 -v|--verify:                    verify EM100 content matches the file
 -t|--trace:                     trace mode
 -O|--offset HEX_VAL:            address offset for trace mode
 -T|--terminal:                  terminal mode
 -F|--firmware-update FILE:      update EM100pro firmware (dangerous)
 -f|--firmware-dump FILE:        export raw EM100pro firmware to file
 -g|--firmware-write FILE:       export EM100pro firmware to DPFW file
 -S|--set-serialno NUM:          set serial number to NUM
 -p|--holdpin [LOW|FLOAT|INPUT]: set the hold pin state
 -x|--device BUS:DEV             use EM100pro on USB bus/device
 -x|--device DPxxxxxx            use EM100pro with serial no DPxxxxxx
 -l|--list-devices               list all connected EM100pro devices
 -D|--debug:                     print debug information.
 -h|--help:                      this help text

Chip Voltage

EM100 uses different firmware for 1.8V and 3.3V chips. Furthermore, the firmware update function only accepts combined MCU and FPGA images.

TODO: Update tool to automatically select appropriate firmware.

USB Tracing

When using VMware to run the Windows utilities, the EM100pro will get confused by Windows trying to set the device up after Linux already did. To avoid that, add the following line to your .vmx file:

usb.quirks.device0 = "0x04b4:0x1235 skip-reset, skip-refresh, skip-setconfig"