Skip to content

UUU default support protocol list

nxpfrankli edited this page Oct 30, 2018 · 21 revisions

UUU is scripted base multi protocol system.

Built in config:

        Pctl     Chip            Vid     Pid     BcdVersion
        ==================================================
        SDPS:    MX8QXP          0x1fc9  0x012f  0x0002
        SDPS:    MX8QM           0x1fc9  0x0129  0x0002
        SDP:     MX7D            0x15a2  0x0076
        SDP:     MX6Q            0x15a2  0x0054
        SDP:     MX6D            0x15a2  0x0061
        SDP:     MX6SL           0x15a2  0x0063
        SDP:     MX6SX           0x15a2  0x0071
        SDP:     MX6UL           0x15a2  0x007d
        SDP:     MX6ULL          0x15a2  0x0080
        SDP:     MX6SLL          0x1fc9  0x0128
        SDP:     MX7ULP          0x1fc9  0x0126
        SDP:     MXRT106X        0x1fc9  0x0135
        SDP:     MX8MM           0x1fc9  0x0134
        SDP:     MX8MQ           0x1fc9  0x012b
        SDPU:    SPL             0x0525  0xb4a4
        FBK:                     0x066f  0x9afe
        FBK:                     0x066f  0x9bff
        FB:                      0x0525  0xa4a5
        FB:                      0x18d1  0x0d02
Table 1. Table UUU Protocol to USB lower level Map

UUU Protocol

USB Low level transfer

SDP

HID

SDPU

HID

SDPS

HID

FB

winusb (windows), raw transfer by libusb

FBK

winusb (windows), raw transfer by libusb

SDP: i.MX6/7 ROM download protocol

Supported command:

Run DCD from image with ivt header

dcd   -f  <filename>

write image to address.

write -f  <filename> [-addr 0x000000] [-ivt 0]

ivt 0 means write to the address, which ivt pointer

jump to image with ivt header

jump  -f  <filename> [-ivt 0]

boot image, include (dcd, write and jump three commands)

boot  -f  <filename> [-nojump]

SDPU: uboot implement simplified ROM SDP protocol

Uboot implemented i.MX 6/7 ROM SDP protocol. The support command the same as SDP.

See below for uboot requirement [uboot config][uboot-config-requirement]

SDPS: i.MX8QXP and i.MX8QM ROM download protocol

send image by sdp command.

boot  -f  <filename> [-offset 0x0000]

FB: Android fastboot protocol

See below for uboot requirement [uboot-config-requirement]

Support command:

getvar
ucmd <any uboot command>
acmd <any never returned uboot command, like booti, reboot>

# partition "all" means whole device.
flash [-raw2sparse] <partition> <filename>
download -f <filename>

**Some Uboot command need long time to finish. Default FB timeout is 2s. You can use below method to change timeout value

# time out set to 10000ms
FB[-t 10000]: ucmd <any uboot command>
Table 2. Table Fastboot environment

Variable

Description

fastboot_dev

fastboot flash device, support mmc and sata

fastboot_buffer

fastboot download buffer adddress

fastboot_bytes

fastboot download file size

emmc_dev

eMMC device number

sd_dev

sd slot device number

FBK: Android fastboot protocol, implement at initramfs. See project imx-uuu

Support command:

ucmd <any kernel command> and wait for command finish
acmd <any kernel command> don't wait for command finish
sync                      wait for acmd processs finish.
ucp <soure> <destinate>   copy file from/to target
                          T:<filename> means target board file.
                          T:- means copy data to target's stdio pipe.
                          copy image T:/root/image ;download image to path /root/image
                          copy T:/root/image image ;upload /root/image to file image......

Example for transfer big file

acmd tar -            ; run tar background and get data from stdio
ucp rootfs.tar.gz T:- ; send to target stdio pipe
sync                  ; wait for tar process exit.

Linux environment:

Each command in separate process so environment can not be affect next command. Use below method to workaround this problem.

FBK: ucmd source /tmp/mtd.sh; flash_erase /dev/mtd${nandrootfs} 0 0