Camera bringup on STM32N6
- August 18, 2026
- 1 reply
- 44 views
We are trying to bringup an omnivision camera on STM32N6. We are able to capture some data from the camera but unable get a good image but the image has lot of horizontal lines. I would like to some input on the configuration to make sure we are not missing anything on N6 side.
uart:~$ ztest run-testcase test_pipeline:test_pipeline_validate
Running TESTSUITE test_pipeline
===================================================================
START - test_pipeline_validate
╔══════════════════════════════════════════════════════════════╗
║ PIPELINE VALIDATION: OS05E10 -> CSI-2 -> DCMIPP -> PSRAM ║
╚══════════════════════════════════════════════════════════════╝
Mode: 2592x1944 DCG 30fps
Sensor: 2592x1944, HTS=714, PHY 1452 Mbps/lane
── STEP 1: Sensor I2C communication ──
I2C read: ret=0
read works here
-> PASS
── STEP 2: Configure and start pipe0 ──
video_set_format: ret=0
buffer enqueued: 10077696 bytes, ret=0
[00:00:23.363,000] <inf> video_osxxxx: MIPI lanes = 2 (p2.79 = 0x19, mipi_lane field = 1)
[00:00:23.425,000] <wrn> stm32_dcmipp: DCMIPP pipe error #1 (pipe 0, ErrorCode 0x8)
[00:00:23.463,000] <inf> video_osxxxx: streaming 2592x1944 RAW10, 2 MIPI lanes
[00:00:23.471,000] <inf> video_osxxxx: HTS 714, VTS requested 14005, effective 14005 -> 5.000 fps
video_stream_start: ret=0
-> PASS
── STEP 3: Sensor registers while streaming ──
P0:0x20 MODE_CTRL = 0x1f (0x1f=streaming)
HTS = 714 (expected 714)
VTS = 14005 (effective, including VBLANKING)
-> frame rate = 5 fps
-> PASS
── STEP 4: Exposure and gain ──
Manual AEC = 0x03 (0x03=both manual)
Exposure = 2100 lines (requested 2100)
Analog gain = 0x200 (requested 0x200 = 4x)
-> PASS
── STEP 5: CSI-2 link (after streaming) ──
Receiver: 2 lane(s)
SR0 = 0x00023300
SOF=1 EOF=1 CRC_ERR=0 ECC_ERR=0
SR1 = 0xe6180010 (lane states)
ERR1 = 0x00000000 ERR2 = 0x00000000
-> PASS (clean link)
── STEP 6: DCMIPP pipe0 registers ──
P0SCSZR = 0x00000000
Crop: OFF, HSIZE=0 words (0 px), VSIZE=0 lines
P0SCSTR = 0x00000000 (start offsets)
P0DCLMTR = 0x80267180 (byte limit)
P0PPCR = 0x00000000 (packer, expect 0)
-> PASS
── STEP 7: Frame data validation ──
Frame received: 5427648 bytes
Sampled 32768 pixels: min=68 max=1023 mean=763
Nonzero: 100%, Above 1023: 0
Format: valid 10-bit (all high bytes 0..3)
-> PASS
══════════════════════════════════════════════════════════════
Pipeline validation: 7 steps completed.
══════════════════════════════════════════════════════════════
PASS - test_pipeline_validate in 1.446 seconds
===================================================================
TESTSUITE test_pipeline succeeded
But Pipe0 and Pipe1 generate some image but there are lot of horizontal lines that appear on the image.
