That’s why I said “the figure 9/10 show the way of measure each power rail consumption by adding sense resistor into each branch of source rail”, VDD_CPU is output from a DC/DC which is powered by VDD_IN, the sense resistor is right in the branch line from VDD_IN to DC/DC, and VDD_SYS_CPU_IN is not VDD_CPU.
OK, so if I understood you right this time, VDD_CPU supplies the CPU (all the cores?) and its source is VDD_IN through a DC-DC converter. The input of this converter is VDD_SYS_CPU_IN, which is in_voltage1_input/in_current1_input from /sys/devices/3160000.i2c/i2c-0/0-0041/iio_device/.
I’m assuming this idea is true for VDD_SYS_SOC_IN, VDD_SYS_SOC_IN and VDD_SYS_GPU_IN.
So the power comes through VDD_IN_RS, is measured, then branches out to VDD_SYS_CPU_IN, VDD_SYS_GPU_IN, VDD_SYS_SOC_IN, VDD_5V0_SYS. Is that it?
I am having the same issue with the power measurement. I can read the sysnf nodes pretty fast but their content does not seem to change much. Were you able to reduce the idle time?