Greetings, I'm running into an issue with Linux 6.6 (6.6.8) when compiling with modules where the imx7_media_csi driver probe is deferred and I'm not clear how to troubleshoot the cause. The board is imx8mm-venice-gw73xx-0x [1] with imx8mm-venice-gw73xx-0x-imx219.dtso [2] and I'm using arch/arm64/configs/defconfig. The kernel reports the following: # dmesg | egrep csi\|mipi\|imx219 [ 1.293264] i2c 2-0010: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi-csi@32e30000/ports/port@0/endpoint [ 12.001419] imx219 2-0010: supply VANA not found, using dummy regulator [ 12.044885] imx219 2-0010: supply VDDL not found, using dummy regulator [ 12.164308] imx7-csi 32e20000.csi: Registered csi capture as /dev/video0 [ 12.178460] imx7-csi 32e20000.csi: error -ENOTCONN: Failed to get remote endpoint [ 12.200047] imx7-csi: probe of 32e20000.csi failed with error -107 # cat /sys/kernel/debug/devices_deferred cpufreq-dt 32e30000.mipi-csi platform: wait for supplier /soc@0/bus@32c00000/csi@32e20000/port/endpoint # zcat /proc/config.gz | egrep VIDEO_IMX219\|VIDEO_IMX_MIPI\|VIDEO_IMX7 CONFIG_VIDEO_IMX7_CSI=m CONFIG_VIDEO_IMX_MIPI_CSIS=m CONFIG_VIDEO_IMX219=m # lsmod | grep imx fsl_imx8_ddr_perf 16384 0 imx8m_ddrc 12288 0 imx7_media_csi 28672 0 videobuf2_dma_contig 16384 2 hantro_vpu,imx7_media_csi videobuf2_v4l2 32768 3 hantro_vpu,imx7_media_csi,v4l2_mem2mem videobuf2_common 57344 6 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,imx7_media_csi,v4l2_mem2mem,videobuf2_memops imx_mipi_csis 24576 0 imx219 20480 0 v4l2_cci 12288 1 imx219 v4l2_fwnode 20480 2 imx219,imx_mipi_csis v4l2_async 20480 4 v4l2_fwnode,imx219,imx_mipi_csis,imx7_media_csi videodev 258048 8 v4l2_async,v4l2_fwnode,imx219,videobuf2_v4l2,hantro_vpu,imx_mipi_csis,imx7_media_csi,v4l2_mem2mem mc 61440 9 v4l2_async,videodev,imx219,videobuf2_v4l2,hantro_vpu,videobuf2_common,imx_mipi_csis,imx7_media_csi,v4l 2_mem2mem spi_imx 24576 0 imx_pcm_dma 12288 1 snd_soc_fsl_sai imx8mm_thermal 12288 0 imx_sdma 24576 6 imx_cpufreq_dt 12288 0 The relevant dt looks like this: csi: csi@32e20000 { compatible = "fsl,imx8mm-csi", "fsl,imx7-csi"; reg = <0x32e20000 0x1000>; interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk IMX8MM_CLK_CSI1_ROOT>; clock-names = "mclk"; power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_CSI_BRIDGE>; status = "disabled"; port { csi_in: endpoint { remote-endpoint = <&imx8mm_mipi_csi_out>; }; }; }; mipi_csi: mipi-csi@32e30000 { compatible = "fsl,imx8mm-mipi-csi2"; reg = <0x32e30000 0x1000>; interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; assigned-clocks = <&clk IMX8MM_CLK_CSI1_CORE>; assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>; clock-frequency = <333000000>; clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, <&clk IMX8MM_CLK_CSI1_ROOT>, <&clk IMX8MM_CLK_CSI1_PHY_REF>, <&clk IMX8MM_CLK_DISP_AXI_ROOT>; clock-names = "pclk", "wrap", "phy", "axi"; power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_MIPI_CSI>; status = "disabled"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; }; port@1 { reg = <1>; imx8mm_mipi_csi_out: endpoint { remote-endpoint = <&csi_in>; }; }; }; &csi { status = "okay"; }; &i2c3 { #address-cells = <1>; #size-cells = <0>; imx219: sensor@10 { compatible = "sony,imx219"; reg = <0x10>; clocks = <&cam24m>; VDIG-supply = <®_cam>; port { /* MIPI CSI-2 bus endpoint */ imx219_to_mipi_csi2: endpoint { remote-endpoint = <&imx8mm_mipi_csi_in>; clock-lanes = <0>; data-lanes = <1 2>; link-frequencies = /bits/ 64 <456000000>; }; }; }; }; &mipi_csi { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; imx8mm_mipi_csi_in: endpoint { remote-endpoint = <&imx219_to_mipi_csi2>; data-lanes = <1 2>; }; }; port@1 { reg = <1>; imx8mm_mipi_csi_out: endpoint { remote-endpoint = <&csi_in>; }; }; }; }; Strangely I have a kernel config without modules where I do not run into this issue so it has something to do with modules but I haven't been able to determine which configs make a difference. Any ideas what is wrong here or tips on troubleshooting the cause for the probe defer? Best Regards, Tim [1] https://elixir.bootlin.com/linux/latest/source/arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x.dts [2] https://elixir.bootlin.com/linux/latest/source/arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-imx219.dtso