Following on from comments from Vladimir on the sm8250 CAMSS patches I had a look through the RB3 and RB5 schematics. Here we see the CSI PHY connects to the same VDDA power-rails as USB, PCIe, UFS and the DSI PHYs. Right now CAMSS works on SDM845 and SM8250 because one of the USB, PCIe, or UFS has enabled the relevant VDDA supplies, prior to the CAMSS driver running. The solution is to - Fix the describing YAML - Add in regulator_bulk_enable()/regulator_bulk_disable() - Update the DTS to point at the necessary regulators I have an SDM660 board on-order so when it arrives I can also look into the vdda_sec regulator if nobody else has. For now this series addresses the fundamental gap in the CSI PHY power rails and remediates the situation for the two boards I have schematics for and can test, RB3/SDM845 and RB5/SM8250. This patch applies on top of git.linuxtv.org/hverkuil/media_tree.git / br-v5.17j Bootable and testable tree for both RB3 and RB5 here: git.linaro.org/people/bryan.odonoghue/kernel.git / br-v5.17j+camss-fixes Bryan O'Donoghue (7): media: dt-bindings: media: camss: Fixup vdda regulator descriptions sdm845 media: dt-bindings: media: camss: Add vdda supply declarations sm8250 arm64: dts: qcom: sdm845: Rename camss vdda-supply to vdda-phy-supply arm64: dts: qcom: sdm845: Add camss vdda-pll-supply media: camss: Add regulator_bulk support media: camss: Point sdm845 at the correct vdda regulators media: camss: Point sm8250 at the correct vdda regulators .../bindings/media/qcom,sdm845-camss.yaml | 14 ++- .../bindings/media/qcom,sm8250-camss.yaml | 13 +++ arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 3 +- .../media/platform/qcom/camss/camss-csid.c | 40 +++++--- .../media/platform/qcom/camss/camss-csid.h | 3 +- drivers/media/platform/qcom/camss/camss.c | 94 +++++++++---------- drivers/media/platform/qcom/camss/camss.h | 2 +- 7 files changed, 100 insertions(+), 69 deletions(-) -- 2.33.0