Hi,
I'm using a custom hardware with a AM5728 device and the TPS659037 PMIC. The power domains DSPEVE, GPU and IVA are supplied by a single PMIC rail, SMPS45. The GP EVM uses the same configuration.
While checking configuration of the voltages in U-Boot I discovered that the voltages for these domains are configured independently after each other in scale_vcores():
val = optimize_vcore_voltage(&vcores->gpu);
do_scale_vcore(vcores->gpu.addr, val, vcores->gpu.pmic);
val = optimize_vcore_voltage(&vcores->eve);
do_scale_vcore(vcores->eve.addr, val, vcores->eve.pmic);
val = optimize_vcore_voltage(&vcores->iva);
do_scale_vcore(vcores->iva.addr, val, vcores->iva.pmic);
Because they all use the same PMIC power rail, only the last call takes effect, overwriting the previous settings. There also is an alternative implementation if CONFIG_DRA7XX is defined, which seems to search for the maximum voltage for shared rails. But I think this is not used by the GP EVM. I'm not sure how to proceed.
Thanks,
Ralf