Custom CSI-2 Sensor on TX1 Port-a, Unhandled fault: alignment fault

hi,

We have a custom board design where we use Port-A of the CSI-2 interface of the TX1, we use adv7482 as V4L2 sensor on our board and the software is L4T-28.1. The CSI-TXA of adv7482 is connect to the Port-A of the CSI-2 interface of the TX1.

we configure our board to capture image using the following command:
“gst-launch-1.0 v4l2src ! ‘video/x-raw, width=1920, height=1080’ ! nvvidconv flip-method=2 ! ‘video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)I420’ ! omxh264enc iframeinterval=25 bitrate=4000000 ! ‘video/x-h264, stream-format=(string)byte-stream’ ! mpegtsmux alignment=7 ! tsparse pcr-pid=58 ! udpsink host=190.192.153.68 port=2640”
But our board doesn’t work properly. When there is no data tramsmit to Port-A of the CSI-2 interface of the TX1 from CSI-TXA of adv7482, the error as follows will appear.

[ 26.583225] video4linux video0: frame start syncpt timeout!0
[ 26.589032] Unhandled fault: alignment fault (0x96000061) at 0xffffff8000000021
[ 26.596359] Internal error: : 96000061 [#1] PREEMPT SMP
[ 26.601573] Modules linked in:
[ 26.604630] CPU: 0 PID: 1483 Comm: vi-output, adv7 Not tainted 4.4.38 #3
[ 26.611314] Hardware name: jetson_tx1 (DT)
[ 26.615400] task: ffffffc07c021900 ti: ffffffc07c0a4000 task.ti: ffffffc07c0a4000
[ 26.622911] PC is at cil_write+0xc/0x14
[ 26.626799] LR is at tegra_csi_error_recover+0xf8/0x1e4
[ 26.632056] pc : [] lr : [] pstate: 60000145
[ 26.639468] sp : ffffffc07c0a7c40
[ 26.642807] x29: ffffffc07c0a7c40 x28: 0000000000000068
[ 26.648201] x27: 0000000000000014 x26: ffffffc07d5f8598
[ 26.653592] x25: 0000000000000214 x24: 0000000000000000
[ 26.658980] x23: 0000000000000020 x22: 0000000000000001
[ 26.664367] x21: ffffffc07d5f8600 x20: 0000000000000000
[ 26.669753] x19: ffffffc07d609418 x18: 0000000000000000
[ 26.675137] x17: 0000000000000000 x16: 0000000000000000
[ 26.680520] x15: 0000000000000000 x14: 0ffffffffffffffe
[ 26.685906] x13: 0000000000000030 x12: 0101010101010101
[ 26.691289] x11: 7f7f7f7f7f7f7f7f x10: 0000000000000860
[ 26.696675] x9 : ffffffc07c0a7ae0 x8 : ffffffc07c0221c0
[ 26.702058] x7 : 0000000000000001 x6 : 000000002a70cdca
[ 26.707442] x5 : 0000000000000000 x4 : ffffffc0012d2390
[ 26.712829] x3 : 0000000000003f6c x2 : 0000000000000000
[ 26.718213] x1 : ffffff8000000021 x0 : ffffff8000000001
[ 26.723596]
[ 26.725128] Process vi-output, adv7 (pid: 1483, stack limit = 0xffffffc07c0a4020)
[ 26.732633] Call trace:
[ 26.735128] [] cil_write+0xc/0x14
[ 26.740061] [] tegra_channel_vi_csi_recover+0x6c/0x180
[ 26.746796] [] tegra_channel_ec_recover+0x1c/0x28
[ 26.753097] [] tegra_channel_capture_frame+0x1f0/0x2c8
[ 26.759835] [] tegra_channel_kthread_capture_start+0x12c/0x154
[ 26.767288] [] kthread+0x100/0x108
[ 26.772300] [] ret_from_fork+0x10/0x40
[ 26.777649] —[ end trace 0d10c228f7ea224f ]—

    Have this HW been verified before? Make sure the MIPI signal is MIPI compliance and try use the v4l2-ctl to get sensor data to reduce the debug complicate.

    hi,

    The hardware have been verified before, We used L4T-24.2 before and the hardware work properly.
    Recently we want to replace L4T-24.2 with L4T-28.1, then we meet this problem.
    This problem also can appear in another situation:
    we use adv7511 transmit data to adv7482 through tmds interface,then adv7482 get date and transmit to Port-A of the CSI-2 interface of the TX1 through CSI-TXA, then the hardware work well, in this moment we shut down adv7511 and there is no data transmit to adv7482, and there is no date transmit to Port-A of the CSI-2 interface of the TX1, the error appear, in the processing, the configuration of CSI-TXA of adv7482 does not change.

    I will use v4l2-ctl to get sensor data.

    hi,

    I have used v4l2-ctl to get sensor data, the command is:

    v4l2-ctl --set-fmt-video=width=1920,height=1080 --stream-mmap=3 --stream-count=10 --stream-to=./test.yuv
    

    The same error appeard.

    In the same usage condition, we built our driver of adv7482 into the kernel of L4T-24.2, and run with the same board, the board works without the error, the print of the board is as follows. In both drivers, the configure of adv7482 is the same.

    [   61.682997] video4linux video0: frame start syncpt timeout!0
    [   61.893211] video4linux video0: frame start syncpt timeout!0
    [   62.103328] video4linux video0: frame start syncpt timeout!0
    [   62.313305] video4linux video0: frame start syncpt timeout!0
    [   62.523016] video4linux video0: frame start syncpt timeout!0
    [   62.733231] video4linux video0: frame start syncpt timeout!0
    [   62.943006] video4linux video0: frame start syncpt timeout!0
    [   63.153452] video4linux video0: frame start syncpt timeout!0
    [   63.363329] video4linux video0: frame start syncpt timeout!0
    [   63.574028] video4linux video0: frame start syncpt timeout!0
    [   63.783004] video4linux video0: frame start syncpt timeout!0
    [   63.993432] video4linux video0: frame start syncpt timeout!0
    [   64.203255] video4linux video0: frame start syncpt timeout!0
    [   64.413200] video4linux video0: frame start syncpt timeout!0
    [   64.622994] video4linux video0: frame start syncpt timeout!0
    [   64.833291] video4linux video0: frame start syncpt timeout!0
    [   65.042980] video4linux video0: frame start syncpt timeout!0
    [   65.243203] video4linux video0: frame start syncpt timeout!0
    [   65.453574] video4linux video0: frame start syncpt timeout!0
    [   65.662972] video4linux video0: frame start syncpt timeout!0
    [   65.873161] video4linux video0: frame start syncpt timeout!0
    [   66.083539] video4linux video0: frame start syncpt timeout!0
    [   66.293248] video4linux video0: frame start syncpt timeout!0
    [   66.503215] video4linux video0: frame start syncpt timeout!0
    [   66.712974] video4linux video0: frame start syncpt timeout!0
    [   66.923154] video4linux video0: frame start syncpt timeout!0
    [   67.133015] video4linux video0: frame start syncpt timeout!0
    [   67.343177] video4linux video0: frame start syncpt timeout!0
    [   67.552993] video4linux video0: frame start syncpt timeout!0
    [   67.763195] video4linux video0: frame start syncpt timeout!0
    [   67.972867] video4linux video0: frame start syncpt timeout!0
    [   68.173176] video4linux video0: frame start syncpt timeout!0
    [   68.382972] video4linux video0: frame start syncpt timeout!0
    [   68.593473] video4linux video0: frame start syncpt timeout!0
    [   68.803752] video4linux video0: frame start syncpt timeout!0
    [   69.013282] video4linux video0: frame start syncpt timeout!0
    [   69.223483] video4linux video0: frame start syncpt timeout!0
    [   69.433186] video4linux video0: frame start syncpt timeout!0
    [   69.643481] video4linux video0: frame start syncpt timeout!0
    [   69.853256] video4linux video0: frame start syncpt timeout!0
    [   70.062967] video4linux video0: frame start syncpt timeout!0
    [   70.273185] video4linux video0: frame start syncpt timeout!0
    [   70.483136] video4linux video0: frame start syncpt timeout!0
    [   70.692509] video4linux video0: frame start syncpt timeout!0
    [   70.893131] video4linux video0: frame start syncpt timeout!0
    [   71.104337] video4linux video0: frame start syncpt timeout!0
    [   71.313209] video4linux video0: frame start syncpt timeout!0
    [   71.523230] video4linux video0: frame start syncpt timeout!0
    [   71.733046] video4linux video0: frame start syncpt timeout!0
    [   71.943094] video4linux video0: frame start syncpt timeout!0
    [   72.153336] video4linux video0: frame start syncpt timeout!0
    [   72.363005] video4linux video0: frame start syncpt timeout!0
    [   72.573112] video4linux video0: frame start syncpt timeout!0
    [   72.782965] video4linux video0: frame start syncpt timeout!0
    [   72.983247] video4linux video0: frame start syncpt timeout!0
    [   73.193171] video4linux video0: frame start syncpt timeout!0
    [   73.403238] video4linux video0: frame start syncpt timeout!0
    [   73.613155] video4linux video0: frame start syncpt timeout!0
    [   73.823016] video4linux video0: frame start syncpt timeout!0
    [   74.033168] video4linux video0: frame start syncpt timeout!0
    [   74.243494] video4linux video0: frame start syncpt timeout!0
    [   74.453150] video4linux video0: frame start syncpt timeout!0
    [   74.662890] video4linux video0: frame start syncpt timeout!0
    [   74.873300] video4linux video0: frame start syncpt timeout!0
    [   75.083100] video4linux video0: frame start syncpt timeout!0
    [   75.293202] video4linux video0: frame start syncpt timeout!0
    [   75.503127] video4linux video0: frame start syncpt timeout!0
    [   75.713183] video4linux video0: frame start syncpt timeout!0
    [   75.923169] video4linux video0: frame start syncpt timeout!0
    [   76.132506] video4linux video0: frame start syncpt timeout!0
    [   76.343054] video4linux video0: frame start syncpt timeout!0
    [   76.553258] video4linux video0: frame start syncpt timeout!0
    [   76.762983] video4linux video0: frame start syncpt timeout!0
    [   76.973237] video4linux video0: frame start syncpt timeout!0
    [   77.192311] video4linux video0: frame start syncpt timeout!0
    [   77.202499] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   77.402359] video4linux video0: frame start syncpt timeout!0
    [   77.412357] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.612358] video4linux video0: frame start syncpt timeout!0
    [   77.622350] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.822365] video4linux video0: frame start syncpt timeout!0
    [   77.832493] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.032451] video4linux video0: frame start syncpt timeout!0
    [   78.042492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.242378] video4linux video0: frame start syncpt timeout!0
    [   78.252511] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.452363] video4linux video0: frame start syncpt timeout!0
    [   78.462591] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.662361] video4linux video0: frame start syncpt timeout!0
    [   78.672489] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   78.872351] video4linux video0: frame start syncpt timeout!0
    [   78.882488] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.082374] video4linux video0: frame start syncpt timeout!0
    [   79.282365] video4linux video0: frame start syncpt timeout!0
    [   79.292492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   79.492338] video4linux video0: frame start syncpt timeout!0
    [   79.702356] video4linux video0: frame start syncpt timeout!0
    [   79.712680] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.912342] video4linux video0: frame start syncpt timeout!0
    [   79.922799] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   80.122349] video4linux video0: frame start syncpt timeout!0
    [   80.132348] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   80.333243] video4linux video0: frame start syncpt timeout!0
    

    hi,

    I have used v4l2-ctl to get sensor data, the command is:

    v4l2-ctl --set-fmt-video=width=1920,height=1080 --stream-mmap=3 --stream-count=10 --stream-to=./test.yuv
    

    The same error appeard.

    In the same usage condition, we built our driver of adv7482 into the kernel of L4T-24.2, and run with the same board, the board works without the error, the print of the board is as follows. In both drivers, the configure of adv7482 is the same.

    [   61.682997] video4linux video0: frame start syncpt timeout!0
    [   61.893211] video4linux video0: frame start syncpt timeout!0
    [   62.103328] video4linux video0: frame start syncpt timeout!0
    [   62.313305] video4linux video0: frame start syncpt timeout!0
    [   62.523016] video4linux video0: frame start syncpt timeout!0
    [   62.733231] video4linux video0: frame start syncpt timeout!0
    [   62.943006] video4linux video0: frame start syncpt timeout!0
    [   63.153452] video4linux video0: frame start syncpt timeout!0
    [   63.363329] video4linux video0: frame start syncpt timeout!0
    [   63.574028] video4linux video0: frame start syncpt timeout!0
    [   63.783004] video4linux video0: frame start syncpt timeout!0
    [   63.993432] video4linux video0: frame start syncpt timeout!0
    [   64.203255] video4linux video0: frame start syncpt timeout!0
    [   64.413200] video4linux video0: frame start syncpt timeout!0
    [   64.622994] video4linux video0: frame start syncpt timeout!0
    [   64.833291] video4linux video0: frame start syncpt timeout!0
    [   65.042980] video4linux video0: frame start syncpt timeout!0
    [   65.243203] video4linux video0: frame start syncpt timeout!0
    [   65.453574] video4linux video0: frame start syncpt timeout!0
    [   65.662972] video4linux video0: frame start syncpt timeout!0
    [   65.873161] video4linux video0: frame start syncpt timeout!0
    [   66.083539] video4linux video0: frame start syncpt timeout!0
    [   66.293248] video4linux video0: frame start syncpt timeout!0
    [   66.503215] video4linux video0: frame start syncpt timeout!0
    [   66.712974] video4linux video0: frame start syncpt timeout!0
    [   66.923154] video4linux video0: frame start syncpt timeout!0
    [   67.133015] video4linux video0: frame start syncpt timeout!0
    [   67.343177] video4linux video0: frame start syncpt timeout!0
    [   67.552993] video4linux video0: frame start syncpt timeout!0
    [   67.763195] video4linux video0: frame start syncpt timeout!0
    [   67.972867] video4linux video0: frame start syncpt timeout!0
    [   68.173176] video4linux video0: frame start syncpt timeout!0
    [   68.382972] video4linux video0: frame start syncpt timeout!0
    [   68.593473] video4linux video0: frame start syncpt timeout!0
    [   68.803752] video4linux video0: frame start syncpt timeout!0
    [   69.013282] video4linux video0: frame start syncpt timeout!0
    [   69.223483] video4linux video0: frame start syncpt timeout!0
    [   69.433186] video4linux video0: frame start syncpt timeout!0
    [   69.643481] video4linux video0: frame start syncpt timeout!0
    [   69.853256] video4linux video0: frame start syncpt timeout!0
    [   70.062967] video4linux video0: frame start syncpt timeout!0
    [   70.273185] video4linux video0: frame start syncpt timeout!0
    [   70.483136] video4linux video0: frame start syncpt timeout!0
    [   70.692509] video4linux video0: frame start syncpt timeout!0
    [   70.893131] video4linux video0: frame start syncpt timeout!0
    [   71.104337] video4linux video0: frame start syncpt timeout!0
    [   71.313209] video4linux video0: frame start syncpt timeout!0
    [   71.523230] video4linux video0: frame start syncpt timeout!0
    [   71.733046] video4linux video0: frame start syncpt timeout!0
    [   71.943094] video4linux video0: frame start syncpt timeout!0
    [   72.153336] video4linux video0: frame start syncpt timeout!0
    [   72.363005] video4linux video0: frame start syncpt timeout!0
    [   72.573112] video4linux video0: frame start syncpt timeout!0
    [   72.782965] video4linux video0: frame start syncpt timeout!0
    [   72.983247] video4linux video0: frame start syncpt timeout!0
    [   73.193171] video4linux video0: frame start syncpt timeout!0
    [   73.403238] video4linux video0: frame start syncpt timeout!0
    [   73.613155] video4linux video0: frame start syncpt timeout!0
    [   73.823016] video4linux video0: frame start syncpt timeout!0
    [   74.033168] video4linux video0: frame start syncpt timeout!0
    [   74.243494] video4linux video0: frame start syncpt timeout!0
    [   74.453150] video4linux video0: frame start syncpt timeout!0
    [   74.662890] video4linux video0: frame start syncpt timeout!0
    [   74.873300] video4linux video0: frame start syncpt timeout!0
    [   75.083100] video4linux video0: frame start syncpt timeout!0
    [   75.293202] video4linux video0: frame start syncpt timeout!0
    [   75.503127] video4linux video0: frame start syncpt timeout!0
    [   75.713183] video4linux video0: frame start syncpt timeout!0
    [   75.923169] video4linux video0: frame start syncpt timeout!0
    [   76.132506] video4linux video0: frame start syncpt timeout!0
    [   76.343054] video4linux video0: frame start syncpt timeout!0
    [   76.553258] video4linux video0: frame start syncpt timeout!0
    [   76.762983] video4linux video0: frame start syncpt timeout!0
    [   76.973237] video4linux video0: frame start syncpt timeout!0
    [   77.192311] video4linux video0: frame start syncpt timeout!0
    [   77.202499] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   77.402359] video4linux video0: frame start syncpt timeout!0
    [   77.412357] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.612358] video4linux video0: frame start syncpt timeout!0
    [   77.622350] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.822365] video4linux video0: frame start syncpt timeout!0
    [   77.832493] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.032451] video4linux video0: frame start syncpt timeout!0
    [   78.042492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.242378] video4linux video0: frame start syncpt timeout!0
    [   78.252511] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.452363] video4linux video0: frame start syncpt timeout!0
    [   78.462591] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.662361] video4linux video0: frame start syncpt timeout!0
    [   78.672489] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   78.872351] video4linux video0: frame start syncpt timeout!0
    [   78.882488] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.082374] video4linux video0: frame start syncpt timeout!0
    [   79.282365] video4linux video0: frame start syncpt timeout!0
    [   79.292492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   79.492338] video4linux video0: frame start syncpt timeout!0
    [   79.702356] video4linux video0: frame start syncpt timeout!0
    [   79.712680] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.912342] video4linux video0: frame start syncpt timeout!0
    [   79.922799] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   80.122349] video4linux video0: frame start syncpt timeout!0
    [   80.132348] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   80.333243] video4linux video0: frame start syncpt timeout!0
    

    hi,

    I have used v4l2-ctl to get sensor data, the command is:

    v4l2-ctl --set-fmt-video=width=1920,height=1080 --stream-mmap=3 --stream-count=10 --stream-to=./test.yuv
    

    The same error appeard.

    In the same usage condition, we built our driver of adv7482 into the kernel of L4T-24.2, and run with the same board, the board works without the error, the print of the board is as follows. In both drivers, the configure of adv7482 is the same.

    [   61.682997] video4linux video0: frame start syncpt timeout!0
    [   61.893211] video4linux video0: frame start syncpt timeout!0
    [   62.103328] video4linux video0: frame start syncpt timeout!0
    [   62.313305] video4linux video0: frame start syncpt timeout!0
    [   62.523016] video4linux video0: frame start syncpt timeout!0
    [   62.733231] video4linux video0: frame start syncpt timeout!0
    [   62.943006] video4linux video0: frame start syncpt timeout!0
    [   63.153452] video4linux video0: frame start syncpt timeout!0
    [   63.363329] video4linux video0: frame start syncpt timeout!0
    [   63.574028] video4linux video0: frame start syncpt timeout!0
    [   63.783004] video4linux video0: frame start syncpt timeout!0
    [   63.993432] video4linux video0: frame start syncpt timeout!0
    [   64.203255] video4linux video0: frame start syncpt timeout!0
    [   64.413200] video4linux video0: frame start syncpt timeout!0
    [   64.622994] video4linux video0: frame start syncpt timeout!0
    [   64.833291] video4linux video0: frame start syncpt timeout!0
    [   65.042980] video4linux video0: frame start syncpt timeout!0
    [   65.243203] video4linux video0: frame start syncpt timeout!0
    [   65.453574] video4linux video0: frame start syncpt timeout!0
    [   65.662972] video4linux video0: frame start syncpt timeout!0
    [   65.873161] video4linux video0: frame start syncpt timeout!0
    [   66.083539] video4linux video0: frame start syncpt timeout!0
    [   66.293248] video4linux video0: frame start syncpt timeout!0
    [   66.503215] video4linux video0: frame start syncpt timeout!0
    [   66.712974] video4linux video0: frame start syncpt timeout!0
    [   66.923154] video4linux video0: frame start syncpt timeout!0
    [   67.133015] video4linux video0: frame start syncpt timeout!0
    [   67.343177] video4linux video0: frame start syncpt timeout!0
    [   67.552993] video4linux video0: frame start syncpt timeout!0
    [   67.763195] video4linux video0: frame start syncpt timeout!0
    [   67.972867] video4linux video0: frame start syncpt timeout!0
    [   68.173176] video4linux video0: frame start syncpt timeout!0
    [   68.382972] video4linux video0: frame start syncpt timeout!0
    [   68.593473] video4linux video0: frame start syncpt timeout!0
    [   68.803752] video4linux video0: frame start syncpt timeout!0
    [   69.013282] video4linux video0: frame start syncpt timeout!0
    [   69.223483] video4linux video0: frame start syncpt timeout!0
    [   69.433186] video4linux video0: frame start syncpt timeout!0
    [   69.643481] video4linux video0: frame start syncpt timeout!0
    [   69.853256] video4linux video0: frame start syncpt timeout!0
    [   70.062967] video4linux video0: frame start syncpt timeout!0
    [   70.273185] video4linux video0: frame start syncpt timeout!0
    [   70.483136] video4linux video0: frame start syncpt timeout!0
    [   70.692509] video4linux video0: frame start syncpt timeout!0
    [   70.893131] video4linux video0: frame start syncpt timeout!0
    [   71.104337] video4linux video0: frame start syncpt timeout!0
    [   71.313209] video4linux video0: frame start syncpt timeout!0
    [   71.523230] video4linux video0: frame start syncpt timeout!0
    [   71.733046] video4linux video0: frame start syncpt timeout!0
    [   71.943094] video4linux video0: frame start syncpt timeout!0
    [   72.153336] video4linux video0: frame start syncpt timeout!0
    [   72.363005] video4linux video0: frame start syncpt timeout!0
    [   72.573112] video4linux video0: frame start syncpt timeout!0
    [   72.782965] video4linux video0: frame start syncpt timeout!0
    [   72.983247] video4linux video0: frame start syncpt timeout!0
    [   73.193171] video4linux video0: frame start syncpt timeout!0
    [   73.403238] video4linux video0: frame start syncpt timeout!0
    [   73.613155] video4linux video0: frame start syncpt timeout!0
    [   73.823016] video4linux video0: frame start syncpt timeout!0
    [   74.033168] video4linux video0: frame start syncpt timeout!0
    [   74.243494] video4linux video0: frame start syncpt timeout!0
    [   74.453150] video4linux video0: frame start syncpt timeout!0
    [   74.662890] video4linux video0: frame start syncpt timeout!0
    [   74.873300] video4linux video0: frame start syncpt timeout!0
    [   75.083100] video4linux video0: frame start syncpt timeout!0
    [   75.293202] video4linux video0: frame start syncpt timeout!0
    [   75.503127] video4linux video0: frame start syncpt timeout!0
    [   75.713183] video4linux video0: frame start syncpt timeout!0
    [   75.923169] video4linux video0: frame start syncpt timeout!0
    [   76.132506] video4linux video0: frame start syncpt timeout!0
    [   76.343054] video4linux video0: frame start syncpt timeout!0
    [   76.553258] video4linux video0: frame start syncpt timeout!0
    [   76.762983] video4linux video0: frame start syncpt timeout!0
    [   76.973237] video4linux video0: frame start syncpt timeout!0
    [   77.192311] video4linux video0: frame start syncpt timeout!0
    [   77.202499] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   77.402359] video4linux video0: frame start syncpt timeout!0
    [   77.412357] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.612358] video4linux video0: frame start syncpt timeout!0
    [   77.622350] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   77.822365] video4linux video0: frame start syncpt timeout!0
    [   77.832493] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.032451] video4linux video0: frame start syncpt timeout!0
    [   78.042492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.242378] video4linux video0: frame start syncpt timeout!0
    [   78.252511] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.452363] video4linux video0: frame start syncpt timeout!0
    [   78.462591] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   78.662361] video4linux video0: frame start syncpt timeout!0
    [   78.672489] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   78.872351] video4linux video0: frame start syncpt timeout!0
    [   78.882488] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.082374] video4linux video0: frame start syncpt timeout!0
    [   79.282365] video4linux video0: frame start syncpt timeout!0
    [   79.292492] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   79.492338] video4linux video0: frame start syncpt timeout!0
    [   79.702356] video4linux video0: frame start syncpt timeout!0
    [   79.712680] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   79.912342] video4linux video0: frame start syncpt timeout!0
    [   79.922799] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:117bd0, lanes:300000
    [   80.122349] video4linux video0: frame start syncpt timeout!0
    [   80.132348] tegra_mipi_cal 700e3000.mipical: Mipi cal timeout,val:118bd0, lanes:300000
    [   80.333243] video4linux video0: frame start syncpt timeout!0
    

    The log shows tegra didn’t receive the start of frame. It could be the mipi timing or there’s no data output to the mipi bus.

    Yes, i agree with you, in this condition there’s no data output to the mipi bus.
    but I think when tegra receive no data, the error should not be “Unhandled fault: alignment fault (0x96000061) at 0xffffff8000000021”.
    when the error of “Unhandled fault: alignment fault (0x96000061) at 0xffffff8000000021” appeard, the tegra can’t capture image again expect reboot.

    @meyan
    Hi!
    Have you come up with any solution or workaround for this issue?
    I’m curious to know as I’m facing similar issues;
    One “frame start syncpt timeout!0” causes “Unhandled fault: alignment fault (0x96000061) at 0xffffff8000000021” and reboot is required to get things going again.

    Hi!
    We modify the code as follows:

    void tegra_csi_error_recover(struct tegra_csi_channel *chan,
    				enum tegra_csi_port_num port_num)
    {
    	struct tegra_csi_port *port;
    	struct tegra_csi_device *csi;
        struct tegra_csi_port *port_a;
        struct tegra_csi_port *port_b;
    	int i;
    
    	csi = chan->csi;
    
    	for (i = 0; i < chan->numports; i++) 
        {
    		port = &chan->ports[i];
    		if (port->lanes == 4) {
    			int port_val = ((port_num >> 1) << 1);
    			port_a =
    				&chan->ports[port_val];
    			port_b =
    				&chan->ports[port_val+1];
    
    			tpg_write(port_a, TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_ENABLE);
    			//tpg_write(port_b, TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_ENABLE);
    			cil_write(port_a, TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x1);
    			//cil_write(port_b, TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x1);
    			csi_write(chan, TEGRA_CSI_CSI_SW_STATUS_RESET, 0x1, port_num >> 1);
    			/* sleep for clock cycles to drain the Rx FIFO */
    			usleep_range(10, 20);
    			cil_write(port_a, TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x0);
    			//cil_write(port_b, TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x0);
    			csi_write(chan, TEGRA_CSI_CSI_SW_STATUS_RESET, 0x0, port_num >> 1);
    			tpg_write(port_a, TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_DISABLE);
    			//tpg_write(port_b, TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_DISABLE);
    		} else {
    			tpg_write(port,
    				TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_ENABLE);
    			cil_write(port,
    				TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x1);
    			csi_write(chan,
    				TEGRA_CSI_CSI_SW_STATUS_RESET,
    				0x1, port_num >> 1);
    			/* sleep for clock cycles to drain the Rx FIFO */
    			usleep_range(10, 20);
    			cil_write(port,
    				TEGRA_CSI_CIL_SW_SENSOR_RESET, 0x0);
    			csi_write(chan,
    				TEGRA_CSI_CSI_SW_STATUS_RESET,
    				0x0, port_num >> 1);
    			tpg_write(port,
    				TEGRA_CSI_PATTERN_GENERATOR_CTRL, PG_DISABLE);
    		}
    	}
    }
    

    Now our board works well.You can try it.