This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM67: No video data to MIPI DSI display

Part Number: AM67

Tool/software:

Hello,
I am working on getting a new MIPI DSI display working with a custom board using the AM67. Our software is based on the ti-linux-kernel 11.01.02 tag, v6.12.33, with the addition of this patch stack https://lore.kernel.org/dri-devel/20250414-cdns-dsi-impro-v3-0-4e52551d4f07@ideasonboard.com/. There is no driver for this specific panel so we have been modifying another MIPI DSI driver to work with this display. Currently we get no video output on the display. We have been able to probe the clock and the data 0 lane and we are able to see the clock and the initialization sequence commands being sent in low power mode. The initialization sequence for this panel is a DCS 0x11 command then a DCS 0x29 command. Here is an image of part of the data capture from data 0 during the initialization sequence (channel 2 in blue):

After the initialization sequence is done, we do not see anymore data but the clock continues.

We also used kmsgrab to see what was in the frame buffer, and it is the image we expect to see. We do not see video data being sent to the display at any point. What could be preventing the driver from ever sending the video data to the panel?

Regards,
Nathan

  • Hi Nathan, 

    The assigned expert is currently out of office, returning on 30th June. Please expect a delay in responses.

    Regards,

    Josiitaa

  • Hi Nathan,

    Apologies for the delay.

    As a first step, can you check if SoC is reporting errors by running "devmem2 0x305000F0"?

    Below is what each non-reserved bit in that register should mean. Value should be 0x1 if no errors.

    10 VSG_RECOVERY
    9 ERR_VRS_WRONG_LENGTH
    8 ERR_LONGREAD
    7 ERR_LINEWRITE
    6 ERR_BURSTWRITE
    5 REG_ERR_SMALL_HEIGHT
    4 REG_ERR_SMALL_LENGTH
    3 ERR_MISSING_VSYNC
    2 ERR_MISSING_HSYNC
    1 ERR_MISSING_DATA
    0 VSG_RUNNING

    Regards,

    Takuma

  • Nathan is out of office this week, but I have a copy of the SW and hardware we are testing with.

    Running the devmem command gives a read of 0x00000004, which according to your chart would be a REG_ERR_SMALL_LENGTH error, correct?

    I won't be able to answer any of the more SW oriented questions, so any of those will have to wait for Nathan to return, but I can possibly help out with HW related questions.

  • Hi Christyan,

    0x4 would mean that bit 2 is set, meaning ERR_MISSING_HSYNC. This can be caused by timing parameter issues. The behavior described in original post aligns with the error, since hsync error will occur after sending one line of the frame.

    Can you collect the timing parameter information by running "modetest -M tidss" and share the resulting logs?

    Regards,

    Takuma

  • Hi Takuma,

    Here is the result from "modetest -M tidss"

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	0	none	0x00000001	0x00000001
    50	49	none	0x00000002	0x00000002
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	0	disconnected	HDMI-A-1       	0x0		0	40
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    51	50	connected	DSI-1          	151x94		1	50
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	58	(0,0)	(0x0)
      #0  nan 0 0 0 0 0 0 0 0 0 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    49	0	(0,0)	(1200x1920)
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	49	58	0,0		0,0	0       	0x00000003
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000003
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    Regards,

    Nathan

  • Hi Nathan,

    Please comment if any of the following sounds unexpected.

    1. DSI looks to be connected to a DSI to HDMI bridge. And HDMI connector does not have a display connected
    2. The bridge/HDMI is getting a mode to connect to a 1200 width x 1920 height 60FPS monitor (instead of a 1920x1200 monitor)

    Point 2 is a bit suspicious. 1200x1920 resolution is quite rare compared to 1920x1200. Please confirm if both points are expected.

    Regards,

    Takuma

  • Hi Takuma,

    1. There is no DSI to HDMI bridge in our design. We do have HDMI on our board but that should have nothing to do with DSI. Is it possible that the modetest command is just listing the two devices without them being connected?

    2. The timings we got from the display manufacturer are 1200x1920, but I tried swapping to 1920x1200 and now I am getting an output of 0x1 when reading from 0x305000F0, but there is still nothing on the display.

    Regards,

    Nathan

  • Hi Nathan,

    There should be a DSI interface under "Connectors" if DSI is being initialized. If there is no DSI connector, it looks like there was an issue during initialization.

    0x1 from 0x305000F0 is good. It means it is running.

    As a next step, can you share the full boot logs from "dmesg" to see if there are any logs related to DSI?

    Regards,

    Takuma

  • Hi Takuma,

    Here is the output from dmesg:

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.12.33-gAUTOINC-00907-g8e62eb94c325 (oe-user@oe-host) (aarch64-phytec-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Wed Jul  2 21:31:39 UTC 2025
    [    0.000000] KASLR disabled due to lack of seed
    [    0.000000] Machine model: PHYTEC phyBOARD-Rigel AM67
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: legacy bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000c6a00000, size 896 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000c6a00000..0x00000000fe9fffff (917504 KiB) map reusable linux,cma
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] OF: reserved mem: 0x0000000080000000..0x000000008007ffff (512 KiB) nomap non-reusable tfa@80000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0000000..0x00000000a00fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a0000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0100000..0x00000000a0ffffff (15360 KiB) nomap non-reusable r5f-memory@a0100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-dma-memory-region@a1000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1000000..0x00000000a10fffff (1024 KiB) nomap non-reusable mcu-r5fss-dma-memory-region@a1000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node mcu-r5fss-memory-region@a1100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1100000..0x00000000a1ffffff (15360 KiB) nomap non-reusable mcu-r5fss-memory-region@a1100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node main-r5fss-dma-memory-region@a2000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2000000..0x00000000a20fffff (1024 KiB) nomap non-reusable main-r5fss-dma-memory-region@a2000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node main-r5fss-memory-region@a2100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2100000..0x00000000a2ffffff (15360 KiB) nomap non-reusable main-r5fss-memory-region@a2100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-dma-memory@a3000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a3000000..0x00000000a30fffff (1024 KiB) nomap non-reusable c7x-dma-memory@a3000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-memory@a3100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a3100000..0x00000000a3ffffff (15360 KiB) nomap non-reusable c7x-memory@a3100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4000000..0x00000000a40fffff (1024 KiB) nomap non-reusable c7x-dma-memory@a4000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4100000..0x00000000a4ffffff (15360 KiB) nomap non-reusable c7x-memory@a4100000
    [    0.000000] OF: reserved mem: 0x00000000a5000000..0x00000000a6bfffff (28672 KiB) nomap non-reusable ipc-memories@a5000000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000008007ffff]
    [    0.000000]   node   0: [mem 0x0000000080080000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a6bfffff]
    [    0.000000]   node   0: [mem 0x00000000a6c00000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.4
    [    0.000000] percpu: Embedded 22 pages/cpu s51736 r8192 d30184 u90112
    [    0.000000] pcpu-alloc: s51736 r8192 d30184 u90112 alloc=22*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 rootwait rw
    [    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 524288
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 2MB
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x00000000ff7fd000-0x00000000ff9fd000] (2MB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu: 	RCU event tracing is enabled.
    [    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
    [    0.000000] 	Trampoline variant of Tasks RCU enabled.
    [    0.000000] 	Tracing variant of Tasks RCU enabled.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    [    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: gic_handle_irq
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=1
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80c00000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080450000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080460000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008748] Console: colour dummy device 80x25
    [    0.013343] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.024014] pid_max: default: 32768 minimum: 301
    [    0.028820] LSM: initializing lsm=capability,selinux
    [    0.033947] SELinux:  Initializing.
    [    0.037979] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.045542] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    [    0.074006] rcu: Hierarchical SRCU implementation.
    [    0.078938] rcu: 	Max phase no-delay instances is 1000.
    [    0.084462] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
    [    0.093276] EFI services will not be available.
    [    0.098181] smp: Bringing up secondary CPUs ...
    [    0.103411] Detected VIPT I-cache on CPU1
    [    0.103496] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.103513] GICv3: CPU1: using allocated LPI pending table @0x0000000080470000
    [    0.103561] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.104286] Detected VIPT I-cache on CPU2
    [    0.104347] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.104361] GICv3: CPU2: using allocated LPI pending table @0x0000000080480000
    [    0.104395] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.105050] Detected VIPT I-cache on CPU3
    [    0.105107] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.105121] GICv3: CPU3: using allocated LPI pending table @0x0000000080490000
    [    0.105153] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.105279] smp: Brought up 1 node, 4 CPUs
    [    0.184912] SMP: Total of 4 processors activated.
    [    0.189718] CPU: All CPU(s) started at EL2
    [    0.193919] CPU features: detected: 32-bit EL0 Support
    [    0.199173] CPU features: detected: CRC32 instructions
    [    0.204468] alternatives: applying system-wide alternatives
    [    0.210784] Memory: 971064K/2097152K available (13376K kernel code, 1278K rwdata, 4748K rodata, 2816K init, 644K bss, 199728K reserved, 917504K cma-reserved)
    [    0.226321] devtmpfs: initialized
    [    0.240031] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.250037] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.280518] 27008 pages in range for non-PLT usage
    [    0.280543] 518528 pages in range for PLT usage
    [    0.285781] pinctrl core: initialized pinctrl subsystem
    [    0.296304] DMI not present or invalid.
    [    0.302422] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.309812] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.317723] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.326468] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.334631] audit: initializing netlink subsys (disabled)
    [    0.340406] audit: type=2000 audit(0.224:1): state=initialized audit_enabled=0 res=1
    [    0.340863] thermal_sys: Registered thermal governor 'bang_bang'
    [    0.348335] thermal_sys: Registered thermal governor 'step_wise'
    [    0.354473] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.360662] cpuidle: using governor menu
    [    0.371501] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.378528] ASID allocator initialised with 65536 entries
    [    0.391494] /bus@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /bus@f0000/interrupt-controller@1800000
    [    0.403025] /bus@f0000/i2c@20010000/usb-pd@22/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    0.414425] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.424343] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/usb-pd@22/connector
    [    0.435833] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@39
    [    0.445711] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.454264] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000/panel@0
    [    0.463518] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.472070] /bus@f0000/dsi@30500000/panel@0: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.487436] /bus@f0000/i2c@20010000/usb-pd@22/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    0.498881] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.509655] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/usb-pd@22/connector
    [    0.523336] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.533285] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@39
    [    0.543170] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.551936] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.560526] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000/panel@0
    [    0.569798] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    0.578449] /bus@f0000/dsi@30500000/panel@0: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    0.589094] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /connector-hdmi
    [    0.598337] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@39
    [    0.609288] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.616253] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.622667] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.629600] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.636004] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.642939] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.649340] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.656271] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.664380] k3-chipinfo 43000014.chipid: Family:J722S rev:SR1.0 JTAGID[0x0bba002f] Detected
    [    0.677468] iommu: Default domain type: Translated
    [    0.682385] iommu: DMA domain TLB invalidation policy: strict mode
    [    0.689107] SCSI subsystem initialized
    [    0.693156] libata version 3.00 loaded.
    [    0.693354] usbcore: registered new interface driver usbfs
    [    0.698997] usbcore: registered new interface driver hub
    [    0.704449] usbcore: registered new device driver usb
    [    0.710212] pps_core: LinuxPPS API ver. 1 registered
    [    0.715294] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.724633] PTP clock support registered
    [    0.728671] EDAC MC: Ver: 3.0.0
    [    0.732214] scmi_core: SCMI protocol bus registered
    [    0.737504] FPGA manager framework
    [    0.741058] Advanced Linux Sound Architecture Driver Initialized.
    [    0.748221] vgaarb: loaded
    [    0.751347] clocksource: Switched to clocksource arch_sys_counter
    [    0.757866] VFS: Disk quotas dquot_6.6.0
    [    0.761901] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.776054] NET: Registered PF_INET protocol family
    [    0.781200] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.789778] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
    [    0.798395] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.806326] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.814291] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
    [    0.821891] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.828504] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.835295] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.842650] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.848882] RPC: Registered named UNIX socket transport module.
    [    0.854951] RPC: Registered udp transport module.
    [    0.859756] RPC: Registered tcp transport module.
    [    0.864560] RPC: Registered tcp-with-tls transport module.
    [    0.870163] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.876750] NET: Registered PF_XDP protocol family
    [    0.881659] PCI: CLS 0 bytes, default 64
    [    0.886991] Initialise system trusted keyrings
    [    0.891804] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [    0.898700] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.904940] NFS: Registering the id_resolver key type
    [    0.910149] Key type id_resolver registered
    [    0.914423] Key type id_legacy registered
    [    0.918536] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.925385] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.985925] Key type asymmetric registered
    [    0.990129] Asymmetric key parser 'x509' registered
    [    0.995173] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
    [    1.002918] io scheduler mq-deadline registered
    [    1.007555] io scheduler kyber registered
    [    1.011682] io scheduler bfq registered
    [    1.019465] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    1.026089] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    1.033892] ledtrig-cpu: registered to indicate activity on CPUs
    [    1.046544] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    1.061868] loop: module loaded
    [    1.066291] megasas: 07.727.03.00-rc1
    [    1.074212] tun: Universal TUN/TAP device driver, 1.6
    [    1.080563] VFIO - User Level meta-driver version: 0.3
    [    1.087256] usbcore: registered new interface driver usb-storage
    [    1.094070] i2c_dev: i2c /dev entries driver
    [    1.099691] sdhci: Secure Digital Host Controller Interface driver
    [    1.106044] sdhci: Copyright(c) Pierre Ossman
    [    1.110746] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.117261] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    1.124746] usbcore: registered new interface driver usbhid
    [    1.130449] usbhid: USB HID core driver
    [    1.135690] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
    [    1.146050] optee: probing for conduit method.
    [    1.150623] optee: revision 4.1 (18b424c2)
    [    1.150988] optee: dynamic shared memory is enabled
    [    1.160961] optee: initialized driver
    [    1.160974] random: crng init done
    [    1.167114] IPVS: Registered protocols (TCP, UDP)
    [    1.173090] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
    [    1.180717] IPVS: ipvs loaded.
    [    1.183852] IPVS: [rr] scheduler registered.
    [    1.188371] NET: Registered PF_PACKET protocol family
    [    1.193605] Key type dns_resolver registered
    [    1.206805] registered taskstats version 1
    [    1.211301] Loading compiled-in X.509 certificates
    [    1.227659] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
    [    1.293372] /bus@f0000/bus@b00000/i2c@2b200000/pmic@30: Fixed dependency cycle(s) with /bus@f0000/bus@b00000/i2c@2b200000/pmic@30/regulators/buck2
    [    1.306847] /bus@f0000/bus@b00000/i2c@2b200000/pmic@30: Fixed dependency cycle(s) with /bus@f0000/bus@b00000/i2c@2b200000/pmic@30/regulators/buck1
    [    1.320897] omap_i2c 2b200000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.327982] omap_i2c 20000000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.335604] /bus@f0000/i2c@20010000/usb-pd@22/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    1.347418] /connector-hdmi: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@39
    [    1.356649] /bus@f0000/dss@30220000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/bridge-hdmi@39
    [    1.366620] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /connector-hdmi
    [    1.375840] /bus@f0000/i2c@20010000/bridge-hdmi@39: Fixed dependency cycle(s) with /bus@f0000/dss@30220000
    [    1.399836] i2c i2c-2: Added multiplexed i2c bus 3
    [    1.404918] i2c i2c-2: Added multiplexed i2c bus 4
    [    1.410004] i2c i2c-2: Added multiplexed i2c bus 5
    [    1.415055] i2c i2c-2: Added multiplexed i2c bus 6
    [    1.420109] i2c i2c-2: Added multiplexed i2c bus 7
    [    1.425152] i2c i2c-2: Added multiplexed i2c bus 8
    [    1.430205] i2c i2c-2: Added multiplexed i2c bus 9
    [    1.435253] i2c i2c-2: Added multiplexed i2c bus 10
    [    1.440248] pca954x 2-0077: registered 8 multiplexed busses for I2C mux pca9547
    [    1.447774] omap_i2c 20010000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.454349] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    1.462720] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.471973] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.480977] ti-sci-inta 4e400000.interrupt-controller: Interrupt Aggregator domain 200 created
    [    1.491706] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    1.500198] ti-udma 485c0100.dma-controller: Channels: 44 (bchan: 16, tchan: 12, rchan: 16)
    [    1.511051] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    1.521951] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    1.531595] ti-udma 4e230000.dma-controller: Number of rings: 40
    [    1.540395] ti-udma 4e230000.dma-controller: Channels: 40 (bchan: 0, tchan: 8, rchan: 32)
    [    1.551679] printk: legacy console [ttyS2] disabled
    [    1.557004] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 309, base_baud = 3000000) is a 8250
    [    1.565976] printk: legacy console [ttyS2] enabled
    [    1.575694] printk: legacy bootconsole [ns16550a0] disabled
    [    1.623362] davinci_mdio 8000f00.mdio: davinci mdio revision 17.7, bus freq 1000000
    [    1.634190] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [    1.642336] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01903, cpsw version 0x6BA81903 Ports: 3 quirks:00000006
    [    1.655241] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.662383] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512, Policers 32
    [    1.670174] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010d, freq:500000000, add_val:1 pps:0
    [    1.692337] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    1.702587] /bus@f0000/i2c@20010000/usb-pd@22/connector: Fixed dependency cycle(s) with /bus@f0000/usb@f900000/usb@31000000
    [    1.713871] /bus@f0000/usb@f900000/usb@31000000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/usb-pd@22/connector
    [    1.729340] mmc0: CQHCI version 5.10
    [    1.753413] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    1.761043] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    1.769213] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    1.771940] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.777312] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    1.796953] 5 fixed-partitions partitions found on MTD device fc40000.spi.0
    [    1.803975] Creating 5 MTD partitions on "fc40000.spi.0":
    [    1.809379] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [    1.816315] 0x000000080000-0x000000280000 : "ospi.tispl"
    [    1.822896] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [    1.829439] 0x000000680000-0x0000006c0000 : "ospi.env"
    [    1.835740] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [    1.843806] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    1.844489] mmc1: CQHCI version 5.10
    [    1.851285] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    1.862957] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    1.871099] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    1.871195] mmc0: Command Queue Engine enabled
    [    1.881000] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    1.883815] mmc0: new HS200 MMC card at address 0001
    [    1.891248] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    1.896899] mmcblk0: mmc0:0001 DA6032 29.1 GiB
    [    1.899379] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.904266] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    1.910285] mmcblk0boot0: mmc0:0001 DA6032 4.00 MiB
    [    1.916207] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    1.925284] mmcblk0boot1: mmc0:0001 DA6032 4.00 MiB
    [    1.930500] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    1.938538] mmcblk0rpmb: mmc0:0001 DA6032 4.00 MiB, chardev (239:0)
    [    1.940482] mmc1: new high speed SDHC card at address 59b4
    [    1.942366] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    1.945200] mmcblk1: mmc1:59b4 CACTU 7.56 GiB
    [    1.951045]  mmcblk1: p1 p2
    [    1.956017] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    1.984845] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    1.994455] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    2.001905] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    2.010016] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    2.018115] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    2.027526] clk: Disabling unused clocks
    [    2.038104] PM: genpd: Disabling unused power domains
    [    2.043257] ALSA device list:
    [    2.046297]   No soundcards found.
    [    2.120846] EXT4-fs (mmcblk1p2): mounted filesystem c72714fa-fce4-4869-8d13-8a7ebd57b9fa r/w with ordered data mode. Quota mode: none.
    [    2.133078] VFS: Mounted root (ext4 filesystem) on device 179:98.
    [    2.139882] devtmpfs: mounted
    [    2.143677] Freeing unused kernel memory: 2816K
    [    2.148328] Run /sbin/init as init process
    [    2.152430]   with arguments:
    [    2.152434]     /sbin/init
    [    2.152438]   with environment:
    [    2.152441]     HOME=/
    [    2.152445]     TERM=linux
    [    2.657944] systemd[1]: System time before build time, advancing clock.
    [    2.750356] NET: Registered PF_INET6 protocol family
    [    2.756345] Segment Routing with IPv6
    [    2.760076] In-situ OAM (IOAM) with IPv6
    [    2.822947] systemd[1]: systemd 255.17^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR -IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 +LZ4 -XZ -ZLIB -ZSTD -BPF_FRAMEWORK +XKBCOMMON -UTMP -SYSVINIT default-hierarchy=unified)
    [    2.854868] systemd[1]: Detected architecture arm64.
    [    2.877106] systemd[1]: Hostname set to <phyboard-rigel-am67xx-1>.
    [    2.892880] systemd[1]: Initializing machine ID from random generator.
    [    3.504215] systemd[1]: Queued start job for default target Graphical Interface.
    [    3.545567] systemd[1]: Created slice Slice /system/getty.
    [    3.565793] systemd[1]: Created slice Slice /system/modprobe.
    [    3.585818] systemd[1]: Created slice Slice /system/serial-getty.
    [    3.605308] systemd[1]: Created slice User and Session Slice.
    [    3.623863] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    3.643734] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    3.663527] systemd[1]: Expecting device /dev/disk/by-uuid/A02B-5EDF...
    [    3.683586] systemd[1]: Reached target Path Units.
    [    3.695506] systemd[1]: Reached target Remote File Systems.
    [    3.711500] systemd[1]: Reached target Slice Units.
    [    3.723504] systemd[1]: Reached target Swaps.
    [    3.788874] systemd[1]: Listening on RPCbind Server Activation Socket.
    [    3.807680] systemd[1]: Reached target RPC Port Mapper.
    [    3.824821] systemd[1]: Listening on Journal Audit Socket.
    [    3.848251] systemd[1]: Listening on Journal Socket (/dev/log).
    [    3.868247] systemd[1]: Listening on Journal Socket.
    [    3.880413] systemd[1]: Listening on Network Service Netlink Socket.
    [    3.901149] systemd[1]: Listening on udev Control Socket.
    [    3.920130] systemd[1]: Listening on udev Kernel Socket.
    [    3.959844] systemd[1]: Mounting Huge Pages File System...
    [    3.970241] systemd[1]: Mounting POSIX Message Queue File System...
    [    3.996522] systemd[1]: Mounting Kernel Debug File System...
    [    4.016062] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.034139] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.053418] systemd[1]: Starting Create List of Static Device Nodes...
    [    4.076420] systemd[1]: Starting Load Kernel Module configfs...
    [    4.100336] systemd[1]: Starting Load Kernel Module drm...
    [    4.116810] systemd[1]: Starting Load Kernel Module fuse...
    [    4.129228] systemd[1]: Starting Start psplash boot splash screen...
    [    4.146050] systemd[1]: Starting RPC Bind...
    [    4.167889] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
    [    4.189090] systemd[1]: Starting Journal Service...
    [    4.219615] systemd[1]: Starting Load Kernel Modules...
    [    4.225492] fuse: init (API version 7.41)
    [    4.240108] systemd[1]: Starting Generate network units from Kernel command line...
    [    4.280866] cryptodev: loading out-of-tree module taints kernel.
    [    4.290219] cryptodev: driver 1.14 loaded.
    [    4.308338] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    4.325568] systemd-journald[131]: Collecting audit messages is enabled.
    [    4.344461] systemd[1]: Starting Coldplug All udev Devices...
    [    4.362531] EXT4-fs (mmcblk1p2): re-mounted c72714fa-fce4-4869-8d13-8a7ebd57b9fa.
    [    4.367442] systemd[1]: Started RPC Bind.
    [    4.377171] systemd[1]: Mounted Huge Pages File System.
    [    4.396277] systemd[1]: Mounted POSIX Message Queue File System.
    [    4.420394] systemd[1]: Started Journal Service.
    [    4.751067] systemd-journald[131]: Received client request to flush runtime journal.
    [    5.090519] audit: type=1334 audit(1736360579.428:2): prog-id=6 op=LOAD
    [    5.098741] audit: type=1334 audit(1736360579.436:3): prog-id=7 op=LOAD
    [    5.696277] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fca100
    [    5.699323] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.710453] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.718726] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.719277] CAN device driver interface
    [    5.726923] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    5.729980] omap-mailbox 29010000.mailbox: omap mailbox rev 0x66fca100
    [    5.730197] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fca100
    [    5.730352] omap-mailbox 29030000.mailbox: omap mailbox rev 0x66fca100
    [    5.762763] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.770448] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.782126] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.793619] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    5.804705] pcf857x 2-0020: probed
    [    5.805375] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.815749] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.816450] pcf857x 2-0021: probed
    [    5.823979] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.835557] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    5.846268] pcf857x 2-0023: probed
    [    5.848820] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.851469] at24 0-0050: supply vcc not found, using dummy regulator
    [    5.857305] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.871811] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.872420] at24 0-0050: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
    [    5.880069] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    5.893788] tps6598x 2-0022: Unable to find the interrupt, switching to polling
    [    5.902727] at24 0-0051: supply vcc not found, using dummy regulator
    [    5.910594] at24 0-0051: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
    [    5.917642] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.918416] at24 2-0051: supply vcc not found, using dummy regulator
    [    5.925159] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.925192] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.948466] at24 2-0051: 256 byte 24c02 EEPROM, writable, 16 bytes/write
    [    5.948986] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    5.967745] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    5.979499] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    5.987754] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    5.995960] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.007106] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.015142] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.021641] /bus@f0000/dsi@30500000: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000/panel@0
    [    6.024503] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.037644] /bus@f0000/dsi@30500000/panel@0: Fixed dependency cycle(s) with /bus@f0000/dsi@30500000
    [    6.040614] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.041869] mc: Linux media interface: v0.10
    [    6.057886] platform 79000000.r5f: configured R5F for remoteproc mode
    [    6.068943] platform 79000000.r5f: assigned reserved memory node mcu-r5fss-dma-memory-region@a1000000
    [    6.075758] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.080828] remoteproc remoteproc0: 79000000.r5f is available
    [    6.087316] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.089569] k3-dsp-rproc 7e000000.dsp: assigned reserved memory node c7x-dma-memory@a3000000
    [    6.091675] k3-dsp-rproc 7e000000.dsp: configured DSP for remoteproc mode
    [    6.099520] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.123051] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.123431] remoteproc remoteproc1: 7e000000.dsp is available
    [    6.131971] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [    6.134242] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.134298] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.134319] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.134337] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.142373] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.149911] platform 78000000.r5f: configured R5F for IPC-only mode
    [    6.156493] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.165103] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.169662] k3-dsp-rproc 7e200000.dsp: assigned reserved memory node c7x-dma-memory@a4000000
    [    6.169996] k3-dsp-rproc 7e200000.dsp: configured DSP for remoteproc mode
    [    6.170305] remoteproc remoteproc3: 7e200000.dsp is available
    [    6.172875] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.182398] remoteproc remoteproc2: 78000000.r5f is available
    [    6.188646] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.190638] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.190654] videodev: Linux video capture interface: v2.00
    [    6.195402] remoteproc remoteproc2: attaching to 78000000.r5f
    [    6.203263] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.212650] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.219827] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.219864] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.233213] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.241420] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    6.246613] rtc-ti-k3 2b1f0000.rtc: Clock rate 32552 is not 32768! Could misbehave!
    [    6.246678] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.246702] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.246724] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.254939] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.256683] rproc-virtio rproc-virtio.3.auto: registered virtio0 (type 7)
    [    6.256699] remoteproc remoteproc2: remote processor 78000000.r5f is now attached
    [    6.262412] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.268180] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    6.273739] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.283728] platform 78400000.r5f: configured R5F for remoteproc mode
    [    6.291119] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.320532] remoteproc remoteproc0: powering up 79000000.r5f
    [    6.328006] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.331324] rtc-ti-k3 2b1f0000.rtc: registered as rtc1
    [    6.336275] remoteproc remoteproc0: Booting fw image j722s-mcu-r5f0_0-fw, size 50612
    [    6.353099] platform 78400000.r5f: assigned reserved memory node main-r5fss-dma-memory-region@a2000000
    [    6.355545] input: tps65219-pwrbutton as /devices/platform/bus@f0000/bus@f0000:bus@b00000/2b200000.i2c/i2c-0/0-0030/tps65219-pwrbutton.2.auto/input/input0
    [    6.367506] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    6.382589] remoteproc remoteproc3: powering up 7e200000.dsp
    [    6.383908] remoteproc remoteproc1: powering up 7e000000.dsp
    [    6.383928] remoteproc remoteproc1: Booting fw image j722s-c71_0-fw, size 2100488
    [    6.389578] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    6.389745] remoteproc remoteproc4: 78400000.r5f is available
    [    6.403094] remoteproc remoteproc3: Booting fw image j722s-c71_1-fw, size 2100488
    [    6.407452] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    6.417534] rproc-virtio rproc-virtio.5.auto: assigned reserved memory node mcu-r5fss-dma-memory-region@a1000000
    [    6.424232] rproc-virtio rproc-virtio.6.auto: assigned reserved memory node c7x-dma-memory@a3000000
    [    6.424846] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    6.424879] rproc-virtio rproc-virtio.6.auto: registered virtio1 (type 7)
    [    6.424888] remoteproc remoteproc1: remote processor 7e000000.dsp is now up
    [    6.425797] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    6.431318] rproc-virtio rproc-virtio.7.auto: assigned reserved memory node c7x-dma-memory@a4000000
    [    6.431634] rtc-rv3028 0-0052: registered as rtc0
    [    6.431919] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    6.431948] rproc-virtio rproc-virtio.5.auto: registered virtio2 (type 7)
    [    6.431956] remoteproc remoteproc0: remote processor 79000000.r5f is now up
    [    6.462455] remoteproc remoteproc4: powering up 78400000.r5f
    [    6.469726] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.470314] m_can_platform 20701000.can: m_can device registered (irq=593, version=32)
    [    6.475572] remoteproc remoteproc4: Booting fw image j722s-main-r5f0_0-fw, size 46004
    [    6.481384] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [    6.481767] sii902x 2-0039: supply iovcc not found, using dummy regulator
    [    6.481996] sii902x 2-0039: supply cvcc12 not found, using dummy regulator
    [    6.537568] rproc-virtio rproc-virtio.8.auto: assigned reserved memory node main-r5fss-dma-memory-region@a2000000
    [    6.543289] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.551679] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    6.557203] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [    6.565488] rproc-virtio rproc-virtio.8.auto: registered virtio3 (type 7)
    [    6.574629] virtio_rpmsg_bus virtio3: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.579272] remoteproc remoteproc4: remote processor 78400000.r5f is now up
    [    6.584876] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xe
    [    6.693357] PVR_K:  189: Device: fd80000.gpu
    [    6.701148] virtio_rpmsg_bus virtio4: rpmsg host is online
    [    6.717135] virtio_rpmsg_bus virtio4: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.724926] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xe
    [    6.736673] rproc-virtio rproc-virtio.7.auto: registered virtio4 (type 7)
    [    6.743807] remoteproc remoteproc3: remote processor 7e200000.dsp is now up
    [    6.752384] panel-lts-7in-v2 30500000.dsi.0: lts_panel_probe
    [    6.760919] PVR_K:  189: Read BVNC 36.53.104.796 from HW device registers
    [    6.768101] PVR_K:  189: RGX Device registered BVNC 36.53.104.796 with 1 core in the system
    [    6.783111] m_can_platform 20701000.can main_mcan0: renamed from can0
    [    6.787213] [drm] Initialized pvr 24.2.6643903 for fd80000.gpu on minor 0
    [    6.800232] i2c i2c-2: Added multiplexed i2c bus 11
    [    6.816762] [drm] Initialized tidss 1.0.0 for 30220000.dss on minor 1
    [    6.825442] panel-lts-7in-v2 30500000.dsi.0: lts_panel_get_modes
    [    6.843608] panel-lts-7in-v2 30500000.dsi.0: lts_panel_prepare
    [    6.857284] panel-lts-7in-v2 30500000.dsi.0: lts_panel_enable
    [    6.857307] panel-lts-7in-v2 30500000.dsi.0: lts_panel_exit_sleep_mode
    [    6.886038] vdec 30210000.video-codec: Added wave5 driver with caps: 'ENCODE' 'DECODE'
    [    6.886065] vdec 30210000.video-codec: Product Code:      0x521c
    [    6.886072] vdec 30210000.video-codec: Firmware Revision: 344874
    [    7.203395] panel-lts-7in-v2 30500000.dsi.0: lts_panel_set_display_on
    [    7.523414] Console: switching to colour frame buffer device 240x75
    [    7.606580] tidss 30220000.dss: [drm] fb0: tidssdrmfb frame buffer device
    [    7.619987] panel-lts-7in-v2 30500000.dsi.0: lts_panel_get_modes
    [    7.623883] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [    7.637155] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [    7.645369] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [    7.653514] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [    7.844741] audit: type=1334 audit(1736360582.184:4): prog-id=8 op=LOAD
    [    7.863581] audit: type=1334 audit(1736360582.200:5): prog-id=9 op=LOAD
    [   10.590182] audit: type=1334 audit(1736360584.928:6): prog-id=10 op=LOAD
    [   10.602463] audit: type=1334 audit(1736360584.936:7): prog-id=11 op=LOAD
    [   10.609360] audit: type=1334 audit(1736360584.936:8): prog-id=12 op=LOAD
    [   10.750018] audit: type=1334 audit(1736360585.088:9): prog-id=13 op=LOAD
    [   11.301173] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [   11.324626] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [   11.331160] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [   11.338626] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [   11.347352] cfg80211: failed to load regulatory.db
    [   11.557181] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POLL)
    [   11.566692] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [   12.397228] audit: type=1006 audit(1736360586.736:10): pid=342 uid=0 subj=kernel old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
    [   12.411012] audit: type=1300 audit(1736360586.736:10): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffec1f09f0 a2=4 a3=1 items=0 ppid=1 pid=342 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [   12.438860] audit: type=1327 audit(1736360586.736:10): proctitle="(systemd)"
    [   13.340047] audit: type=1006 audit(1736360587.680:11): pid=338 uid=0 subj=kernel old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
    [   13.353602] audit: type=1300 audit(1736360587.680:11): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=fffff00b61e0 a2=4 a3=1 items=0 ppid=1 pid=338 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty7 ses=2 comm="(weston)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [   13.381170] audit: type=1327 audit(1736360587.680:11): proctitle="(weston)"
    [   14.376561] PVR_K:  338: RGX Firmware image 'rgx.fw.36.53.104.796' loaded
    [   14.397925] PVR_K:  338: Shader binary image 'rgx.sh.36.53.104.796' loaded
    [   14.790770] panel-lts-7in-v2 30500000.dsi.0: lts_panel_get_modes
    [   16.904303] j721e-pcie f102000.pcie: host bridge /bus@f0000/pcie@f102000 ranges:
    [   16.911875] j721e-pcie f102000.pcie:       IO 0x0600001000..0x0600100fff -> 0x0000001000
    [   16.920021] j721e-pcie f102000.pcie:      MEM 0x0600101000..0x06ffffffff -> 0x0000101000
    [   16.928345] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [   16.938420] platform f102000.pcie: deferred probe pending: j721e-pcie: Failed to init phy
    [   16.946774] platform 31200000.usb: deferred probe pending: cdns-usb3: Failed to get cdn3,usb3-phy
    [   17.971733] audit: type=1006 audit(1736360592.312:12): pid=409 uid=0 subj=kernel old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=3 res=1
    [   17.985299] audit: type=1300 audit(1736360592.312:12): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffcf20cbf0 a2=1 a3=1 items=0 ppid=1 pid=409 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=3 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" subj=kernel key=(null)
    [   18.012965] audit: type=1327 audit(1736360592.312:12): proctitle="(systemd)"
    [   18.056166] audit: type=1334 audit(1736360592.396:13): prog-id=14 op=LOAD
    [   18.063083] audit: type=1300 audit(1736360592.396:13): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffd646f738 a2=90 a3=0 items=0 ppid=1 pid=409 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=3 comm="systemd" exe="/usr/lib/systemd/systemd" subj=kernel key=(null)
    [   18.089928] audit: type=1327 audit(1736360592.396:13): proctitle="(systemd)"
    [   18.097166] audit: type=1334 audit(1736360592.396:14): prog-id=14 op=UNLOAD

    Regards,

    Nathan

  • Hi Nathan,

    Looks like DSI panel driver is being probed, so a bit strange why DSI interface does not seem to enumerate under modetest.

    Can you share the devicetree (if whole devicetree is non-shareable, just the display related devicetree nodes are sufficient), so that I can review how the display pipeline is connected?

    Regards,

    Takuma

  • Hi Takuma,

    Yes, here is the device tree overlay that I am using for the display right now

    /dts-v1/;
    /plugin/;
    
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    
    #include "k3-pinctrl.h"
    
    &{/} {
    	backlight_dsi: backlight {
    		compatible = "pwm-backlight";
    		brightness-levels = <0 8 16 32 64 128 255>;
    		default-brightness-level = <8>;
    		num-interpolated-steps = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&bl_pwm_pins_default>;
    		pwms = <&epwm1 1 50000 0>;
    	};
    };
    
    &epwm1 {
    	status = "okay";
    };
    
    &main_pmx0 {
    	bl_pwm_pins_default: bl-pwm-pins-default {
    		pinctrl-single,pins = <
    			J722S_IOPAD(0x1bc, PIN_INPUT, 2)	/* (D20) SPI0_CLK.EHRPWM1_A */
    		>;
    	};
    
    	touch_screen_pins_default: touch-screen-pins-default {
    		pinctrl-single,pins = <
    			J722S_IOPAD(0x1c0, PIN_INPUT, 7)	/* (E19) SPI0_D0.GPIO1_18 */
    			J722S_IOPAD(0x1c4, PIN_INPUT, 7)	/* (E20) SPI0_D1.GPIO1_19 */
    		>;
    	};
    };
    
    &dphy_tx0 {
    	status = "okay";
    };
    
    &dsi0 {
    	#address-cells = <1>;
    	#size-cells = <0>;
    	status = "okay";
    
    	ports {
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		port@0 {
    			reg = <0>;
    
    			dsi0_out: endpoint {
    				remote-endpoint = <&display_in>;
    			};
    		};
    
    		port@1 {
    			reg = <1>;
    
    			dsi0_in: endpoint {
    				remote-endpoint = <&dss1_dpi1_out>;
    			};
    		};
    	};
    
    	display: panel@0 {
    		compatible = "lts,lts-lcd282";
    		reg = <0>;
    
    		backlight = <&backlight_dsi>;
    		dsi-lanes = <4>;
    		panel-bpc = <8>;
    
    		port {
    			display_in: endpoint {
    				remote-endpoint = <&dsi0_out>;
    			};
    		};
    	};
    };
    
    &dss1_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	/* DSS1-VP1: DSI Output */
    	port@1 {
    		reg = <1>;
    
    		dss1_dpi1_out: endpoint {
    			remote-endpoint = <&dsi0_in>;
    		};
    	};
    };

    Regards,

    Nathan

  • Hi Nathan,

    Thanks for the dts. lts,lts-lcd282 <- you mentioned a MIPI DSI driver was referenced for this new panel driver. Could you share which driver was referenced?

    I have seen developers use the panel-simple.c driver for simple screens, but I do see that there are some unused touch_screen_pins_default defined in shared dts.

    Regards,

    Takuma

  • Hi Takuma,

    Sorry about the unused touchscreen pins in the device tree, I had touchscreen support in the device tree at one point but pulled it out since it does not affect the function of the display. Currently we are using a custom driver from the display manufacturer that I have modified to work with our hardware.

    /*
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     */
    
    #include <linux/backlight.h>
    #include <linux/delay.h>
    #include <linux/gpio/consumer.h>
    #include <linux/module.h>
    #include <linux/of.h>
    #include <linux/regulator/consumer.h>
    
    #include <video/mipi_display.h>
    
    #include <drm/drm_crtc.h>
    #include <drm/drm_mipi_dsi.h>
    #include <drm/drm_modes.h>
    #include <drm/drm_panel.h>
    
    #define PANEL_CONTROL_BL
    
    struct lts_panel {
    	const struct lts_panel_desc *desc;
    	struct drm_panel base;
    	struct mipi_dsi_device *link;
    
    	struct regulator *supply;
    	struct gpio_desc *reset_gpio;
        struct gpio_desc *lcd5v_enable_gpio;
    
    #ifdef PANEL_CONTROL_BL
        struct gpio_desc *bl_gpio;
        struct gpio_desc *blen_gpio;
    #endif // PANEL_CONTROL_BL
    
    	u32 bpc;
    	bool prepared;
    	bool deep_standby;
    	bool enabled;
    };
    
    struct lts_panel_desc {
    	const struct drm_display_mode *mode;
    	unsigned int width_mm;
    	unsigned int height_mm;
    };
    
    static inline struct lts_panel *to_lts_panel(struct drm_panel *panel)
    {
    	return container_of(panel, struct lts_panel, base);
    }
    
    static int lts_panel_power_on(struct lts_panel *lts)
    {
    	int ret=0;
        
      //  gpiod_set_value_cansleep(lts->lcd5v_enable_gpio, 1);
        msleep(5);
    
    	/* reset width 20ms, wait 500ms */
    //	gpiod_set_value_cansleep(lts->reset_gpio, 1);
    //	msleep(20);
    //	gpiod_set_value_cansleep(lts->reset_gpio, 0);
    //	msleep(20);
    //	gpiod_set_value_cansleep(lts->reset_gpio, 1);
    //	msleep(500);
    #ifdef PANEL_CONTROL_BL
    //	gpiod_set_value_cansleep(lts->bl_gpio, 1);
    //	gpiod_set_value_cansleep(lts->blen_gpio, 1);
    #endif // PANEL_CONTROL_BL
    
    	return ret;
    }
    
    static int lts_panel_power_off(struct lts_panel *lts)
    {
    	int ret=0;
    
    #ifdef PANEL_CONTROL_BL
    //	gpiod_set_value_cansleep(lts->bl_gpio, 0);
    //	gpiod_set_value_cansleep(lts->blen_gpio, 0);
    #endif // PANEL_CONTROL_BL
    
    //	gpiod_set_value_cansleep(lts->lcd5v_enable_gpio, 0);
    //	gpiod_set_value_cansleep(lts->reset_gpio, 1);
    
    	return ret;
    }
    
    static int lts_panel_enter_sleep_mode(struct lts_panel *lts)
    {
    	struct device *dev = &lts->link->dev;
    	int ret=0;
    
    	ret = mipi_dsi_dcs_enter_sleep_mode(lts->link);
    	if(ret) {
    		dev_err(dev, "failed to enter sleep mode: %d\n",
    			      ret);
    		//return ret;
    	}
    
    	msleep(300);
    
    	return ret;
    }
    
    static int lts_panel_exit_sleep_mode(struct lts_panel *lts)
    {
    	struct device *dev = &lts->link->dev;
    	int ret=0;
    
    	dev_warn(&lts->link->dev, "%s\n", __func__);
    
    	ret = mipi_dsi_dcs_exit_sleep_mode(lts->link);
    	if(ret) {
    		dev_err(dev, "failed to exit sleep mode: %d\n",
    			      ret);
    		//return ret;
    	}
    
    	msleep(300);
    
    	return ret;
    }
    
    static int lts_panel_set_display_on(struct lts_panel *lts)
    {
    	int ret=0;
    	struct device *dev = &lts->link->dev;
    
    	dev_warn(dev, "%s\n", __func__);
    
    	ret = mipi_dsi_dcs_set_display_on(lts->link);
    	if(ret) {
    		dev_err(dev, "failed to set display on: %d\n",
    			      ret);
    		//return ret;
    	}
    
    	msleep(300);
    
    	return ret;
    }
    
    static int lts_panel_set_display_off(struct lts_panel *lts)
    {
    	int ret=0;
    	struct device *dev = &lts->link->dev;
    	dev_warn(dev, "%s\n", __func__);
    	ret = mipi_dsi_dcs_set_display_off(lts->link);
    	if(ret)
    		dev_err(dev, "failed to set display off: %d\n",
    			      ret);
    	msleep(300);
    	return ret;
    }
    
    static int lts_panel_disable(struct drm_panel *panel)
    {
    	struct lts_panel *lts = to_lts_panel(panel);
    	struct device *dev = &lts->link->dev;
    	int err;
    
    	if (!lts->enabled)
    		return 0;
    
    	dev_warn(dev, "%s\n", __func__);
    	lts->link->mode_flags &= ~MIPI_DSI_MODE_LPM;
    
    	lts_panel_set_display_off(lts);
    
    	err = lts_panel_enter_sleep_mode(lts);
    	if (err < 0) {
    		dev_err(dev, "failed to enter sleep mode: %d\n",
    			      err);
    		//return err;
    	}
    
    	lts->deep_standby = true;
    
    	lts->enabled = false;
    
    	return 0;
    }
    
    static int lts_panel_unprepare(struct drm_panel *panel)
    {
    	struct lts_panel *lts = to_lts_panel(panel);
    	struct device *dev = &lts->link->dev;
    	int err;
    
    	if (!lts->prepared)
    		return 0;
    	dev_warn(dev, "%s\n", __func__);
    	err = lts_panel_power_off(lts);
    	if (err < 0) {
    		dev_err(dev, "failed to enter sleep mode: %d\n",
    			      err);
    		return err;
    	}
    
    	lts->prepared = false;
    
    	return 0;
    }
    
    static int lts_panel_prepare(struct drm_panel *panel)
    {
    	struct lts_panel *lts = to_lts_panel(panel);
    	struct device *dev = &lts->link->dev;
    
    	int err;
    
    	if (lts->prepared)
    		return 0;
    
    	dev_warn(dev, "%s\n", __func__);
    
    	err = lts_panel_power_on(lts);
    	if (err < 0) {
    		dev_err(dev, "failed to power on: %d\n", err);
    		return err;
    	}
    
    	lts->prepared = true;
    
    	return 0;
    }
    
    static int lts_panel_enable(struct drm_panel *panel)
    {
    	struct lts_panel *lts = to_lts_panel(panel);
    	struct device *dev = &lts->link->dev;
    	int ret;
    
    	if (lts->enabled)
    		return 0;
    	dev_warn(dev, "%s\n", __func__);
    
    	lts->link->mode_flags |= MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_VIDEO;
    	ret = lts_panel_exit_sleep_mode(lts);
    	if (ret < 0) {
    		dev_err(dev, "failed to exit sleep mode: %d\n",
    			      ret);
    		//return err;
    	}
    
    	ret = lts_panel_set_display_on(lts);
    	if (ret < 0) {
    		dev_err(dev, "failed to set display on: %d\n",
    			      ret);
    		//return ret;
    	}
    
    	lts->enabled = true;
    
    	return 0;
    }
    
    static const struct drm_display_mode lts_lcd282_mode = {
    		.clock = 154000,
    		.hdisplay = 1920,
    		.hsync_start = 1920 + 8,
    		.hsync_end = 1920 + 8 + 4,
    		.htotal = 1920 + 84,
    		.vdisplay = 1200,
    		.vsync_start = 1200 + 24,
    		.vsync_end = 1200 + 24 + 8,
    		.vtotal = 1200 + 80,
    		.flags = 0,
    };
    
    static const struct lts_panel_desc lts_lcd282_desc = {
    	.mode = &lts_lcd282_mode,
    	.width_mm = 151,
    	.height_mm = 94,
    };
    
    static const struct drm_display_mode lts_lcd133_mode = {
    		.clock = 162560,
    		.hdisplay = 1200,
    		.hsync_start = 1200 + 70,
    		.hsync_end = 1200 + 70 + 8,
    		.htotal = 1200 + 70 + 8 + 70,
    		.vdisplay = 1920,
    		.vsync_start = 1920 + 4,
    		.vsync_end = 1920 + 4 + 2,
    		.vtotal = 1920 + 4 + 2 + 84,
    		.flags = 0,
    };
    
    static const struct lts_panel_desc lts_lcd133_desc = {
    	.mode = &lts_lcd133_mode,
    	.width_mm = 151,
    	.height_mm = 94,
    };
    
    static int lts_panel_get_modes(struct drm_panel *panel,
    			       struct drm_connector *connector)
    {
    	struct drm_display_mode *mode;
    	struct lts_panel *lts = to_lts_panel(panel);
    	struct device *dev = &lts->link->dev;
    	const struct drm_display_mode *m = lts->desc->mode;
    
    	dev_warn(dev, "%s\n", __func__);
    
    	mode = drm_mode_duplicate(connector->dev, m);
    	if (!mode) {
    		dev_err(dev, "failed to add mode %ux%ux@%u\n",
    			m->hdisplay, m->vdisplay,
    			drm_mode_vrefresh(m));
    		return -ENOMEM;
    	}
    
    	drm_mode_set_name(mode);
    	drm_mode_probed_add(connector, mode);
    	connector->display_info.width_mm = lts->desc->width_mm;
    	connector->display_info.height_mm = lts->desc->height_mm;
    
    	return 1;
    
    }
    
    static const struct drm_panel_funcs lts_panel_funcs = {
    	.disable = lts_panel_disable,
    	.unprepare = lts_panel_unprepare,
    	.prepare = lts_panel_prepare,
    	.enable = lts_panel_enable,
    	.get_modes = lts_panel_get_modes,
    };
    
    static const struct of_device_id lts_of_match[] = {
    	{
    		.compatible = "lts,lts-lcd282",
    		.data = &lts_lcd282_desc,
    	}, {
    		.compatible = "lts,lts-lcd133",
    		.data = &lts_lcd133_desc,
    	}, {
    		/* sentinel */
    	}
    };
    MODULE_DEVICE_TABLE(of, lts_of_match);
    
    static int lts_panel_add(struct lts_panel *lts)
    {
    	struct device *dev = &lts->link->dev;
    	int err;
    
    	drm_panel_init(&lts->base, &lts->link->dev, &lts_panel_funcs,
    		       DRM_MODE_CONNECTOR_DSI);
    
    #ifndef PANEL_CONTROL_BL
    	err = drm_panel_of_backlight(&lts->base);
    	if (err) {
    		dev_err(dev, "Couldn't get backlight\n");
    //		return err;
    	}
    #endif // PANEL_CONTROL_BL
    
    	drm_panel_add(&lts->base);
    
    	return 0;
    }
    
    static void lts_panel_del(struct lts_panel *lts)
    {
    	if (lts->base.dev)
    		drm_panel_remove(&lts->base);
    
    }
    
    static int lts_panel_probe(struct mipi_dsi_device *dsi)
    {
    	struct lts_panel *lts;
    	struct device *dev = &dsi->dev;
    	struct device_node *np = dev->of_node;
    	int ret;
    	u32 bpc;
    
    	dev_warn(dev, "%s\n", __func__);
    	ret = of_property_read_u32(np, "dsi-lanes", &dsi->lanes);
    	if (ret < 0) {
    		dev_err(dev, "Failed to get dsi-lanes property (%d)\n", ret);
    		return ret;
    	}
    
    	ret = of_property_read_u32(np, "panel-bpc", &bpc);
    	if (!ret) {
    		switch (bpc) {
    		case 6:
    			dsi->format = MIPI_DSI_FMT_RGB666;
    			break;
    		case 8:
    			dsi->format = MIPI_DSI_FMT_RGB888;
    			break;
    
    		default:
    			dev_warn(dev, "invalid bpc %d\n", bpc);
    			break;
    
    		}
    	}
    
    	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM;
    
    	lts = devm_kzalloc(&dsi->dev, sizeof(*lts), GFP_KERNEL);
    	if (!lts)
    		return -ENOMEM;
    
    
    	mipi_dsi_set_drvdata(dsi, lts);
    
    	lts->link = dsi;
    
    	lts->desc = of_device_get_match_data(&dsi->dev);
    
    	ret = lts_panel_add(lts);
    	if (ret < 0)
    		return ret;
    
    	ret = mipi_dsi_attach(dsi);
    	return ret;
    }
    
    static void lts_panel_remove(struct mipi_dsi_device *dsi)
    {
    	struct lts_panel *lts = mipi_dsi_get_drvdata(dsi);
    	int err;
    
    	lts_panel_unprepare(&lts->base);
    	lts_panel_disable(&lts->base);
    	lts_panel_power_off(lts);
    
    	err = mipi_dsi_detach(dsi);
    	if (err < 0)
    		dev_err(&dsi->dev, "failed to detach from DSI host: %d\n",
    			      err);
    
    	lts_panel_disable(&lts->base);
    	lts_panel_del(lts);
    }
    
    static void lts_panel_shutdown(struct mipi_dsi_device *dsi)
    {
    	struct lts_panel *lts = mipi_dsi_get_drvdata(dsi);
    
    	lts_panel_unprepare(&lts->base);
    	lts_panel_disable(&lts->base);
    	lts_panel_power_off(lts);
    }
    
    static struct mipi_dsi_driver lts_panel_driver = {
    	.driver = {
    		.name = "panel-lts-7in-v2",
    		.of_match_table = lts_of_match,
    	},
    	.probe = lts_panel_probe,
    	.remove = lts_panel_remove,
    	.shutdown = lts_panel_shutdown,
    };
    module_mipi_dsi_driver(lts_panel_driver);
    
    MODULE_AUTHOR("LTS");
    MODULE_DESCRIPTION("LTS 7in panel driver");
    MODULE_LICENSE("GPL v2");
    

    A few things are commented out, particularly the lines related to the reset and backlight GPIOs as these are tied to the global reset on our board and therefore not necessary in the driver.

    I also previously tried using the panel-simple driver for this display and got the same result as with this driver. 

    Regards,

    Nathan

  • Hi Nathan,

    Nothing stands out in the driver other than the backlight related logic, which should be fine to remove based on your input.

    Two things:

    1. With the 1920x1200 timings, you mentioned the status register outputs 0x1. Do you see signals on the scope?
    2. Can you remove HDMI node from the devicetree, and re-run "modetest -M tidss"?

    Regards,

    Takuma

  • Hi Takuma,

    Thanks for checking out the driver.

    1. With the 1920x1200 timings we see the same initialization data as before, and now we also see what appears to be image data. Here is an image of the new data we are seeing:

    There is still no output on the display though, and the display manufacturer confirmed that 1200x1920 is the correct resolution for this display.

    2. Here is the output from modetest with the HDMI removed from the devicetree:

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	39	none	0x00000001	0x00000001
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	40	connected	DSI-1          	151x94		1	40
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1920x1200 60.04 1920 1928 1932 2004 1200 1224 1232 1280 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	55	(0,0)	(1920x1200)
      #0 1920x1200 60.04 1920 1928 1932 2004 1200 1224 1232 1280 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	39	55	0,0		0,0	0       	0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 0
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    Regards,

    Nathan

  • Hi Nathan,

    Here is the output from modetest with the HDMI removed from the devicetree:

    Yes, this looks more like the expected output.

    There is still no output on the display though, and the display manufacturer confirmed that 1200x1920 is the correct resolution for this display.

    Could you change it back to the 1200x1920 and re-run the "modetest -M tidss" again? I expect timing parameters to be quite different.

    Regards,

    Takuma

  • Hi Takuma,

    Here is the modetest output with the HDMI node removed and the resolution set back to 1200x1920:

    Encoders:
    id	crtc	type	possible crtcs	possible clones	
    40	39	none	0x00000001	0x00000001
    
    Connectors:
    id	encoder	status		name		size (mm)	modes	encoders
    41	40	connected	DSI-1          	151x94		1	40
      modes:
    	index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	1 EDID:
    		flags: immutable blob
    		blobs:
    
    		value:
    	2 DPMS:
    		flags: enum
    		enums: On=0 Standby=1 Suspend=2 Off=3
    		value: 0
    	5 link-status:
    		flags: enum
    		enums: Good=0 Bad=1
    		value: 0
    	6 non-desktop:
    		flags: immutable range
    		values: 0 1
    		value: 0
    	4 TILE:
    		flags: immutable blob
    		blobs:
    
    		value:
    
    CRTCs:
    id	fb	pos	size
    39	55	(0,0)	(1200x1920)
      #0 1200x1920 60.04 1200 1224 1232 1280 1920 1928 1932 2004 154000 flags: ; type: 
      props:
    	24 VRR_ENABLED:
    		flags: range
    		values: 0 1
    		value: 0
    	27 CTM:
    		flags: blob
    		blobs:
    
    		value:
    	28 GAMMA_LUT:
    		flags: blob
    		blobs:
    
    		value:
    	29 GAMMA_LUT_SIZE:
    		flags: immutable range
    		values: 0 4294967295
    		value: 256
    
    Planes:
    id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
    32	39	55	0,0		0,0	0       	0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 1
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	34 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	35 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	36 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	37 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	38 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    42	0	0	0,0		0,0	0       	0x00000001
      formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12
      props:
    	8 type:
    		flags: immutable enum
    		enums: Overlay=0 Primary=1 Cursor=2
    		value: 0
    	30 IN_FORMATS:
    		flags: immutable blob
    		blobs:
    
    		value:
    			01000000000000001d00000018000000
    			01000000900000004152313241423132
    			52413132524731364247313641523135
    			41423135415232344142323452413234
    			42413234524732344247323441523330
    			41423330585231325842313252583132
    			58523135584231355852323458423234
    			52583234425832345852333058423330
    			59555956555956594e56313200000000
    			ffffff1f000000000000000000000000
    			0000000000000000
    		in_formats blob decoded:
    			 AR12:  LINEAR(0x0)
    			 AB12:  LINEAR(0x0)
    			 RA12:  LINEAR(0x0)
    			 RG16:  LINEAR(0x0)
    			 BG16:  LINEAR(0x0)
    			 AR15:  LINEAR(0x0)
    			 AB15:  LINEAR(0x0)
    			 AR24:  LINEAR(0x0)
    			 AB24:  LINEAR(0x0)
    			 RA24:  LINEAR(0x0)
    			 BA24:  LINEAR(0x0)
    			 RG24:  LINEAR(0x0)
    			 BG24:  LINEAR(0x0)
    			 AR30:  LINEAR(0x0)
    			 AB30:  LINEAR(0x0)
    			 XR12:  LINEAR(0x0)
    			 XB12:  LINEAR(0x0)
    			 RX12:  LINEAR(0x0)
    			 XR15:  LINEAR(0x0)
    			 XB15:  LINEAR(0x0)
    			 XR24:  LINEAR(0x0)
    			 XB24:  LINEAR(0x0)
    			 RX24:  LINEAR(0x0)
    			 BX24:  LINEAR(0x0)
    			 XR30:  LINEAR(0x0)
    			 XB30:  LINEAR(0x0)
    			 YUYV:  LINEAR(0x0)
    			 UYVY:  LINEAR(0x0)
    			 NV12:  LINEAR(0x0)
    	44 zpos:
    		flags: range
    		values: 0 1
    		value: 1
    	45 COLOR_ENCODING:
    		flags: enum
    		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1
    		value: 0
    	46 COLOR_RANGE:
    		flags: enum
    		enums: YCbCr limited range=0 YCbCr full range=1
    		value: 1
    	47 alpha:
    		flags: range
    		values: 0 65535
    		value: 65535
    	48 pixel blend mode:
    		flags: enum
    		enums: Pre-multiplied=0 Coverage=1
    		value: 0
    
    Frame buffers:
    id	size	pitch
    

    Regards,

    Nathan

  • Hi Nathan,

    Where are these timing parameters obtained from? Is this from manufacturer for 1200x1920 resolution?

    These are not part of the DMT standards, and I do not think these are following CVT standards as well.

    Regards,

    Takuma

  • Hi Takuma,

    These timings are directly from the display manufacturer for our panel.

    Regards,

    Nathan

  • Hi Nathan,

    As an experiment, can you try defining some negative sync flags like this:

    • .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC

    If above does not work, let's experiment with the timing parameters. I am thinking about plugging in some numbers from this video timing parameter calculator I found online: https://tomverbeure.github.io/video_timings_calculator 

    Regards,

    Takuma

  • Hi Takuma,

    I believe we have fixed the issue at this point. What ended up working was using the calculator you provided to create timings for a 1200x1920 display. We were able to get output on the display using the timings from the CVT modeline. The output was still slightly corrupted though, so I made some small adjustments until I got a good looking image. Here is the timings that I am currently using for a good output.

    static const struct drm_display_mode lts_lcd282_mode = {
                    .clock = 154000,
                    .hdisplay = 1200,
                    .hsync_start = 1259,
                    .hsync_end = 1271,
                    .htotal = 1295,
                    .vdisplay = 1920,
                    .vsync_start = 1923,
                    .vsync_end = 1933,
                    .vtotal = 1989,
                    .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC,
    };
    

    Thanks for your support getting this issue solved.

    Regards,

    Nathan