Override boot mode using SML CLI

A bit of background

AMD Zynq UltraScale+ MPSoC devices boot by using firmware from storage selected by boot mode pins. When accessing hardware remotely (as is the case in Smart Mission Lab), it’s possible to use SML CLI to override boot mode. Contrary to Override boot mode using JTAG this method set physical pins on Zynq UltraScale+ device.

Prerequisites

None

Steps

  1. Log in to EGSE Host

    my-machine$ ssh customer@egse-my-egse.egse.vpn.sml.kplabs.space
    customer@egse-my-egse:~$
    
  2. Set boot mode using SML CLI

    customer@egse-my-egse:~$ sml dpu boot-mode set jtag
    Setting boot mode to 0b0000 (jtag)...Success
    
    customer@egse-my-egse:~$ sml pn1 boot-mode set jtag
    Setting boot mode to 0b0000 (jtag)...Success
    
    customer@egse-my-egse:~$ sml pn2 boot-mode set jtag
    Setting boot mode to 0b0000 (jtag)...Success
    
  3. Inspect currently set boot mode

    customer@egse-my-egse:~$ sml dpu boot-mode get
    Getting boot mode...0b0000 (jtag)
    
    customer@egse-my-egse:~$ sml pn1 boot-mode get
    Getting boot mode...0b0000 (jtag)
    
    customer@egse-my-egse:~$ sml pn2 boot-mode get
    Getting boot mode...0b0000 (jtag)
    

Note

You can specify boot mode using friendly-name or binary value. See --help output for boot-mode command for details.

Warning

SML CLI allows you to set boot mode to value that might be unusable (for example USB boot)