Issue with Custom CMOS Sensor on IPU1 CSI0 - No /dev/media0 Node, VIDIOC_STREAMON Fails
I also tried to follow below link:
https://trac.gateworks.com/wiki/linux/media
Hi,
I’m working on a custom i.MX6Q-based board and trying to bring up a custom CMOS parallel camera sensor connected via ipu1_csi0. I’m using a mainline kernel with the staging imx-media driver.
Below is the relevant snippet from my device tree (.dtsi):
dts
test_cam: camera {
compatible = "test,test_camera";
clocks = ;
clock-names = "xvclk";
powerdown-gpios = ;
reset-gpios = ;
status = "okay";
port {
test_cam_to_ipu1_csi0_mux: endpoint {
remote-endpoint = ;
link-frequencies = /bits/ 64 ;
bus-width = ;
hsync-active = ;
vsync-active = ;
};
};
};
&ipu1_csi0_from_ipu1_csi0_mux {
bus-width = ;
data-shift = ; // Lines 19:12 used
hsync-active = ;
vsync-active = ;
};
&ipu1_csi0_mux_from_parallel_sensor {
remote-endpoint = ;
};
&ipu1_csi0 {
pinctrl-names = "default";
pinctrl-0 = ;
status = "okay";
};
The issue I’m facing is:
/dev/media0 is not being created.
When I attempt to start streaming, I see the following errors in the kernel log:
ipu1_csi0: pipeline start failed with -32
VIDIOC_STREAMON returned -1 (Broken pipe)
And these are some of the log messages leading up to it:
imx-media capture-subsystem: walk: skipping disabled link 'ipu1_csi0':2 -> 'ipu1_csi0 capture':0
...
It appears links in the media graph are not getting enabled, which might be why the pipeline fails.
My questions:
Is there anything missing in the device tree for the media links to be properly enabled?
Do I need to explicitly define any subdev links in the DTS or user space?
How can I debug why /dev/media0 is not being created?
Any guidance or pointers to working examples for a similar setup (CMOS parallel sensor + IPU1 CSI0) would be greatly appreciated.
Thanks in advance!
Asked by Jay ganatra
(11 rep)
Mar 24, 2025, 06:05 AM