Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4989

Compute Module • Issues Configuring HQ, V2, and V3 Cameras with Compute Module 3/3+ and libcamera

$
0
0
Hello everyone,

We are currently using a custom PCB designed for the Compute Module 3 and 3+. Up until now, we've been operating with a Raspberry Pi OS image based on Debian 10, and everything was working correctly with the V2 camera using the old configurations.

Now we're trying to update the OS image (Last 64bits stable release) to use the new cameras (HQ, V2, and V3) with libcamera. However, despite multiple attempts, we haven't been able to properly configure the Device Tree or the dtoverlays to get these cameras working.

dmesg output:

Code:

[   20.445128] imx219 10-0010: failed to get regulators[   20.445218] i2c 10-0010: deferred probe pending
Current Situation:

- With the old image, we have access to the V2 camera without any issues.
- After updating, none of the cameras (HQ, V2, V3) work with libcamera.

Actions Taken:

- Tried various configurations of the Device Tree and dtoverlays.
- Modified the config.txt file according to recommendations found in documentation and forums.
- Created and adapted the dt-blob.bin file for our board.
- Try to forcing dtoverlay on config.txt with

Code:

dtoverlay=imx219
and disabling

Code:

#camera_auto_detect=1camera_auto_detect=0
Attachments:

- Images showing how the camera connector is connected on our PCB.
- The dt-blob.bin file we've created for our board.
cm3_port_camera.jpeg
port_camera.jpeg
I would appreciate your help with:

- Identifying what changes we need to make in the Device Tree or dtoverlays to get the cameras working with libcamera.
- Any advice or similar experiences you can share to help resolve this issue.

I know i need to configure the port for CAM1 on I2c correctly but i didn't get right configuration.

Code:

**** fdtdump is a low-level debugging tool, not meant for general use.**** If you want to decompile a dtb, you probably want****     dtc -I dtb -O dts <filename>/dts-v1/;// magic:               0xd00dfeed// totalsize:           0xc42 (3138)// off_dt_struct:       0x38// off_dt_strings:      0xbf8// off_mem_rsvmap:      0x28// version:             17// last_comp_version:   16// boot_cpuid_phys:     0x0// size_dt_strings:     0x4a// size_dt_struct:      0xbc0/ {    videocore {        pins_cm3 {            pin_config {                pin@default {                    polarity = "active_high";                    termination = "pull_down";                    startup_state = "inactive";                    function = "input";                };                pin@p0 {                    function = "input";                    termination = "pull_up";                };                pin@p1 {                    function = "input";                    termination = "pull_up";                };                pin@p2 {                    function = "output";                    termination = "no_pulling";                };                pin@p3 {                    function = "output";                    termination = "no_pulling";                };                pin@p14 {                    function = "uart0";                    termination = "no_pulling";                    drive_strength_mA = <0x00000008>;                };                pin@p15 {                    function = "uart0";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p40 {                    function = "output";                    termination = "pull_down";                    startup_state = "active";                };                pin@p44 {                    function = "i2c1";                    termination = "pull_up";                };                pin@p45 {                    function = "i2c1";                    termination = "pull_up";                };                pin@p46 {                    function = "input";                    termination = "pull_up";                };                pin@p47 {                    function = "input";                    termination = "pull_up";                };                pin@p48 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p49 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p50 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p51 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p52 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p53 {                    function = "sdcard";                    termination = "pull_up";                    drive_strength_mA = <0x00000008>;                };                pin@p128 {                    function = "input";                    termination = "no_pulling";                    polarity = "active_low";                };                pin@p129 {                    function = "output";                    termination = "no_pulling";                    polarity = "active_low";                };            };            pin_defines {                pin_define@HDMI_CONTROL_ATTACHED {                    type = "external";                    number = <0x00000000>;                };                pin_define@EMMC_ENABLE {                    type = "external";                    number = <0x00000001>;                };                pin_define@POWER_LOW {                    type = "absent";                };                pin_define@LEDS_DISK_ACTIVITY {                    type = "absent";                };                pin_define@LAN_RUN {                    type = "internal";                    number = <0x00000028>;                };                pin_define@SMPS_SDA {                    type = "internal";                    number = <0x0000002e>;                };                pin_define@SMPS_SCL {                    type = "internal";                    number = <0x0000002f>;                };                pin_define@ETH_CLK {                    type = "absent";                };                pin_define@WL_LPO_CLK {                    type = "absent";                };                pin_define@USB_LIMIT_1A2 {                    type = "absent";                };                pin_define@SIO_1V8_SEL {                    type = "absent";                };                pin_define@PWML {                    type = "absent";                };                pin_define@PWMR {                    type = "absent";                };                pin_define@SAFE_MODE {                    type = "absent";                };                pin_define@SD_CARD_DETECT {                    type = "absent";                };                pin_define@ID_SDA {                    type = "absent";                };                pin_define@ID_SCL {                    type = "absent";                };                pin_define@NUM_CAMERAS {                    type = "internal";                    number = <0x00000001>;                };                pin_define@CAMERA_0_LED {                    type = "internal";                    number = <0x00000002>;                };                pin_define@CAMERA_0_SHUTDOWN {                    type = "internal";                    number = <0x00000003>;                };                pin_define@CAMERA_0_UNICAM_PORT {                    type = "internal";                    number = <0x00000001>;                };                pin_define@CAMERA_0_I2C_PORT {                    type = "internal";                    number = <0x00000000>;                };                pin_define@CAMERA_0_SDA_PIN {                    type = "internal";                    number = <0x00000000>;                };                pin_define@CAMERA_0_SCL_PIN {                    type = "internal";                    number = <0x00000001>;                };            };        };    };};
Thank you in advance for your time and assistance!

Best regards.

Statistics: Posted by Redhunt — Wed Nov 13, 2024 12:17 pm



Viewing all articles
Browse latest Browse all 4989

Trending Articles