01-17-2018 02:54 AM
I want to ask you about if you have an existing i2c code to be able to access to the PmBus values for Power Management on the Zynq UltraScale+ plattform (ZCU102). I tried to modify the existing code from the tutorial provided by Xilinx for the ZC702 Board, but I got several problems.
01-17-2018 08:33 PM - edited 01-17-2018 08:45 PM
Did you referred the ZCU102 power controller reprogramming steps ?
It has all the necessary steps given in it to reprogram the power controller.
Please note that on-board power controller has only 4 programming cycles. Out of which one has been used while programming the controller in factory.
Maxim Power module is necessary to program the power controller.
Let us know if it helps.
01-18-2018 03:41 AM
I have already the maxim device and I can also monitor the voltage on the gui. My problem is that I try to implement my own code to access to the pmbus using the i2c. As mentioned in UG1182 on pages 54-58, I can't read the appropriate values from the i2c0. Can you provide me a suitable solution for this problem?
01-19-2018 02:58 AM
I will suggest you to once try the Xilinx developed SCUI tool to read the onboard supplies.
Please follow the below link to download:
02-08-2018 07:11 AM
I did already this approach. It works really well with the GUI and also with the MAXIMPOWER Adapter.
I still try to discover the way how I can access via the I2C to the PmBus on the Zynq UltraScale+ (ZCU102). I fail always on the addresses on the board. I am really glad of some suggestions.
Thank you very much.
03-01-2018 07:11 AM
I have been able to access Maxim power regulators using PS I2C0 on ZCU102 and configure and control them.
For configuring the regulators, you dont need neither Maxim Power Tool nor the PMBus cable. All you need is a running PetaLinux on the PS with i2ctools enabled.
You should note that the regulators are connected to channel two of PCA9544 chip, so the first thing you do, is to change the channel for this chip:
i2cset -y 0 0x75 0x6
with the above command, I am telling ti chip to switch to i2c channel 2. Now, I have all of those i2c devices in my access.
For example issuing
i2cdump -y 0 0x18
gives you the register map of the power regulator responsible for producing FMC card voltage.
Or for example
i2cget -y 0 0x18 0x21 wp
should give you the value which is set on this regulator using VOUT_COMMAND.
Or to change it, a command like :
i2cset -y 0 0x18 0x21 0xAABB wp
(in which 0xaabb is replaced with the value you want)
should do the job.
I have an impression that with these, also one can damage the zcu102.
Use them with caution.
02-04-2019 10:36 AM
@mamisadegh3 I really appreciate the information you posted here.
However, I'm wondering about this statement you made:
You should note that the regulators are connected to channel two of PCA9544 chip, so the first thing you do, is to change the channel for this chip: i2cset -y 0 0x75 0x6 with the above command, I am telling ti chip to switch to i2c channel 2. Now, I have all of those i2c devices in my access.
I'd like to know how you know these numbers:
I ask because your commands do not work on my ZCU102, so I can't just do what you are doing... I'm going to have to figure this out on my own, and while ug1182 is helpful, I'm having trouble putting all the pieces together.
Here's what I get when I try your first command:
root@xilinx-zcu102-2017_3:~# i2cset -y 0 0x75 0x6 Error: Write failed
If I try buses other than 0, I get
root@xilinx-zcu102-2017_3:~# i2cset -y 1 0x75 0x6 Error: Could not set address to 0x75: Device or resource busy