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

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>

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 bootk | general kernel boot commmand, "bootz" for arm32, "booti" for arm64

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