This is a CSI driver stack with a working camera driver for the devkit:
gst-launch-1.0 v4l2src ! video/x-raw,width=640,height=480 ! videoconvert ! xvimagesink -v. The csi bridge, mipi csi and the actual camera driver is out of tree.
This implements runtime PM for both camera drivers. A testscript to watch can look like this:
#!/bin/bash cat /sys/class/regulator/regulator.8/name cat /sys/class/regulator/regulator.8/state cat /sys/kernel/debug/regulator/CAMERA_PWR_EN/use_count cat /sys/class/regulator/regulator.13/name cat /sys/class/regulator/regulator.13/state cat /sys/kernel/debug/regulator/CAMERA1_PWR_EN/use_count echo "---- hi846 -----" cat /sys/bus/i2c/devices/2-0020/power/control cat /sys/bus/i2c/devices/2-0020/power/runtime_status echo "---- samsung ---" cat /sys/bus/i2c/devices/3-002d/power/control cat /sys/bus/i2c/devices/3-002d/power/runtime_status echo "----------------" cat /sys/kernel/debug/clk/clk_summary | grep -i clko2
and i2c tests would need to:
echo on > /sys/bus/i2c/devices/2-0020/power/control echo on > /sys/bus/i2c/devices/3-002d/power/control
@dorota.czaplejewicz whenever you access the hardware, you now need to guard that with the pm calls you see in the last commit in this series (and I'm not sure if I missed something. I was not yet able to reproduce your distorted image output).