We have now released the 2020.1 BSP for both Ultra96-V2 and UltraZed EV with the PMIC programming utility built in! For the purposes of this blog, I am going to provide instruction on how to simply download the 2020.1 BSP as an SDcard image. You will then need to use a program such as Etcher to create the SDcard from the image.
First download the appropriate image here - http://avnet.me/zedsupport
Click on the 2020.1 folder, then go to the Vitis_PreBuilt_Example folder. From here select the proper zip file for your platform, in this case for the Ultra96-V2
Ultra96-V2 - 2020p1_ULTRA96V2_vadd.tar.gz
This news is exciting for me (and anyone who needs to update their boards) as you can now perform the update without a dongle, GUI software, config files or anything else! Also included in this BSP is the ability to issue a "sensors" command at the prompt that will return the status of all the supplies on the bus, returning info like voltage, current, temp, etc.
Below I will outline how to run the update. This example is running the update on the Ultra96-V2 platform. Note that unlike the update to the UltraZed EV platform, the Ultra96-V2 requires updating the configuration program on 2 different devices:
root@ultra96v2-2020-1:~# cd pmic-prog/ root@ultra96v2-2020-1:~/pmic-prog# cd pmic-configs/ root@ultra96v2-2020-1:~/pmic-prog/pmic-configs# ls U96V2_38060_0x15_190301.txt U96V2_5401_0x13_191030.txt U96V2_5401_0x14_191030.txt root@ultra96v2-2020-1:~/pmic-prog/pmic-configs#
root@ultra96v2-2020-1:~/pmic-prog/pmic-configs# cd .. root@ultra96v2-2020-1:~/pmic-prog# ./pmic_prog detect 6 Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to detect available PMICs on bus 6. Continue? [y/N] y i2c devices: 0x0C 0x13 0x14 0x15 0x43 0x44 0x45 Found IRPS5401 at address 0x13 (PMBus address = 0x43) Found IRPS5401 at address 0x14 (PMBus address = 0x44) Found IR38060 at address 0x15 (PMBus address = 0x45) root@ultra96v2-2020-1:~/pmic-prog#
Device 0x13 programming
root@ultra96v2-2020-1:~/pmic-prog# ./pmic_prog program 6 0x13 -i ./pmic-configs/U96V2_5401_0x13_191030.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to program device 0x13 on i2c bus 6. Continue? [y/N] y IRPS5401 successfully detected USER MTP LEFT: Next USER slot to use 6 ( 20 remaining slots ) <- **Note the remaining slots section, if this is zero you can't reprogram! It should not be zero as reprogramming this part should only be done for this fix** WARNING! Issuing a wrong command can damage your system! You are about to program IRPS5401 with data from './pmic-configs/U96V2_5401_0x13_191030.txt' on USER slot 6. This operation cannot be undone! Continue? [y/N] y Programming SUCCEEDED You can now reboot the board, and verify the programming with the read-registers cmd root@ultra96v2-2020-1:~/pmic-prog#
Device 0x14 programming
root@ultra96v2-2020-1:~/pmic-prog# ./pmic_prog program 6 0x14 -i ./pmic-configs/U96V2_5401_0x14_191030.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to program device 0x14 on i2c bus 6. Continue? [y/N] y IRPS5401 successfully detected USER MTP LEFT: Next USER slot to use 6 ( 20 remaining slots ) <- **Note the remaining slots section, if this is zero you can't reprogram! It should not be zero as reprogramming this part should only be done for this fix** WARNING! Issuing a wrong command can damage your system! You are about to program IRPS5401 with data from './pmic-configs/U96V2_5401_0x14_191030.txt' on USER slot 6. This operation cannot be undone! Continue? [y/N] y Programming SUCCEEDED You can now reboot the board, and verify the programming with the read-registers cmd root@ultra96v2-2020-1:~/pmic-prog#
Programming Verification
At this point both devices should be updated. You can use the read-registers command as shown below to verify that your new programmed configuration matches the the file you loaded.
root@ultra96v2-2020-1:~/pmic-prog# ./pmic_prog read-registers 6 0x13 -o 0x13.txt -i ./pmic-configs/U96V2_5401_0x13_191030.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to read all registers on device 0x13 on i2c bus 6. Continue? [y/N] y IRPS5401 successfully detected Current Datecode: OCT. 30 Input file Datecode: OCT. 30 The two datecodes are equal Number of differences between current registers and input file: 0
root@ultra96v2-2020-1:~/pmic-prog# ./pmic_prog read-registers 6 0x14 -o 0x14.txt -i ./pmic-configs/U96V2_5401_0x14_191030.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to read all registers on device 0x14 on i2c bus 6. Continue? [y/N] y IRPS5401 successfully detected Current Datecode: OCT. 30 Input file Datecode: OCT. 30 The two datecodes are equal Number of differences between current registers and input file: 0 root@ultra96v2-2020-1:~/pmic-prog#
You should see 0 difference reported for both 0x13 and 0x14 files.
Ultra96-V2 Buy NowBuy Now