Question about Serdes_pix_clk_hz configuration

The current hardware is Jetson Thor,
The software version is JetPack 7.0 and Jetson Linux 38.2.

Currently, we are using Thor and gmsl to connect 8 cameras. The resolution of each camera is 1920x1536@30.
The current output rate of the MIPI lane of dser is 1.5 Gbps.
When I set the resolution to 1920*1080@30,
The rate is 1920 x1080x30x16x1.2x1.14 = 1,361,608,704.
1.5 Gbps this rate is sufficient for the transmission, so it is normal to output 4 images simultaneously.

According to the official documentation, the serdes_pix_clk_hz is configured at
375000000(1.5 Gbps * 4 lanes / 16 bits)However, this configuration cannot support the simultaneous output of 4 images. It will result in abnormal image display.

The required output rate is 1920x1536x30x16x1.2x1.14 = 1,936,510,156

Therefore, we need to configure the output of dser to 2Gbps. Currently, according to the official documentation of Nvidia, the maximum rate of dphy can reach 2.5Gbps. However, after I configured both sides to 2Gbps, v4l2 currently cannot receive any data. Below is the vi debug log. Please help me figure out what might be the cause.

sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 82/82   #P:14
#
#                                _-----=> irqs-off/BH-disabled
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
     kworker/1:7-310     [001] .....  1635.575633: rtcpu_unknown: tstamp:1660081576373 id:0x000d0000 len:36 data:5c 00 00 00 04 00 00 00 43 10 00 00 00 00 00 00 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/1:7-310     [001] .....  1635.575635: rtcpu_unknown: tstamp:1660083064318 id:0x000d0001 len:16 data:5c 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00
     kworker/1:7-310     [001] .....  1635.575637: rtcpu_string: tstamp:1660083407595 id:0x04010000 str:"VI ch[35] frame configuration: 1920x1536 
"
     kworker/1:7-310     [001] .....  1635.575649: rtcpu_string: tstamp:1660083421734 id:0x04010000 str:"    left skip pixels=0 top skip lines=0
"
     kworker/1:7-310     [001] .....  1635.575651: rtcpu_string: tstamp:1660083437095 id:0x04010000 str:"    right crop pixels=1920 bottom crop lines=15"
     kworker/1:7-310     [001] .....  1635.575652: rtcpu_string: tstamp:1660083452456 id:0x04010000 str:"36
"
     kworker/1:7-310     [001] .....  1635.575655: rtcpu_string: tstamp:1660083467512 id:0x04010000 str:"    pixel format=VI_PIXFMT_FORMAT_T_U8_Y8__V8_Y"
     kworker/1:7-310     [001] .....  1635.575655: rtcpu_string: tstamp:1660083482438 id:0x04010000 str:"8 fmt=19
"
     kworker/1:7-310     [001] .....  1635.575658: rtcpu_unknown: tstamp:1660083977910 id:0x000f0004 len:40 data:00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 40 42 0f 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
     kworker/1:7-310     [001] .....  1635.575659: rtcpu_string: tstamp:1660083993984 id:0x04010000 str:"===== NVCSI Stream Configuration =====
"
     kworker/1:7-310     [001] .....  1635.575661: rtcpu_string: tstamp:1660084007429 id:0x04010000 str:"stream_id: PP 0, csi_port: PORT A
"
     kworker/1:7-310     [001] .....  1635.575664: rtcpu_string: tstamp:1660084020355 id:0x04010000 str:"Brick: PHY 0, Mode: D-PHY
"
     kworker/1:7-310     [001] .....  1635.575666: rtcpu_string: tstamp:1660084035308 id:0x04010000 str:"Partition: CIL A, LP bypass: Enabled, Lanes: 4
"
     kworker/1:7-310     [001] .....  1635.575669: rtcpu_string: tstamp:1660084045206 id:0x04010000 str:"Clock information:
"
     kworker/1:7-310     [001] .....  1635.575671: rtcpu_string: tstamp:1660084056679 id:0x04010000 str:"CIL rate: 270000000 Hz
"
     kworker/1:7-310     [001] .....  1635.575674: rtcpu_string: tstamp:1660084069336 id:0x04010000 str:"MIPI clock rate: 1000000 kHz
"
     kworker/1:7-310     [001] .....  1635.575676: rtcpu_string: tstamp:1660084081243 id:0x04010000 str:"Physical rate: 2000000 Kbps
"
     kworker/1:7-310     [001] .....  1635.575678: rtcpu_string: tstamp:1660084090660 id:0x04010000 str:"T_HS settle: "
     kworker/1:7-310     [001] .....  1635.575679: rtcpu_string: tstamp:1660084099966 id:0x04010000 str:"autoconfigured"
     kworker/1:7-310     [001] .....  1635.575680: rtcpu_string: tstamp:1660084109327 id:0x04010000 str:", T_CLK settle: "
     kworker/1:7-310     [001] .....  1635.575680: rtcpu_string: tstamp:1660084118753 id:0x04010000 str:"autoconfigured"
     kworker/1:7-310     [001] .....  1635.575681: rtcpu_string: tstamp:1660084130595 id:0x04010000 str:"
======================================
"
     kworker/1:7-310     [001] .....  1635.575684: rtcpu_unknown: tstamp:1660084139355 id:0x000f0005 len:8 data:00 00 00 00 00 00 00 00
     kworker/1:7-310     [001] .....  1635.575685: rtcpu_unknown: tstamp:1660084210484 id:0x000f0000 len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/1:7-310     [001] .....  1635.575685: rtcpu_string: tstamp:1660084243845 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/1:7-310     [001] .....  1635.575685: rtcpu_string: tstamp:1660084267688 id:0x04010000 str:"ask=0x06000000 value=0x04000000 (was 0x04020100"
     kworker/1:7-310     [001] .....  1635.575686: rtcpu_string: tstamp:1660084274188 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575688: rtcpu_string: tstamp:1660084307179 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/1:7-310     [001] .....  1635.575689: rtcpu_string: tstamp:1660084330910 id:0x04010000 str:"ask=0x06070000 value=0x00020000 (was 0x04020100"
     kworker/1:7-310     [001] .....  1635.575689: rtcpu_string: tstamp:1660084337438 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575692: rtcpu_string: tstamp:1660084363947 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c58 m"
     kworker/1:7-310     [001] .....  1635.575692: rtcpu_string: tstamp:1660084387049 id:0x04010000 str:"ask=0x000f0000 value=0x000f0000 (was 0x000f0002"
     kworker/1:7-310     [001] .....  1635.575692: rtcpu_string: tstamp:1660084393484 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575695: rtcpu_string: tstamp:1660084420855 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c68 m"
     kworker/1:7-310     [001] .....  1635.575695: rtcpu_string: tstamp:1660084444345 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0x73a3ac97"
     kworker/1:7-310     [001] .....  1635.575696: rtcpu_string: tstamp:1660084450743 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575698: rtcpu_string: tstamp:1660084477355 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c6c m"
     kworker/1:7-310     [001] .....  1635.575698: rtcpu_string: tstamp:1660084500762 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0xa36973af"
     kworker/1:7-310     [001] .....  1635.575699: rtcpu_string: tstamp:1660084507123 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575701: rtcpu_string: tstamp:1660084533068 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c90 m"
     kworker/1:7-310     [001] .....  1635.575701: rtcpu_string: tstamp:1660084556262 id:0x04010000 str:"ask=0x0000f0fc value=0x00002040 (was 0x00000055"
     kworker/1:7-310     [001] .....  1635.575702: rtcpu_string: tstamp:1660084562669 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575704: rtcpu_string: tstamp:1660084588623 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c94 m"
     kworker/1:7-310     [001] .....  1635.575705: rtcpu_string: tstamp:1660084611762 id:0x04010000 str:"ask=0x000000ff value=0x00000011 (was 0x00070000"
     kworker/1:7-310     [001] .....  1635.575705: rtcpu_string: tstamp:1660084618086 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575707: rtcpu_string: tstamp:1660084644892 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cb4 m"
     kworker/1:7-310     [001] .....  1635.575708: rtcpu_string: tstamp:1660084668253 id:0x04010000 str:"ask=0x007f7f7f value=0x00404444 (was 0x00000000"
     kworker/1:7-310     [001] .....  1635.575708: rtcpu_string: tstamp:1660084674605 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575710: rtcpu_string: tstamp:1660084700484 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cec m"
     kworker/1:7-310     [001] .....  1635.575711: rtcpu_string: tstamp:1660084723558 id:0x04010000 str:"ask=0x000000ff value=0x00000027 (was 0x00007411"
     kworker/1:7-310     [001] .....  1635.575711: rtcpu_string: tstamp:1660084729910 id:0x04010000 str:"
"
     kworker/1:7-310     [001] .....  1635.575713: rtcpu_unknown: tstamp:1660084785401 id:0x000a000a len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/1:7-310     [001] .....  1635.575714: rtcpu_unknown: tstamp:1660084800188 id:0x000a000f len:20 data:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/1:7-310     [001] .....  1635.575714: rtcpu_unknown: tstamp:1660085806345 id:0x000a0010 len:12 data:00 00 00 00 00 00 00 00 00 00 00 00
     kworker/1:7-310     [001] .....  1635.575714: rtcpu_unknown: tstamp:1660085819623 id:0x000a000c len:4 data:00 00 00 00
     kworker/1:7-310     [001] .....  1635.575715: rtcpu_unknown: tstamp:1660085867568 id:0x000a0009 len:24 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 30 00 00 00 20 00 00 00
     kworker/1:7-310     [001] .....  1635.575716: rtcpu_string: tstamp:1660085885623 id:0x04010000 str:"CSI port AB IDAC calibration result with freqba"
     kworker/1:7-310     [001] .....  1635.575717: rtcpu_string: tstamp:1660085901595 id:0x04010000 str:"nd=0:
"
     kworker/1:7-310     [001] .....  1635.575719: rtcpu_string: tstamp:1660085915910 id:0x04010000 str:"  Trio A0 rxab=13 rxbc=15 rxca=20
"
     kworker/1:7-310     [001] .....  1635.575722: rtcpu_string: tstamp:1660085929975 id:0x04010000 str:"  Trio A1 rxab=16 rxbc=14 rxca=18
"
     kworker/1:7-310     [001] .....  1635.575724: rtcpu_string: tstamp:1660085946197 id:0x04010000 str:"CSI port AB IDAC calibration result with freqba"
     kworker/1:7-310     [001] .....  1635.575724: rtcpu_string: tstamp:1660085961660 id:0x04010000 str:"nd=0:
"
     kworker/1:7-310     [001] .....  1635.575726: rtcpu_string: tstamp:1660085975743 id:0x04010000 str:"  Trio B0 rxab=23 rxbc=13 rxca=19
"
     kworker/1:7-310     [001] .....  1635.575728: rtcpu_string: tstamp:1660085989799 id:0x04010000 str:"  Trio B1 rxab=20 rxbc=15 rxca=19
"
     kworker/1:7-310     [001] .....  1635.575731: rtcpu_unknown: tstamp:1660085997493 id:0x000a000d len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/1:7-310     [001] .....  1635.575731: rtcpu_unknown: tstamp:1660086015919 id:0x000a0006 len:28 data:00 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00
     kworker/1:7-310     [001] .....  1635.575732: rtcpu_string: tstamp:1660086025984 id:0x04010000 str:"CSI port AB
"
     kworker/1:7-310     [001] .....  1635.575734: rtcpu_string: tstamp:1660086036910 id:0x04010000 str:"  AFE_HFGAIN_IO0_A=7
"
     kworker/1:7-310     [001] .....  1635.575736: rtcpu_string: tstamp:1660086047882 id:0x04010000 str:"  AFE_HFGAIN_IO1_A=7
"
     kworker/1:7-310     [001] .....  1635.575739: rtcpu_string: tstamp:1660086058743 id:0x04010000 str:"  AFE_HFGAIN_CLK_A=7
"
     kworker/1:7-310     [001] .....  1635.575741: rtcpu_string: tstamp:1660086069679 id:0x04010000 str:"  AFE_HFGAIN_IO0_B=7
"
     kworker/1:7-310     [001] .....  1635.575743: rtcpu_string: tstamp:1660086080679 id:0x04010000 str:"  AFE_HFGAIN_IO1_B=7
"
     kworker/1:7-310     [001] .....  1635.575745: rtcpu_string: tstamp:1660086091660 id:0x04010000 str:"  AFE_HFGAIN_CLK_B=7
"
     kworker/1:7-310     [001] .....  1635.575747: rtcpu_unknown: tstamp:1660086099855 id:0x000f0001 len:8 data:00 00 00 00 00 00 00 00
     kworker/1:0-4064    [001] .....  1638.099622: rtcpu_unknown: tstamp:1662591101979 id:0x000d0004 len:4 data:00 00 00 00
     kworker/1:0-4064    [001] .....  1638.099627: rtcpu_unknown: tstamp:1662591814553 id:0x000d0005 len:8 data:00 00 00 00 00 00 00 00
     kworker/1:0-4064    [001] .....  1638.099627: rtcpu_unknown: tstamp:1662592331312 id:0x000d0000 len:36 data:5d 00 00 00 04 00 00 00 43 10 00 00 00 00 00 00 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/1:0-4064    [001] .....  1638.099628: rtcpu_unknown: tstamp:1662592357275 id:0x000d0001 len:16 data:5d 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00
     kworker/1:0-4064    [001] .....  1638.099631: rtcpu_nvcsi_intr: tstamp:1662601566099 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000110
     kworker/1:0-4064    [001] .....  1638.099631: rtcpu_nvcsi_intr: tstamp:1662601566099 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000110
     kworker/1:0-4064    [001] .....  1638.099632: rtcpu_unknown: tstamp:1662602825728 id:0x000d0004 len:4 data:00 00 00 00
     kworker/1:0-4064    [001] .....  1638.099633: rtcpu_unknown: tstamp:1662603814802 id:0x000d0005 len:8 data:00 00 00 00 00 00 00 00

hello heyang66,

the error code 0x110 means data-lane FIFO overflow.
please see-also similar topics for digging into data-lane FIFO overflow failures. such as… Topic 209574, and Topic 242054.

thank you for response
Hi, I’m synchronizing the logs for the 1.5Gbps configuration here,
There is no error related to PHY_INTR0 here.

hy@localhost:~/nvidia$ sudo cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 191/191   #P:14
#
#                                _-----=> irqs-off/BH-disabled
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
     kworker/8:1-144     [008] .....   254.573313: rtcpu_string: tstamp:279090418574 id:0x04010000 str:"VM0 deactivating."
     kworker/8:1-144     [008] .....   256.145306: rtcpu_string: tstamp:280632053114 id:0x04010000 str:"VM0 activating."
     kworker/8:1-144     [008] .....   256.145309: rtcpu_unknown: tstamp:280633846577 id:0x000a0002 len:4 data:00 00 00 00
     kworker/8:1-144     [008] .....   256.145310: rtcpu_unknown: tstamp:280633874300 id:0x000a0005 len:8 data:00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145310: rtcpu_unknown: tstamp:280633883364 id:0x000a0004 len:8 data:00 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145311: rtcpu_unknown: tstamp:280633893448 id:0x000a0003 len:36 data:00 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 0f 00 00 00 14 00 00 00 10 00 00 00 0e 00 00 00 12 00 00 00
     kworker/8:1-144     [008] .....   256.145311: rtcpu_unknown: tstamp:280633900559 id:0x000a0003 len:36 data:00 00 00 00 01 00 00 00 00 00 00 00 17 00 00 00 0d 00 00 00 13 00 00 00 14 00 00 00 11 00 00 00 14 00 00 00
     kworker/8:1-144     [008] .....   256.145312: rtcpu_unknown: tstamp:280633928827 id:0x000a0005 len:8 data:00 00 00 00 01 00 00 00
     kworker/8:1-144     [008] .....   256.145312: rtcpu_unknown: tstamp:280633937763 id:0x000a0004 len:8 data:00 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145313: rtcpu_unknown: tstamp:280633947753 id:0x000a0003 len:36 data:00 00 00 00 00 00 00 00 01 00 00 00 0b 00 00 00 13 00 00 00 15 00 00 00 12 00 00 00 0d 00 00 00 0e 00 00 00
     kworker/8:1-144     [008] .....   256.145313: rtcpu_unknown: tstamp:280633954809 id:0x000a0003 len:36 data:00 00 00 00 01 00 00 00 01 00 00 00 18 00 00 00 0d 00 00 00 0d 00 00 00 14 00 00 00 0d 00 00 00 14 00 00 00
     kworker/8:1-144     [008] .....   256.145314: rtcpu_unknown: tstamp:280633982938 id:0x000a0005 len:8 data:00 00 00 00 20 00 00 00
     kworker/8:1-144     [008] .....   256.145314: rtcpu_unknown: tstamp:280633991864 id:0x000a0004 len:8 data:00 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145315: rtcpu_unknown: tstamp:280634001837 id:0x000a0003 len:36 data:00 00 00 00 00 00 00 00 02 00 00 00 11 00 00 00 14 00 00 00 14 00 00 00 10 00 00 00 0c 00 00 00 0b 00 00 00
     kworker/8:1-144     [008] .....   256.145315: rtcpu_unknown: tstamp:280634008855 id:0x000a0003 len:36 data:00 00 00 00 01 00 00 00 02 00 00 00 16 00 00 00 0e 00 00 00 0c 00 00 00 13 00 00 00 0d 00 00 00 16 00 00 00
     kworker/8:1-144     [008] .....   256.145316: rtcpu_unknown: tstamp:280634033059 id:0x000a0002 len:4 data:01 00 00 00
     kworker/8:1-144     [008] .....   256.145316: rtcpu_unknown: tstamp:280634060614 id:0x000a0005 len:8 data:01 00 00 00 80 00 00 00
     kworker/8:1-144     [008] .....   256.145317: rtcpu_unknown: tstamp:280634069540 id:0x000a0004 len:8 data:01 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145317: rtcpu_unknown: tstamp:280634079549 id:0x000a0003 len:36 data:01 00 00 00 00 00 00 00 00 00 00 00 1a 00 00 00 15 00 00 00 0d 00 00 00 0f 00 00 00 0f 00 00 00 18 00 00 00
     kworker/8:1-144     [008] .....   256.145317: rtcpu_unknown: tstamp:280634087735 id:0x000a0003 len:36 data:01 00 00 00 01 00 00 00 00 00 00 00 0c 00 00 00 09 00 00 00 0d 00 00 00 0c 00 00 00 0e 00 00 00 18 00 00 00
     kworker/8:1-144     [008] .....   256.145318: rtcpu_unknown: tstamp:280634115883 id:0x000a0005 len:8 data:01 00 00 00 80 00 00 00
     kworker/8:1-144     [008] .....   256.145318: rtcpu_unknown: tstamp:280634124762 id:0x000a0004 len:8 data:01 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145318: rtcpu_unknown: tstamp:280634134725 id:0x000a0003 len:36 data:01 00 00 00 00 00 00 00 01 00 00 00 1c 00 00 00 13 00 00 00 10 00 00 00 10 00 00 00 0e 00 00 00 18 00 00 00
     kworker/8:1-144     [008] .....   256.145318: rtcpu_unknown: tstamp:280634141698 id:0x000a0003 len:36 data:01 00 00 00 01 00 00 00 01 00 00 00 0d 00 00 00 0b 00 00 00 0c 00 00 00 0f 00 00 00 0f 00 00 00 15 00 00 00
     kworker/8:1-144     [008] .....   256.145319: rtcpu_unknown: tstamp:280634169716 id:0x000a0005 len:8 data:01 00 00 00 80 01 00 00
     kworker/8:1-144     [008] .....   256.145319: rtcpu_unknown: tstamp:280634178596 id:0x000a0004 len:8 data:01 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145319: rtcpu_unknown: tstamp:280634188559 id:0x000a0003 len:36 data:01 00 00 00 00 00 00 00 02 00 00 00 18 00 00 00 12 00 00 00 0f 00 00 00 0d 00 00 00 0d 00 00 00 15 00 00 00
     kworker/8:1-144     [008] .....   256.145320: rtcpu_unknown: tstamp:280634195494 id:0x000a0003 len:36 data:01 00 00 00 01 00 00 00 02 00 00 00 10 00 00 00 0a 00 00 00 0a 00 00 00 0d 00 00 00 13 00 00 00 18 00 00 00
     kworker/8:1-144     [008] .....   256.145320: rtcpu_unknown: tstamp:280634219633 id:0x000a0002 len:4 data:02 00 00 00
     kworker/8:1-144     [008] .....   256.145320: rtcpu_unknown: tstamp:280634247142 id:0x000a0005 len:8 data:02 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145321: rtcpu_unknown: tstamp:280634256050 id:0x000a0004 len:8 data:02 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145321: rtcpu_unknown: tstamp:280634266077 id:0x000a0003 len:36 data:02 00 00 00 00 00 00 00 00 00 00 00 1d 00 00 00 12 00 00 00 16 00 00 00 10 00 00 00 1a 00 00 00 11 00 00 00
     kworker/8:1-144     [008] .....   256.145321: rtcpu_unknown: tstamp:280634273050 id:0x000a0003 len:36 data:02 00 00 00 01 00 00 00 00 00 00 00 0d 00 00 00 10 00 00 00 15 00 00 00 16 00 00 00 11 00 00 00 17 00 00 00
     kworker/8:1-144     [008] .....   256.145322: rtcpu_unknown: tstamp:280634301142 id:0x000a0005 len:8 data:02 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145322: rtcpu_unknown: tstamp:280634310022 id:0x000a0004 len:8 data:02 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145322: rtcpu_unknown: tstamp:280634320003 id:0x000a0003 len:36 data:02 00 00 00 00 00 00 00 01 00 00 00 1c 00 00 00 16 00 00 00 12 00 00 00 14 00 00 00 17 00 00 00 11 00 00 00
     kworker/8:1-144     [008] .....   256.145323: rtcpu_unknown: tstamp:280634327003 id:0x000a0003 len:36 data:02 00 00 00 01 00 00 00 01 00 00 00 0d 00 00 00 12 00 00 00 14 00 00 00 14 00 00 00 15 00 00 00 13 00 00 00
     kworker/8:1-144     [008] .....   256.145323: rtcpu_unknown: tstamp:280634355059 id:0x000a0005 len:8 data:02 00 00 00 40 00 00 00
     kworker/8:1-144     [008] .....   256.145324: rtcpu_unknown: tstamp:280634363975 id:0x000a0004 len:8 data:02 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145324: rtcpu_unknown: tstamp:280634373966 id:0x000a0003 len:36 data:02 00 00 00 00 00 00 00 02 00 00 00 1a 00 00 00 10 00 00 00 14 00 00 00 11 00 00 00 0e 00 00 00 15 00 00 00
     kworker/8:1-144     [008] .....   256.145324: rtcpu_unknown: tstamp:280634381003 id:0x000a0003 len:36 data:02 00 00 00 01 00 00 00 02 00 00 00 09 00 00 00 12 00 00 00 17 00 00 00 15 00 00 00 19 00 00 00 0d 00 00 00
     kworker/8:1-144     [008] .....   256.145325: rtcpu_unknown: tstamp:280634405087 id:0x000a0002 len:4 data:03 00 00 00
     kworker/8:1-144     [008] .....   256.145325: rtcpu_unknown: tstamp:280634432633 id:0x000a0005 len:8 data:03 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145325: rtcpu_unknown: tstamp:280634441550 id:0x000a0004 len:8 data:03 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145326: rtcpu_unknown: tstamp:280634451633 id:0x000a0003 len:36 data:03 00 00 00 00 00 00 00 00 00 00 00 15 00 00 00 17 00 00 00 12 00 00 00 17 00 00 00 0f 00 00 00 0e 00 00 00
     kworker/8:1-144     [008] .....   256.145326: rtcpu_unknown: tstamp:280634458624 id:0x000a0003 len:36 data:03 00 00 00 01 00 00 00 00 00 00 00 19 00 00 00 15 00 00 00 17 00 00 00 14 00 00 00 15 00 00 00 0e 00 00 00
     kworker/8:1-144     [008] .....   256.145326: rtcpu_unknown: tstamp:280634486725 id:0x000a0005 len:8 data:03 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145327: rtcpu_unknown: tstamp:280634495642 id:0x000a0004 len:8 data:03 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145327: rtcpu_unknown: tstamp:280634505587 id:0x000a0003 len:36 data:03 00 00 00 00 00 00 00 01 00 00 00 13 00 00 00 19 00 00 00 12 00 00 00 17 00 00 00 10 00 00 00 0d 00 00 00
     kworker/8:1-144     [008] .....   256.145327: rtcpu_unknown: tstamp:280634512587 id:0x000a0003 len:36 data:03 00 00 00 01 00 00 00 01 00 00 00 18 00 00 00 14 00 00 00 16 00 00 00 17 00 00 00 13 00 00 00 11 00 00 00
     kworker/8:1-144     [008] .....   256.145328: rtcpu_unknown: tstamp:280634540651 id:0x000a0005 len:8 data:03 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145328: rtcpu_unknown: tstamp:280634549559 id:0x000a0004 len:8 data:03 00 00 00 ff 0f 00 00
     kworker/8:1-144     [008] .....   256.145328: rtcpu_unknown: tstamp:280634559466 id:0x000a0003 len:36 data:03 00 00 00 00 00 00 00 02 00 00 00 0e 00 00 00 1a 00 00 00 12 00 00 00 1c 00 00 00 10 00 00 00 12 00 00 00
     kworker/8:1-144     [008] .....   256.145328: rtcpu_unknown: tstamp:280634566420 id:0x000a0003 len:36 data:03 00 00 00 01 00 00 00 02 00 00 00 19 00 00 00 12 00 00 00 16 00 00 00 18 00 00 00 13 00 00 00 14 00 00 00
     kworker/8:1-144     [008] .....   256.145329: rtcpu_unknown: tstamp:280635927392 id:0x000d0000 len:36 data:5c 00 00 00 04 00 00 00 43 10 00 00 00 00 00 00 6e 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145329: rtcpu_unknown: tstamp:280637388253 id:0x000d0001 len:16 data:5c 00 00 00 00 00 00 00 00 00 00 00 23 00 00 00
     kworker/8:1-144     [008] .....   256.145330: rtcpu_string: tstamp:280637698522 id:0x04010000 str:"VI ch[35] frame configuration: 1920x1536 
"
     kworker/8:1-144     [008] .....   256.145340: rtcpu_string: tstamp:280637712605 id:0x04010000 str:"    left skip pixels=0 top skip lines=0
"
     kworker/8:1-144     [008] .....   256.145343: rtcpu_string: tstamp:280637727929 id:0x04010000 str:"    right crop pixels=1920 bottom crop lines=15"
     kworker/8:1-144     [008] .....   256.145344: rtcpu_string: tstamp:280637743207 id:0x04010000 str:"36
"
     kworker/8:1-144     [008] .....   256.145347: rtcpu_string: tstamp:280637758188 id:0x04010000 str:"    pixel format=VI_PIXFMT_FORMAT_T_U8_Y8__V8_Y"
     kworker/8:1-144     [008] .....   256.145347: rtcpu_string: tstamp:280637773040 id:0x04010000 str:"8 fmt=19
"
     kworker/8:1-144     [008] .....   256.145350: rtcpu_unknown: tstamp:280637925179 id:0x000f0004 len:40 data:00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 c0 27 09 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145350: rtcpu_string: tstamp:280637941179 id:0x04010000 str:"===== NVCSI Stream Configuration =====
"
     kworker/8:1-144     [008] .....   256.145353: rtcpu_string: tstamp:280637954614 id:0x04010000 str:"stream_id: PP 0, csi_port: PORT A
"
     kworker/8:1-144     [008] .....   256.145355: rtcpu_string: tstamp:280637967550 id:0x04010000 str:"Brick: PHY 0, Mode: D-PHY
"
     kworker/8:1-144     [008] .....   256.145357: rtcpu_string: tstamp:280637982494 id:0x04010000 str:"Partition: CIL A, LP bypass: Enabled, Lanes: 4
"
     kworker/8:1-144     [008] .....   256.145361: rtcpu_string: tstamp:280637992392 id:0x04010000 str:"Clock information:
"
     kworker/8:1-144     [008] .....   256.145363: rtcpu_string: tstamp:280638003948 id:0x04010000 str:"CIL rate: 270000000 Hz
"
     kworker/8:1-144     [008] .....   256.145365: rtcpu_string: tstamp:280638016522 id:0x04010000 str:"MIPI clock rate: 600000 kHz
"
     kworker/8:1-144     [008] .....   256.145368: rtcpu_string: tstamp:280638028550 id:0x04010000 str:"Physical rate: 1200000 Kbps
"
     kworker/8:1-144     [008] .....   256.145370: rtcpu_string: tstamp:280638037938 id:0x04010000 str:"T_HS settle: "
     kworker/8:1-144     [008] .....   256.145371: rtcpu_string: tstamp:280638047309 id:0x04010000 str:"autoconfigured"
     kworker/8:1-144     [008] .....   256.145371: rtcpu_string: tstamp:280638056735 id:0x04010000 str:", T_CLK settle: "
     kworker/8:1-144     [008] .....   256.145372: rtcpu_string: tstamp:280638066253 id:0x04010000 str:"autoconfigured"
     kworker/8:1-144     [008] .....   256.145372: rtcpu_string: tstamp:280638078142 id:0x04010000 str:"
======================================
"
     kworker/8:1-144     [008] .....   256.145375: rtcpu_unknown: tstamp:280638087855 id:0x000f0005 len:8 data:00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145376: rtcpu_unknown: tstamp:280638159244 id:0x000f0000 len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145377: rtcpu_string: tstamp:280638192476 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/8:1-144     [008] .....   256.145377: rtcpu_string: tstamp:280638216337 id:0x04010000 str:"ask=0x06000000 value=0x04000000 (was 0x04020100"
     kworker/8:1-144     [008] .....   256.145378: rtcpu_string: tstamp:280638222790 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145381: rtcpu_string: tstamp:280638254763 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/8:1-144     [008] .....   256.145381: rtcpu_string: tstamp:280638278494 id:0x04010000 str:"ask=0x06070000 value=0x00020000 (was 0x04020100"
     kworker/8:1-144     [008] .....   256.145382: rtcpu_string: tstamp:280638285031 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145384: rtcpu_string: tstamp:280638311281 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c58 m"
     kworker/8:1-144     [008] .....   256.145385: rtcpu_string: tstamp:280638334337 id:0x04010000 str:"ask=0x000f0000 value=0x000f0000 (was 0x000f0002"
     kworker/8:1-144     [008] .....   256.145385: rtcpu_string: tstamp:280638340707 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145388: rtcpu_string: tstamp:280638367124 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c68 m"
     kworker/8:1-144     [008] .....   256.145389: rtcpu_string: tstamp:280638390540 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0x7365acd7"
     kworker/8:1-144     [008] .....   256.145389: rtcpu_string: tstamp:280638396883 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145392: rtcpu_string: tstamp:280638423235 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c6c m"
     kworker/8:1-144     [008] .....   256.145393: rtcpu_string: tstamp:280638446614 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0xa3696b71"
     kworker/8:1-144     [008] .....   256.145393: rtcpu_string: tstamp:280638453096 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145396: rtcpu_string: tstamp:280638478837 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c90 m"
     kworker/8:1-144     [008] .....   256.145397: rtcpu_string: tstamp:280638502050 id:0x04010000 str:"ask=0x0000f0fc value=0x00002040 (was 0x00000055"
     kworker/8:1-144     [008] .....   256.145397: rtcpu_string: tstamp:280638508503 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145400: rtcpu_string: tstamp:280638534290 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c94 m"
     kworker/8:1-144     [008] .....   256.145401: rtcpu_string: tstamp:280638557531 id:0x04010000 str:"ask=0x000000ff value=0x00000011 (was 0x00070000"
     kworker/8:1-144     [008] .....   256.145401: rtcpu_string: tstamp:280638563957 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145404: rtcpu_string: tstamp:280638590003 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cb4 m"
     kworker/8:1-144     [008] .....   256.145404: rtcpu_string: tstamp:280638613429 id:0x04010000 str:"ask=0x007f7f7f value=0x00404444 (was 0x00000000"
     kworker/8:1-144     [008] .....   256.145405: rtcpu_string: tstamp:280638619800 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145407: rtcpu_string: tstamp:280638645457 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cec m"
     kworker/8:1-144     [008] .....   256.145408: rtcpu_string: tstamp:280638668550 id:0x04010000 str:"ask=0x000000ff value=0x00000027 (was 0x00007411"
     kworker/8:1-144     [008] .....   256.145408: rtcpu_string: tstamp:280638674911 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   256.145411: rtcpu_unknown: tstamp:280638727087 id:0x000a000a len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/8:1-144     [008] .....   256.145411: rtcpu_unknown: tstamp:280638740392 id:0x000a000f len:20 data:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/8:1-144     [008] .....   256.145412: rtcpu_unknown: tstamp:280639093707 id:0x000a0010 len:12 data:00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145412: rtcpu_unknown: tstamp:280639106744 id:0x000a000c len:4 data:00 00 00 00
     kworker/8:1-144     [008] .....   256.145412: rtcpu_unknown: tstamp:280639152716 id:0x000a0009 len:24 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 30 00 00 00 23 00 00 00
     kworker/8:1-144     [008] .....   256.145413: rtcpu_string: tstamp:280639171226 id:0x04010000 str:"CSI port AB IDAC calibration result with freqba"
     kworker/8:1-144     [008] .....   256.145413: rtcpu_string: tstamp:280639186855 id:0x04010000 str:"nd=0:
"
     kworker/8:1-144     [008] .....   256.145416: rtcpu_string: tstamp:280639201161 id:0x04010000 str:"  Trio A0 rxab=13 rxbc=15 rxca=20
"
     kworker/8:1-144     [008] .....   256.145418: rtcpu_string: tstamp:280639215152 id:0x04010000 str:"  Trio A1 rxab=16 rxbc=14 rxca=18
"
     kworker/8:1-144     [008] .....   256.145420: rtcpu_string: tstamp:280639231392 id:0x04010000 str:"CSI port AB IDAC calibration result with freqba"
     kworker/8:1-144     [008] .....   256.145421: rtcpu_string: tstamp:280639246772 id:0x04010000 str:"nd=0:
"
     kworker/8:1-144     [008] .....   256.145423: rtcpu_string: tstamp:280639260855 id:0x04010000 str:"  Trio B0 rxab=23 rxbc=13 rxca=19
"
     kworker/8:1-144     [008] .....   256.145425: rtcpu_string: tstamp:280639274892 id:0x04010000 str:"  Trio B1 rxab=20 rxbc=17 rxca=20
"
     kworker/8:1-144     [008] .....   256.145427: rtcpu_unknown: tstamp:280639285263 id:0x000a0006 len:28 data:00 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00
     kworker/8:1-144     [008] .....   256.145428: rtcpu_string: tstamp:280639295420 id:0x04010000 str:"CSI port AB
"
     kworker/8:1-144     [008] .....   256.145430: rtcpu_string: tstamp:280639306374 id:0x04010000 str:"  AFE_HFGAIN_IO0_A=7
"
     kworker/8:1-144     [008] .....   256.145432: rtcpu_string: tstamp:280639317402 id:0x04010000 str:"  AFE_HFGAIN_IO1_A=7
"
     kworker/8:1-144     [008] .....   256.145434: rtcpu_string: tstamp:280639328290 id:0x04010000 str:"  AFE_HFGAIN_CLK_A=7
"
     kworker/8:1-144     [008] .....   256.145437: rtcpu_string: tstamp:280639339226 id:0x04010000 str:"  AFE_HFGAIN_IO0_B=7
"
     kworker/8:1-144     [008] .....   256.145439: rtcpu_string: tstamp:280639350244 id:0x04010000 str:"  AFE_HFGAIN_IO1_B=7
"
     kworker/8:1-144     [008] .....   256.145441: rtcpu_string: tstamp:280639361226 id:0x04010000 str:"  AFE_HFGAIN_CLK_B=7
"
     kworker/8:1-144     [008] .....   256.145443: rtcpu_unknown: tstamp:280639367966 id:0x000a000b len:4 data:00 00 00 00
     kworker/8:1-144     [008] .....   256.145444: rtcpu_unknown: tstamp:280639383003 id:0x000f0001 len:8 data:00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.145444: rtcpu_unknown: tstamp:280671987060 id:0x000d0007 len:48 data:00 00 00 00 00 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 0e cf 9a 57 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.201299: rtcpu_unknown: tstamp:280705321125 id:0x000d0007 len:48 data:00 00 00 00 01 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 e0 72 97 59 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.257299: rtcpu_unknown: tstamp:280738704432 id:0x000d0007 len:48 data:00 00 00 00 02 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 d0 2c 94 5b 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.257301: rtcpu_unknown: tstamp:280772038626 id:0x000d0007 len:48 data:00 00 00 00 03 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 68 d0 90 5d 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.313294: rtcpu_unknown: tstamp:280805373144 id:0x000d0007 len:48 data:00 00 00 00 04 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b0 73 8d 5f 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.313296: rtcpu_unknown: tstamp:280838707199 id:0x000d0007 len:48 data:00 00 00 00 05 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 e9 16 8a 61 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.369295: rtcpu_unknown: tstamp:280871992439 id:0x000d0007 len:48 data:00 00 00 00 06 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b2 ba 86 63 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.369297: rtcpu_unknown: tstamp:280905374948 id:0x000d0007 len:48 data:00 00 00 00 07 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 c7 5d 83 65 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.425295: rtcpu_unknown: tstamp:280938660985 id:0x000d0007 len:48 data:00 00 00 00 08 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 9d 01 80 67 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.481304: rtcpu_unknown: tstamp:280971995169 id:0x000d0007 len:48 data:00 00 00 00 09 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 ad a4 7c 69 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.481305: rtcpu_unknown: tstamp:281005328947 id:0x000d0007 len:48 data:00 00 00 00 0a 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 92 48 79 6b 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.537308: rtcpu_unknown: tstamp:281038663159 id:0x000d0007 len:48 data:00 00 00 00 0b 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b4 eb 75 6d 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.537310: rtcpu_unknown: tstamp:281071997807 id:0x000d0007 len:48 data:00 00 00 00 0c 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 59 8f 72 6f 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.593294: rtcpu_unknown: tstamp:281105331760 id:0x000d0007 len:48 data:00 00 00 00 0d 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b8 32 6f 71 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.649295: rtcpu_unknown: tstamp:281138665824 id:0x000d0007 len:48 data:00 00 00 00 0e 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 d9 d5 6b 73 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.649297: rtcpu_unknown: tstamp:281172000592 id:0x000d0007 len:48 data:00 00 00 00 0f 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 87 79 68 75 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.705308: rtcpu_unknown: tstamp:281205334545 id:0x000d0007 len:48 data:00 00 00 00 10 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 bc 1c 65 77 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.705309: rtcpu_unknown: tstamp:281238668804 id:0x000d0007 len:48 data:00 00 00 00 11 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 9d c0 61 79 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.761322: rtcpu_unknown: tstamp:281272003342 id:0x000d0007 len:48 data:00 00 00 00 12 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 ab 63 5e 7b 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.817298: rtcpu_unknown: tstamp:281305337324 id:0x000d0007 len:48 data:00 00 00 00 13 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 9d 07 5b 7d 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.817300: rtcpu_unknown: tstamp:281338671621 id:0x000d0007 len:48 data:00 00 00 00 14 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b5 aa 57 7f 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.877144: rtcpu_unknown: tstamp:281372011039 id:0x000d0007 len:48 data:00 00 00 00 15 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 77 4e 54 81 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.877146: rtcpu_unknown: tstamp:281405344901 id:0x000d0007 len:48 data:00 00 00 00 16 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 a5 f1 50 83 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.933140: rtcpu_unknown: tstamp:281438678596 id:0x000d0007 len:48 data:00 00 00 00 17 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 ce 94 4d 85 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.989301: rtcpu_unknown: tstamp:281472013255 id:0x000d0007 len:48 data:00 00 00 00 18 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 9b 38 4a 87 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   256.989302: rtcpu_unknown: tstamp:281505346273 id:0x000d0007 len:48 data:00 00 00 00 19 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 b8 db 46 89 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.045295: rtcpu_unknown: tstamp:281538679791 id:0x000d0007 len:48 data:00 00 00 00 1a 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 86 7f 43 8b 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.045297: rtcpu_unknown: tstamp:281572013578 id:0x000d0007 len:48 data:00 00 00 00 1b 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 ba 22 40 8d 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.101152: rtcpu_unknown: tstamp:281605374605 id:0x000d0007 len:48 data:00 00 00 00 1c 00 00 00 6e 00 00 00 0e 00 00 00 41 00 00 00 61 f3 3c 8f 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.101154: rtcpu_unknown: tstamp:281605514679 id:0x000f0002 len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.101156: rtcpu_string: tstamp:281605547105 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/8:1-144     [008] .....   257.101157: rtcpu_string: tstamp:281605570985 id:0x04010000 str:"ask=0x06000000 value=0x04000000 (was 0x00020000"
     kworker/8:1-144     [008] .....   257.101157: rtcpu_string: tstamp:281605577402 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101169: rtcpu_string: tstamp:281605609235 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c1c m"
     kworker/8:1-144     [008] .....   257.101170: rtcpu_string: tstamp:281605632864 id:0x04010000 str:"ask=0x06070000 value=0x00020000 (was 0x04020000"
     kworker/8:1-144     [008] .....   257.101171: rtcpu_string: tstamp:281605639337 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101174: rtcpu_string: tstamp:281605665614 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c58 m"
     kworker/8:1-144     [008] .....   257.101175: rtcpu_string: tstamp:281605688744 id:0x04010000 str:"ask=0x000f0000 value=0x000f0000 (was 0x000f0002"
     kworker/8:1-144     [008] .....   257.101176: rtcpu_string: tstamp:281605695189 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101179: rtcpu_string: tstamp:281605721652 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c68 m"
     kworker/8:1-144     [008] .....   257.101179: rtcpu_string: tstamp:281605745170 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0x93a1a3db"
     kworker/8:1-144     [008] .....   257.101180: rtcpu_string: tstamp:281605751577 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101183: rtcpu_string: tstamp:281605777994 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c6c m"
     kworker/8:1-144     [008] .....   257.101184: rtcpu_string: tstamp:281605801448 id:0x04010000 str:"ask=0xffffffff value=0x84208420 (was 0xa4699b6f"
     kworker/8:1-144     [008] .....   257.101184: rtcpu_string: tstamp:281605807948 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101187: rtcpu_string: tstamp:281605833513 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c90 m"
     kworker/8:1-144     [008] .....   257.101188: rtcpu_string: tstamp:281605856577 id:0x04010000 str:"ask=0x0000f0fc value=0x00002040 (was 0x00002041"
     kworker/8:1-144     [008] .....   257.101189: rtcpu_string: tstamp:281605863003 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101192: rtcpu_string: tstamp:281605888994 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011c94 m"
     kworker/8:1-144     [008] .....   257.101193: rtcpu_string: tstamp:281605912244 id:0x04010000 str:"ask=0x000000ff value=0x00000011 (was 0x00700011"
     kworker/8:1-144     [008] .....   257.101193: rtcpu_string: tstamp:281605918670 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101196: rtcpu_string: tstamp:281605944679 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cb4 m"
     kworker/8:1-144     [008] .....   257.101196: rtcpu_string: tstamp:281605968040 id:0x04010000 str:"ask=0x007f7f7f value=0x00404444 (was 0x00404444"
     kworker/8:1-144     [008] .....   257.101197: rtcpu_string: tstamp:281605974420 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101200: rtcpu_string: tstamp:281606000013 id:0x04010000 str:"NVCSI prod write phy: 0 cil: 0 reg=0x00011cec m"
     kworker/8:1-144     [008] .....   257.101200: rtcpu_string: tstamp:281606023105 id:0x04010000 str:"ask=0x000000ff value=0x00000027 (was 0x00007427"
     kworker/8:1-144     [008] .....   257.101201: rtcpu_string: tstamp:281606029466 id:0x04010000 str:"
"
     kworker/8:1-144     [008] .....   257.101204: rtcpu_unknown: tstamp:281606078522 id:0x000a000a len:16 data:00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
     kworker/8:1-144     [008] .....   257.101204: rtcpu_unknown: tstamp:281606106226 id:0x000a000c len:4 data:00 00 00 00
     kworker/8:1-144     [008] .....   257.101205: rtcpu_unknown: tstamp:281606128485 id:0x000f0003 len:8 data:00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   257.101205: rtcpu_unknown: tstamp:281606932809 id:0x000d0004 len:4 data:00 00 00 00
     kworker/8:1-144     [008] .....   257.101206: rtcpu_unknown: tstamp:281607102300 id:0x000d0005 len:8 data:00 00 00 00 00 00 00 00
     kworker/8:1-144     [008] .....   262.149152: rtcpu_string: tstamp:286642262452 id:0x04010000 str:"VM0 deactivating."

Hello, I would like to inquire whether there are any instructions on increasing the VI/NVCIS frequency on the Thor platform?

Because I suspect that the clock of Thor might not be sufficient at present. Currently, it only supports data processing up to 1.5 Gbps. I have increased the input rate to 2 Gbps. Could it be that the CSI/VI module is unable to handle it?

hello heyang66,

please refer to developer guide, Supported Modes and Power Efficiency.
the default mode for Jetson T5000 is 120W, which already running at high frequency, you may try toggling to MaxM for another testing.

if that’s possible, please moving to the latest JP-7 public release version, Jetson Linux r38.4 for verification.

I referred to the responses on this forum and after configuration, I found that no images could be generated either. Could you please offer some suggestions? Currently, the output rate of our DESR is set to 2 Gbps. Should my SERDES_PIX_CLK_HZ be configured at this value?

The output rate of one lane is 1.5 Gbps. Under the condition of meeting the bandwidth requirements,
setting serdes_pix_ckl_hz to 3750000000 enables normal image display.
Therefore, I also have doubts about the configuration of this 125000000 value.
Why can this smaller value be configured?

it seems like an old discussion thread, may I know the topic-id from your snapshot?

ID:358082

I have noticed this Node.
Currently, we are using Dphy with a speed of 2 Gbps.
Would you like to know how the deskew signals are sent?

Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.

An initiation deskew signal should be sent by sensor or deserializer to perform the skew calibration. If the deskew signals is not sent, the receiver will stall, and the capture will time out.

You can calculate the output data rate with the following equation:

Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)

hello heyang66,

oh.. you’ve brought-up the camera stream, right?

This is when the dser device outputs 1.5 Gbps. If serdes_pix_clk_hz is set to 3750000000, it can simultaneously output 3 normal signals. 
However, simultaneously outputting 4 signals is not normal. The abnormal state is shown in the following figure. Currently, after verification, it is suspected that the bandwidth is insufficient. 
I adjusted the output rate of dser to 2.5 Gbps/lane and serdes_pix_clk_hz to 6250000000. Now, not even one bit of data can be received normally.

Uploading: image.png…

I assume you’ve VC support enabled? see-also.. Jetson Virtual Channel with GMSL Camera Framework.
please share your device tree for cross-check, you may upload it as an attachment.

tegra264-camera-isx031-a00.dtsi

// SPDX-License-Identifier: GPL-2.0-only
// SPDX-FileCopyrightText: Copyright (c) 2017-2023, NVIDIA CORPORATION & AFFILIATES.  All rights reserved.
/dts-v1/;
/plugin/;

/ {
	fragment-camera@0 {
		target-path = "/";
		__overlay__ {
			tegra-capture-vi {
				num-channels = <8>;
				ports {
					status = "okay";
					port@0 {
						reg = <0>;
						status = "okay";
						isx031_vi_in0: endpoint {
						       vc-id = <0>;
						       port-index = <0>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out0>;
							   status = "okay";
                        };
					};
					port@1 {
						reg = <1>;
						status = "okay";
						isx031_vi_in1: endpoint {
						       vc-id = <1>;
						       port-index = <0>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out1>;
							   status = "okay";
                        };
					};
					port@2 {
						reg = <2>;
						status = "okay";
						isx031_vi_in2: endpoint {
						       vc-id = <2>;
						       port-index = <0>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out2>;
							   status = "okay";
                        };
					};
					port@3 {
						reg = <3>;
						status = "okay";
						isx031_vi_in3: endpoint {
						       vc-id = <3>;
						       port-index = <0>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out3>;
							   status = "okay";
                        };
					};
					port@4 {
						reg = <4>;
						status = "okay";
						isx031_vi_in4: endpoint {
						       vc-id = <0>;
						       port-index = <2>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out4>;
							   status = "okay";
                        };
					};
					port@5 {
						reg = <5>;
						status = "okay";
						isx031_vi_in5: endpoint {
						       vc-id = <1>;
						       port-index = <2>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out5>;
							   status = "okay";
                        };
					};
					port@6 {
						reg = <6>;
						status = "okay";
						isx031_vi_in6: endpoint {
						       vc-id = <2>;
						       port-index = <2>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out6>;
							   status = "okay";
                        };
					};
					port@7 {
						reg = <7>;
						status = "okay";
						isx031_vi_in7: endpoint {
						       vc-id = <3>;
						       port-index = <2>;
						       bus-width = <4>;
						       remote-endpoint = <&isx031_csi_out7>;
							   status = "okay";
                        };
					};
				};
			};
			bus@0 {
				host1x@8181200000 {
					nvcsi@8188000000 {
						num-channels = <8>;
						channel@0 {
							reg = <0>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in0: endpoint@0 {
										port-index = <0>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out0>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out0: endpoint@1 {
									    remote-endpoint = <&isx031_vi_in0>;
										status = "okay";
									 };
								};
							};
						};
						channel@1 {
							reg = <1>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in1: endpoint@2 {
										port-index = <0>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out1>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out1: endpoint@3 {
									    remote-endpoint = <&isx031_vi_in1>;
										status = "okay";
									 };
								};
							};
						};
						channel@2 {
							reg = <2>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in2: endpoint@4 {
										port-index = <0>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out2>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out2: endpoint@5 {
									    remote-endpoint = <&isx031_vi_in2>;
										status = "okay";
									 };
								};
							};
						};
						channel@3 {
							reg = <3>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in3: endpoint@6 {
										port-index = <0>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out3>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out3: endpoint@7 {
									    remote-endpoint = <&isx031_vi_in3>;
										status = "okay";
									 };
								};
							};
						};
						channel@4 {
							reg = <4>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in4: endpoint@8 {
										port-index = <2>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out4>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out4: endpoint@9 {
									    remote-endpoint = <&isx031_vi_in4>;
										status = "okay";
									 };
								};
							};
						};
						channel@5 {
							reg = <5>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in5: endpoint@10 {
										port-index = <2>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out5>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out5: endpoint@11 {
									    remote-endpoint = <&isx031_vi_in5>;
										status = "okay";
									 };
								};
							};
						};
						channel@6 {
							reg = <6>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in6: endpoint@12 {
										port-index = <2>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out6>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out6: endpoint@13 {
									    remote-endpoint = <&isx031_vi_in6>;
										status = "okay";
									 };
								};
							};
						};
						channel@7 {
							reg = <7>;
							status = "okay";
							ports {
								status = "okay";
								port@0 {
									reg = <0>;
									status = "okay";
									isx031_csi_in7: endpoint@14 {
										port-index = <2>;
										bus-width = <4>;
										remote-endpoint = <&isx031_isx031_out7>;
										status = "okay";
									};
								};
								port@1 {
									reg = <1>;
									status = "okay";
									isx031_csi_out7: endpoint@15 {
									    remote-endpoint = <&isx031_vi_in7>;
										status = "okay";
									 };
								};
							};
						};
					};
				};
				i2c@810c6d0000 {/* I2C12 */
					isx031_d@1d {
						compatible = "sony,isx031";
						reg = <0x1d>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_a";
							vc_id = "3";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out3: endpoint {
									    vc-id = <3>;
									    port-index = <0>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in3>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "a";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "d";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <3>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_c@1c {
						compatible = "sony,isx031";
						reg = <0x1c>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_a";
							vc_id = "2";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out2: endpoint {
									    vc-id = <2>;
									    port-index = <0>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in2>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "a";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "c";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <2>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_b@1b {
						compatible = "sony,isx031";
						reg = <0x1b>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_a";
							vc_id = "1";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out1: endpoint {
									    vc-id = <1>;
									    port-index = <0>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in1>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "a";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "b";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <1>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_a@1a {
						compatible = "sony,isx031";
						reg = <0x1a>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_a";
							vc_id = "0";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out0: endpoint {
									    vc-id = <0>;
									    port-index = <0>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in0>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "a";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "a";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <0>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
				};
				i2c@810c6a0000 { /* I2C9 */
					isx031_h@21 {
						compatible = "sony,isx031";
						reg = <0x21>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_c";
							vc_id = "3";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out7: endpoint {
									    vc-id = <3>;
									    port-index = <2>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in7>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "c";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "d";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <3>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_g@20 {
						compatible = "sony,isx031";
						reg = <0x20>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_c";
							vc_id = "2";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out6: endpoint {
									    vc-id = <2>;
									    port-index = <2>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in6>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "c";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "c";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <2>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_f@1f {
						compatible = "sony,isx031";
						reg = <0x1f>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_c";
							vc_id = "1";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out5: endpoint {
									    vc-id = <1>;
									    port-index = <2>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in5>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "c";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "b";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <1>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
					isx031_e@1e {
						compatible = "sony,isx031";
						reg = <0x1e>;
						/* Physical dimensions of sensor */
						physical_w = "15.0";
						physical_h = "12.5";
						sensor_model ="isx031";
						sync_sensor = "OWL1";
						sync_sensor_index = <1>;
						/* Defines number of frames to be dropped by driver internally after applying */
						/* sensor crop settings. Some sensors send corrupt frames after applying */
						/* crop co-ordinates */
						post_crop_frame_drop = "0";
						/* enable CID_SENSOR_MODE_ID for sensor modes selection */
						use_sensor_mode_id = "false";
						mode0 {
							mclk_khz = "24000";
							num_lanes = "4";
							tegra_sinterface = "serial_c";
							vc_id = "0";
							discontinuous_clk = "no";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "16";
							mode_type = "yuv";
							pixel_phase = "uyvy";
							active_w = "1920";
							active_h = "1536";
							readout_orientation = "0";
							line_length = "2448";
							inherent_gain = "1";
							mclk_multiplier = "3.01";
							pix_clk_hz = "500000000";
							serdes_pix_clk_hz = "500000000";
							deskew_initial_enable = "true";
							gain_factor = "100";
							min_gain_val = "100"; /* dB */
							max_gain_val = "1600"; /* dB */
							step_gain_val = "1"; /* 0.1 */
							default_gain = "100";
							min_hdr_ratio = "1";
							max_hdr_ratio = "1";
							framerate_factor = "1000000";
							min_framerate = "30000000";
							max_framerate = "30000000";
							step_framerate = "30000000";
							default_framerate = "30000000";
							exposure_factor = "1000000";
							min_exp_time = "28"; /*us, 2 lines*/
							max_exp_time = "22000";
							step_exp_time = "1";
							default_exp_time = "22000";/* us */
							embedded_metadata_height = "0";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;
							port@0 {
								reg = <0>;
								isx031_isx031_out4: endpoint {
									    vc-id = <0>;
									    port-index = <2>;
									    bus-width = <4>;
									    remote-endpoint = <&isx031_csi_in4>;
								};
							};
						};
						gmsl-link {
    						src-csi-port = "a";         /* Port at which sensor is connected to its serializer device. */
    						dst-csi-port = "c";         /* Destination CSI port on the Jetson side, connected at deserializer. */
    						serdes-csi-link = "a";      /* GMSL link sensor/serializer connected to sensor CSI node. */
    						csi-mode = "1x4";
    						st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
    						vc-id = <0>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
							num-lanes = <4>;            /* Number of CSI lanes used. */
							streams = "ued-u1";
						};
					};
				};
			};
			tegra-camera-platform {
				compatible = "nvidia, tegra-camera-platform";
				/**
				 * Physical settings to calculate max ISO BW
				 *
				 * num_csi_lanes = <>;
				 * Total number of CSI lanes when all cameras are active
				 *
				 * max_lane_speed = <>;
				 * Max lane speed in Kbit/s
				 *
				 * min_bits_per_pixel = <>;
				 * Min bits per pixel
				 *
				 * vi_peak_byte_per_pixel = <>;
				 * Max byte per pixel for the VI ISO case
				 *
				 * vi_bw_margin_pct = <>;
				 * Vi bandwidth margin in percentage
				 *
				 * max_pixel_rate = <>;
				 * Max pixel rate in Kpixel/s for the ISP ISO case
				 *
				 * isp_peak_byte_per_pixel = <>;
				 * Max byte per pixel for the ISP ISO case
				 *
				 * isp_bw_margin_pct = <>;
				 * Isp bandwidth margin in percentage
				 */
				num_csi_lanes = <8>;
				max_lane_speed = <2500000>;
				min_bits_per_pixel = <8>;
				vi_peak_byte_per_pixel = <2>;
				vi_bw_margin_pct = <25>;
				isp_peak_byte_per_pixel = <5>;
				isp_bw_margin_pct = <25>;
				/**
				 * The general guideline for naming badge_info contains 3 parts, and is as follows,
				 * The first part is the camera_board_id for the module; if the module is in a FFD
				 * platform, then use the platform name for this part.
				 * The second part contains the position of the module, ex. "rear" or "front".
				 * The third part contains the last 6 characters of a part number which is found
				 * in the module's specsheet from the vender.
				 */
				modules {
					status = "okay";
					module0 {
						badge = "isx031_position0";
						position = "position0";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6d0000/isx031_a@1a";
							status = "okay";
						};
					};
					module1 {
						badge = "isx031_position1";
						position = "position1";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6d0000/isx031_b@1b";
							status = "okay";
						};
					};
					module2 {
						badge = "isx031_position2";
						position = "position2";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6d0000/isx031_c@1c";
							status = "okay";
						};
					};
					module3 {
						badge = "isx031_position3";
						position = "position3";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6d0000/isx031_d@1d";
							status = "okay";
						};
					};
					module4 {
						badge = "isx031_position4";
						position = "position4";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6a0000/isx031_e@1e";
							status = "okay";
						};
					};
					module5 {
						badge = "isx031_position5";
						position = "position5";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6a0000/isx031_f@1f";
							status = "okay";
						};
					};
					module6 {
						badge = "isx031_position6";
						position = "position6";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6a0000/isx031_g@20";
							status = "okay";
						};
					};
					module7 {
						badge = "isx031_position7";
						position = "position7";
						orientation = "0";
						status = "okay";
						drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/i2c@810c6a0000/isx031_h@21";
							status = "okay";
						};
					};
				};
			};
		};
	};
};

tegra264-p3971-camera-serdes-isx031-overlay.dts

// SPDX-License-Identifier: GPL-2.0-only

#include <dt-bindings/clock/tegra264-clk.h>
#include <dt-bindings/gpio/tegra264-gpio.h>
#include "tegra264-camera-isx031-a00.dtsi"

#define JETSON_COMPATIBLE	"nvidia,p3971-0089+p3834-0008", "nvidia,p3971-0050+p3834-0005", "nvidia,p3971-0080+p3834-0008", "nvidia,p3834-0008", "nvidia,tegra264"

/*camera control gpio definitions*/
#define I2C_GP3_PEX_EN  TEGRA264_MAIN_GPIO(Q, 4)

/ {
	overlay-name = "Jetson Camera ISX031";
	jetson-header-name = "Jetson AGX CSI Connector";
	compatible = JETSON_COMPATIBLE;

	fragment-camera-hawk-owl@0 {
		target-path = "/";
		__overlay__ {
			bus@0 {
				/* set camera gpio direction to output */
				gpio@810c300000 {
					camera-control-output-low {
						gpio-hog;
						output-low;
						gpios = <I2C_GP3_PEX_EN 1>;
						label = "i2cgp3-pex";
					};
				};
				i2c@810c6d0000  { /* I2C12 */
					status = "okay";
					dser_1: max96712_a@6b {
						compatible = "maxim,max96712";
						reg = <0x6b>;
						csi-mode = "1x4";                   /* this tells max CSI lane configuration */
						status = "okay";
						pwr-gpios = <&gpio_main I2C_GP3_PEX_EN GPIO_ACTIVE_HIGH>;
					};
					ser_a: max96717_a@40 {
						compatible = "maxim,max96717";
						reg = <0x40>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_1>;
					};
					ser_b: max96717_b@41 {
						compatible = "maxim,max96717";
						reg = <0x41>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_1>;
					};
					ser_c: max96717_c@42 {
						compatible = "maxim,max96717";
						reg = <0x42>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_1>;
					};
					ser_d: max96717_d@43 {
						compatible = "maxim,max96717";
						reg = <0x43>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_1>;
					};
					isx031_a@1a {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_a>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_1>;  /* link to its deserializer device. */
					};
					isx031_b@1b {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_b>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_1>;  /* link to its deserializer device. */
					};
					isx031_c@1c {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_c>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_1>;  /* link to its deserializer device. */
					};
					isx031_d@1d {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_d>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_1>;  /* link to its deserializer device. */
					};
				};
				i2c@810c6a0000  { /* I2C9 */
					status = "okay";
					dser_2: max96712_b@29 {
						compatible = "maxim,max96712";
						reg = <0x29>;
						csi-mode = "1x4";                   /* this tells max CSI lane configuration */
						status = "okay";
					};
					ser_e: max96717_e@40 {
						compatible = "maxim,max96717";
						reg = <0x40>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_2>;
					};
					ser_f: max96717_f@41 {
						compatible = "maxim,max96717";
						reg = <0x41>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_2>;
					};
					ser_g: max96717_g@42 {
						compatible = "maxim,max96717";
						reg = <0x42>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_2>;
					};
					ser_h: max96717_h@43 {
						compatible = "maxim,max96717";
						reg = <0x43>;
						status = "okay";
						nvidia,gmsl-dser-device = <&dser_2>;
					};
					isx031_e@1e {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_e>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_2>;  /* link to its deserializer device. */
					};
					isx031_f@1f {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_f>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_2>;  /* link to its deserializer device. */
					};
					isx031_g@20 {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_g>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_2>;  /* link to its deserializer device. */
					};
					isx031_h@21 {
						status = "okay";
						def-addr = <0x1a>;
                        clocks = <&bpmp TEGRA264_CLK_EXTPERIPH1>, <&bpmp TEGRA264_CLK_EXTPERIPH1>;
						clock-names = "extperiph1", "pllp_grtba";
						mclk = "extperiph1";
						nvidia,gmsl-ser-device = <&ser_h>;  /* link to its serializer device. */
						nvidia,gmsl-dser-device = <&dser_2>;  /* link to its deserializer device. */
					};
				};
			};
		};
	};
};

hello heyang66,

may I know your flash commands, it’ll not enable CSI if you used board configure file, jetson-agx-thor-devkit.conf, as you can see.. jetson-agx-thor-devkit.conf -> p3834-0008-p4071-0000-nvme.conf
you must perform image flashing onto p3971 to enable CSI bricks.
for instance,
SKU5: $ sudo ./tools/kernel_flash/l4t_initrd_flash.sh p3834-0005-p3971-0000 external
SKU80 (NVMe): $ sudo ./tools/kernel_flash/l4t_initrd_flash.sh p3834-0008-p3971-0000-nvme internal

I did not perform the flashing operation in the flash method.

I will place the generated dtbo file in the /Boot/ directory of Thor.

Then, by executing the command “sudo /opt/nvidia/jetson-io/jetson-io.py”, the overlay operation is performed.

I can confirm that the functionality of my CSI is functioning properly. When I configure a 1.5Gbps speed and output three images simultaneously, I can observe the preview data.

hello heyang66,

please try moving forward to the latest JetPack 7.1/r38.4 public release version for verification.

ok,I will verify the upgraded version.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.