Add bindings, driver and dts to support the Camera Subsystem on the SM6350 SoC.
These patches were tested on a Fairphone 4 smartphone with WIP sensor drivers (Sony IMX576 and IMX582), the camera pipeline works properly as far as I can tell. Though when stopping the camera stream, the following clock warning appears in dmesg. But it does not interfere with any functionality, starting and stopping the stream works and debugcc is showing 426.4 MHz while the clock is on, and 'off' while it's off. Any suggestion how to fix this, is appreciated. [ 5738.590980] ------------[ cut here ]------------ [ 5738.591009] gcc_camera_axi_clk status stuck at 'on' [ 5738.591049] WARNING: CPU: 0 PID: 6918 at drivers/clk/qcom/clk-branch.c:87 clk_branch_toggle+0x170/0x190 [ 5738.591081] Modules linked in: [ 5738.591099] CPU: 0 UID: 10000 PID: 6918 Comm: plasma-camera Tainted: G W 6.17.0-00057-ge6b67db49622 #71 NONE [ 5738.591118] Tainted: [W]=WARN [ 5738.591126] Hardware name: Fairphone 4 (DT) [ 5738.591136] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5738.591150] pc : clk_branch_toggle+0x170/0x190 [ 5738.591164] lr : clk_branch_toggle+0x170/0x190 [ 5738.591177] sp : ffff800086ed3980 [ 5738.591184] x29: ffff800086ed3990 x28: 0000000000000001 x27: ffff800086ed3cd8 [ 5738.591208] x26: 0000000000000000 x25: ffffda14fcfbd250 x24: 0000000000000000 [ 5738.591230] x23: 0000000000000000 x22: ffffda14fc38bce0 x21: 0000000000000000 [ 5738.591252] x20: ffffda14fd33e618 x19: 0000000000000000 x18: 00000000000064c8 [ 5738.591274] x17: 0000000000000000 x16: 00001ae003667e9e x15: ffffda14fd2a07b0 [ 5738.591295] x14: 0000000000000000 x13: 6f27207461206b63 x12: 7574732073757461 [ 5738.591317] x11: 0000000000000058 x10: 0000000000000018 x9 : ffffda14fd2a0838 [ 5738.591338] x8 : 0000000000057fa8 x7 : 0000000000000a16 x6 : ffffda14fd2f8838 [ 5738.591360] x5 : ffff0001f6f59788 x4 : 0000000000000a15 x3 : ffff25ecf9d7e000 [ 5738.591381] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000baf5c100 [ 5738.591403] Call trace: [ 5738.591412] clk_branch_toggle+0x170/0x190 (P) [ 5738.591429] clk_branch2_disable+0x1c/0x30 [ 5738.591445] clk_core_disable+0x5c/0xb4 [ 5738.591462] clk_disable+0x38/0x60 [ 5738.591478] camss_disable_clocks+0x44/0x78 [ 5738.591496] vfe_put+0x7c/0xc0 [ 5738.591512] vfe_set_power+0x40/0x50 [ 5738.591528] pipeline_pm_power_one+0x14c/0x150 [ 5738.591546] pipeline_pm_power+0x74/0xf4 [ 5738.591561] v4l2_pipeline_pm_use+0x54/0x9c [ 5738.591577] v4l2_pipeline_pm_put+0x14/0x40 [ 5738.591592] video_unprepare_streaming+0x18/0x24 [ 5738.591608] __vb2_queue_cancel+0x4c/0x314 [ 5738.591626] vb2_core_streamoff+0x24/0xc8 [ 5738.591643] vb2_ioctl_streamoff+0x58/0x98 [ 5738.591657] v4l_streamoff+0x24/0x30 [ 5738.591672] __video_do_ioctl+0x430/0x4a8 [ 5738.591689] video_usercopy+0x2ac/0x680 [ 5738.591705] video_ioctl2+0x18/0x40 [ 5738.591720] v4l2_ioctl+0x40/0x60 [ 5738.591734] __arm64_sys_ioctl+0x90/0xf0 [ 5738.591750] invoke_syscall.constprop.0+0x40/0xf0 [ 5738.591769] el0_svc_common.constprop.0+0x38/0xd8 [ 5738.591785] do_el0_svc+0x1c/0x28 [ 5738.591801] el0_svc+0x34/0xe8 [ 5738.591820] el0t_64_sync_handler+0xa0/0xe4 [ 5738.591838] el0t_64_sync+0x198/0x19c [ 5738.591854] ---[ end trace 0000000000000000 ]--- Signed-off-by: Luca Weiss <[email protected]> --- Changes in v2: - Remove prefix from interconnect-names - Move 'top' power-domain to the top of list - Update regulator supply names - Link to v1: https://lore.kernel.org/r/[email protected] --- Luca Weiss (3): dt-bindings: media: camss: Add qcom,sm6350-camss media: qcom: camss: Add SM6350 support arm64: dts: qcom: sm6350: Add CAMSS node .../bindings/media/qcom,sm6350-camss.yaml | 349 +++++++++++++++++++++ arch/arm64/boot/dts/qcom/sm6350.dtsi | 165 ++++++++++ .../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 125 ++++++++ drivers/media/platform/qcom/camss/camss-vfe.c | 2 + drivers/media/platform/qcom/camss/camss.c | 249 +++++++++++++++ drivers/media/platform/qcom/camss/camss.h | 1 + 6 files changed, 891 insertions(+) --- base-commit: a92c761bcac3d5042559107fa7679470727a4bcb change-id: 20251024-sm6350-camss-9c404bf9cfdd Best regards, -- Luca Weiss <[email protected]>

