Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Hello! Thanks for the detailed information and for sharing your device tree and module setup. Based on your logs and the output from your media controller, it looks like your IMX662 sensor is being successfully detected and registered as a V4L2 subdevice. However, your media pipeline—according to the media controller output—is incomplete: it seems the sensor subdevice is not actually being linked through to the rest of the processing chain (ISP, DWE, etc.), and the entities (subdevices) are not forming the expected connections. Here are some steps and pointers to help you debug this further:
1. Kernel Module Loading Order
The Vivante VVCAM stack often requires modules to be loaded in a specific order for the media graph to set up properly. As a rule of thumb:
- Remove all media-related modules, especially the custom ones (VVCAM ISP, DWE, etc.).
- Insert the camera sensor driver (in your case,
imx662) first. - Re-insert or load ISP, DWE, and VVCAM modules afterwards.
This ordering allows the drivers to register their entities so that the kernel can establish links in the media graph between them automatically.
More on module handling:
2. Review Your Device Tree
Your device tree fragments look comprehensive, but be sure to:
- Double-check the
compatiblestring (“framos,imx662”) matches what your driver expects. - Ensure all supplies and GPIOs (especially
rst-gpios) are right for your board’s hardware design. - Review the
remote-endpointentries on both sides (CSI and camera sensor). Typos or mismatched labels will prevent link creation. - Data lane mapping (
data-lanes = <1 2 3 4>;) should match your hardware wiring and what the driver expects.
3. Media Pipeline Link Creation
The media controller does not show links between the sensor → CSI → ISP → DWE → video node. This normally happens via the drivers during module probe. If links are not being created, possible reasons include:
- The endpoints don’t reference each other correctly in the device tree.
- A required driver/module failed to initialize, or isn’t loaded.
- The sensor or ISP driver is missing formats or operations required for link creation.
- Device tree fragments or .dtbo not applied at boot (check using
dmesgorls /proc/device-tree/).
Here is a general resource on how cameras are handled in the media pipeline:
4. Required Kernel Configuration
Check that you have all required kernel options enabled. At a minimum, you need:
CONFIG_VIDEO_V4L2- Drivers for the IMX662, CSI, ISP, DWE, and VVCAM framework (
imx8_media_dev) - Media controller support, and subdev support
Sometimes, vendor-specific drivers require additional configs. You can check your current config with:
zcat /proc/config.gz | grep V4L
Look for lines related to your sensor, CSI, ISP, and media controller.
5. Module/Driver Probing and Logs
Reboot, ensure all required modules are in place, and check dmesg for errors or warnings from any media/video driver. See if you have any “probe failed” or “could not create link” messages.
6. Test With Video4Linux Tools
When the links are set up correctly, running:
media-ctl -p -d /dev/media0
should show a pipeline linking the sensor to the video device. If not, try manually linking entities (if your stack supports it), but normally this is handled automatically by the drivers.
Summary of Actions
- Review and, if needed, reorder your module loading.
- Double-check all device tree endpoint references for typos.
- Confirm all required kernel config options are enabled.
- Examine
dmesglogs immediately after boot or module reload for any media/driver errors. - Use
media-ctlto inspect your pipeline. - If possible, test using a known-working sensor/device tree setup to rule out hardware issues.
Would you like to share the output of media-ctl -p -d /dev/media0 and any related dmesg logs after following the above steps? I can help further interpret what is happening.
Best regards,
Toradex AI Assistant.
[1] Can't register /dev/videoX
[2] Cameras on Toradex System on Modules | Toradex Developer Center