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
UltraZed EV - 2020p1_UZ7EV_EVCC_vadd.tar.gz
Note that for UltraZed EV this file assumes you are working with an Avnet UltraZed EV carrier board.
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 UltraZed EV platform:
root@uz7ev-evcc-2020-1:~# cd pmic-prog/ root@uz7ev-evcc-2020-1:~/pmic-prog# cd pmic-configs/ root@uz7ev-evcc-2020-1:~/pmic-prog/pmic-configs# ls uz7ev-evcc_38060_0x18_171116.txt uz7ev-evcc_5401_0x16_171116.txt uz7ev-evcc_5401_0x19_171116.txt uz7ev-evcc_38060_0x1B_171116.txt uz7ev-evcc_5401_0x17_171116.txt uz7ev-evcc_5401_0x1A_171116.txt uz7ev-evcc_38060_0x1C_171116.txt uz7ev-evcc_5401_0x17_190326.txt root@uz7ev-evcc-2020-1:~/pmic-prog/pmic-configs#
root@uz7ev-evcc-2020-1:~/pmic-prog/pmic-configs# cd .. root@uz7ev-evcc-2020-1:~/pmic-prog# ./pmic_prog detect 3 Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to detect available PMICs on bus 3. Continue? [y/N] y i2c devices: 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x20 0x30 0x46 0x47 0x48 0x49 0x4A 0x4B 0x4C Found IRPS5401 at address 0x16 (PMBus address = 0x46) Found IRPS5401 at address 0x17 (PMBus address = 0x47) Found IR38063 at address 0x18 (PMBus address = 0x48) Found IRPS5401 at address 0x19 (PMBus address = 0x49) Found IRPS5401 at address 0x1A (PMBus address = 0x4A) Found IR38063 at address 0x1B (PMBus address = 0x4B) Found IR38063 at address 0x1C (PMBus address = 0x4C) root@uz7ev-evcc-2020-1:~/pmic-prog#
root@uz7ev-evcc-2020-1:~/pmic-prog# ./pmic_prog program 3 0x17 -i ./pmic-configs/uz7ev-evcc_5401_0x17_190326.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to program device 0x17 on i2c bus 3. Continue? [y/N] y IRPS5401 successfully detected USER MTP LEFT: Next USER slot to use 10 ( 16 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/uz7ev-evcc_5401_0x17_190326.txt' on USER slot 10. 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@uz7ev-evcc-2020-1:~/pmic-prog#
And that's it! To check that it was successful you can read the registers to see if the current config matches the file you tried to program. In this case I created a dummy txt file named "newvcu.txt" to do the comparison to. The configuration that you used to program the part is located here "./pmic-configs/uz7ev-evcc_5401_0x17_190326.txt"
root@uz7ev-evcc-2020-1:~/pmic-prog# ./pmic_prog read-registers 3 0x17 -o newvcu.txt -i ./pmic-configs/uz7ev-evcc_5401_0x17_190326.txt Version: 1.0 WARNING! Issuing a wrong command can damage your system! You are about to read all registers on device 0x17 on i2c bus 3. Continue? [y/N] y IRPS5401 successfully detected Current Datecode: MAR. 26 Input file Datecode: MAR. 26 The two datecodes are equal Number of differences between current registers and input file: 0 root@uz7ev-evcc-2020-1:~/pmic-prog#
You should see 0 differences reported between files.
Top Comments