breadcrumbs: Chromium OS >
The USB Type-C functional testing board, Plankton Raiden board, enables USB Type-C automated functional testing.
Plankton Raiden board is a multi-layer designed testing board to switch out USB Type-C input data lane. There are several USB muxes and a DisplayPort (DP) re-driver with multiple IO ports so that we can switch USB Type-C functions with huge flexibility. On the board there is also an STM MCU chip for muxes and switches controller, and FTDI listener to get commands from the outside host.
Data
- DUT as host: USB 3.1 Gen 1
- DUT as device: USB 2.0
Video
- USB-C to DisplayPort converter
- Includes DP redriver to allow 4K @ 60Hz
Power
- Source 5V/12V/20V@3A for DUT as sink
- Monitor voltage/current on VBUS for DUT as source
CC monitoring
- Dual CC connection allows “flip connector” tests
- USB PD traffic monitor on both CC lines
For schematic and board files, please see the attached zip file at the bottom of this page.
Set the switches to default setting before flashing EEPROM or firmware.
SW9 - Enable Debug buttons (switch to DISABLE to enable function, there is a layout mistake) SW1 - Set Boot0 signal to low (No MCU_BOOT0) SW3 - Set to L:CN3 or CN5 SW14 - Set to L: CN5 to HUB
In the following session, please power up the board and connect to the host through USB3.0 Micro B port (CN5).
For a brand-new board, please program its EEPROM first for setting serial number and product and vendor ID.
Install ftx-prog, you can download the program from the Github here and unzip to your home directory.
sudo apt-get install build-essential gcc make libftdi-dev cd ~/ftx-prog-master make
and then use this command to flash EEPROM. The format of serial number is “901008-XXXXX”, get the last 5 digits from the back of the Plankton Raiden board.
sudo ftx_prog --old-vid 0x0403 --new-vid 0x18d1 --old-pid 0x6015 --new-pid 0x500c --new-serial-number <serial number> --cbus 0 GPIO --cbus 1 Tristate --cbus 2 GPIO --cbus 3 GPIO --manufacturer "Google Inc" --product "Plankton" --ftprog-strings
The firmware is located In the Chromium Embedded Controller repository under board/plankton/ :
https://chromium.googlesource.com/chromiumos/platform/ec/+/master/board/plankton/
Within your Chromium OS chroot, the syntax is:
cd ~/trunk/src/platform/ec make BOARD=plankton
~/trunk/src/scripts/setup_board --board=peach_pit --nousepkg
### and then try "make BOARD=plankton" again. ### Running Servod 1. Build up local package of servod ```none cd ~/trunk/src/third_party/hdctools cros_workon --host start dev-util/hdctools sudo emerge hdctools
sudo servod -p 0x500c
cd ~/trunk/src/platform/ec
./util/flash_ec --board=plankton --port=<port number>
You may also assign the image file to flash into Plankton Raiden by the --image argument:
./util/flash_ec --board=plankton --port=<port number> --image=<your/image/file/path>
If debug buttons are enabled (SW9), you can use buttons to switch board functions. LEDs are helpful for monitoring current state of Plankton Raiden.
Using CLI
sudo modprobe ftdi_sio echo 18d1 500c | sudo tee /sys/bus/usb-serial/drivers/ftdi_sio/new_id
ls /dev/ttyUSB*
cu -l /dev/ttyUSBx -s 115200
Please refer to the document “Plankton Raiden MCU command table” below for CLI.
Using dut-control
sudo servod -p 0x500c
dut-control