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.

SK-AM62A-LP: Bring up ov5647

Part Number: SK-AM62A-LP


Hi TI Team,

==============================

SDK:ti-processor-sdk-linux-edgeai-am62axx-evm-09_00_01_03-Linux-x86-Install.bin

sensor:ov5647

==============================

 

 

I'm bringing up ov5647, following this document.

After compiling the code

make linux


export PATH=/home/ruihua.pan/ti/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux:$PATH


make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux-  distclean


make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux-  defconfig ti_arm64_prune.config


make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- Image

make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- modules

make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- dtbs

 

Remove the SD card from the AM62A7-LP board.

Insert the SD card into the PC and mount it:

sudo mount /dev/sdb2 /mnt/usb

Then, I can access and manipulate SD card files.

I did following steps to install kernel modules:

      $ sudo cp arch/arm64/boot/Image /mnt/usb/boot/boot

      $ sudo cp arch/arm64/boot/dts/ti/k3-am62a7-sk-csi2-ov5647.dtbo /mnt/usb/boot/dtb/ti

      $ sudo make ARCH=arm64 INSTALL_MOD_PATH=/mnt/usb/lib/modules/6.1.46-gf8110d9ce8 modules_install

5141.ti_ov5647.zip

I set the dts overlay in boot mode using following command:

      $ setenv name_overlays ti/k3-am62a7-sk-csi2-ov5647.dtbo
      $ env export -t $loadaddr <list of variables>
      $ fatwrite mmc ${mmcdev} ${loadaddr} ${bootenvfile} ${filesize}

 

Based on what I did above, which step was wrong?

Best Regards,

Daohong

  • Hello Daohong,

    I noticed a few things in your first step and 3rd step in installing kernel modules:

    $ sudo cp arch/arm64/boot/Image /mnt/usb/boot/boot

    $ sudo make ARCH=arm64 INSTALL_MOD_PATH=/mnt/usb/lib/modules/6.1.46-gf8110d9ce8 modules_install

    The first step should be: 

    $ sudo cp arch/arm64/boot/Image /mnt/usb/boot/

    The third step should be:

    sudo make ARCH=arm64  INSTALL_MOD_PATH=<path to root of file system> modules_install

    For example, I have the following in my PC:

    $ lsblk
    sdc      8:32   1   7.4G  0 disk 
    ├─sdc1   8:33   1 134.1M  0 part /media/jxu/boot
    └─sdc2   8:34   1   7.3G  0 part /media/jxu/root
    

    Then I'll need to do:

    sudo make ARCH=arm64  INSTALL_MOD_PATH=/media/jxu/root/ modules_install

    The make command will take care of installing the right modules to /lib/modules.

    To be consistent, you can do the first step as:

    sudo cp arch/arm64/boot/Image /media/jxu/root/boot

    Please try these and see if it works. If it doesn't work, please share a dmesg log.

    Regards,

    Jianzhong

  • Hi Jianzhong,

    My complete steps:

    touch k3-am62a7-sk-csi2-ov5647.dtso:

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    /plugin/;
    
    #include <dt-bindings/gpio/gpio.h>
    
    / {
    	fragment@101 {
    		target-path = "/";
    
    		__overlay__ {
    			clk_ov5647_fixed: ov5647-xclk {
    				compatible = "fixed-clock";
    				#clock-cells = <0>;
    				clock-frequency = <25000000>;
    			};
    		};
    	};
    };
    
    &main_i2c2 {
    	#address-cells = <1>;
    	#size-cells = <0>;
    	status = "okay";
    
    	i2c-switch@71 {
    		compatible = "nxp,pca9543";
    		#address-cells = <1>;
    		#size-cells = <0>;
    		reg = <0x71>;
    
    		/* CAM port */
    		i2c@1 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <1>;
    
    			ov5640: camera@36 {
    				compatible = "ovti,ov5647";
    				reg = <0x36>;
    
    				clocks = <&clk_ov5647_fixed>;
    				clock-names = "xclk";
    
    				// reset-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;
    				pwdn-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;
    
    				port {
    					csi2_cam0: endpoint {
    						remote-endpoint = <&csi2rx0_in_sensor>;
    						// link-frequencies = /bits/ 64 <456000000>;
    						clock-lanes = <0>;
    						data-lanes = <1 2>;
    					};
    				};
    			};
    		};
    	};
    };
    
    &csi0_port0 {
    	status = "okay";
    
    	csi2rx0_in_sensor: endpoint {
    		remote-endpoint = <&csi2_cam0>;
    		bus-type = <4>; /* CSI2 DPHY. */
    		clock-lanes = <0>;
    		data-lanes = <1 2>;
    	};
    };
    

      

    vim arch/arm64/boot/dts/ti/Makefile
    
    k3-am62a7-sk-csi2-ov5647-dtbs := k3-am62a7-sk.dtb k3-am62a7-sk-csi2-ov5647.dtbo
    
    
    
    
    board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8/arch/arm64/configs/defconfig:800:CONFIG_VIDEO_OV5647=m
    board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8/arch/arm/configs/imx_v6_v7_defconfig:267:CONFIG_VIDEO_OV5647=m
    board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8/arch/arm/configs/sama7_defconfig:147:CONFIG_VIDEO_OV5647=m
    board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8/drivers/media/i2c/Makefile:89:obj-$(CONFIG_VIDEO_OV5647) += ov5647.o
    board-support/linux-6.1.46+gitAUTOINC+f8110d9ce8-gf8110d9ce8/.pc/0001-arm64-defconfig-Enable-CONFIG_GPIO_SYSFS.patch/arch/arm64/configs/defconfig:799:CONFIG_VIDEO_OV5647=m

      

    make linux
    
    export PATH=/home/ruihua.pan/ti/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux:$PATH
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- distclean
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux-  defconfig ti_arm64_prune.config
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- Image
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- modules
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-oe-linux- dtbs

      

    sudo cp arch/arm64/boot/dts/ti/k3-am62a7-sk-csi2-ov5647.dtbo /mnt/usb/boot/dtb/ti
    sudo cp arch/arm64/boot/Image /mnt/usb/boot/
    sudo make ARCH=arm64  INSTALL_MOD_PATH=mnt/usb/ modules_install

     

    sudo umount /dev/sdb2

     Remove the SD card from the PC and insert it into the AM62A7-LP

    setenv name_overlays ti/k3-am62a7-sk-csi2-ov5647.dtbo
    env export -t $loadaddr <list of variables>
    fatwrite mmc ${mmcdev} ${loadaddr} ${bootenvfile} ${filesize}
    
    boot

      

     

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.46 (ruihua.pan@bric) (aarch64-oe-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Tue Nov 28 02:41:45 UTC 2023
    [    0.000000] Machine model: Texas Instruments AM62A7 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000c0000000, size 576 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000099800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-dma-memory@99800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000099900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-memory@99900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node edgeai-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: initialized node edgeai_shared-memories, compatible id dma-heap-carveout
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000ae000000, size 288 MiB
    [    0.000000] OF: reserved mem: initialized node edgeai-core-heap-memory@ae000000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000997fffff]
    [    0.000000]   node   0: [mem 0x0000000099800000-0x000000009b7fefff]
    [    0.000000]   node   0: [mem 0x000000009b800000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
    [    0.000000]   node   0: [mem 0x000000009e780000-0x00000000a2ffffff]
    [    0.000000]   node   0: [mem 0x00000000a3000000-0x00000000adffffff]
    [    0.000000]   node   0: [mem 0x00000000ae000000-0x00000000bfffffff]
    [    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000ffffffff]
    [    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
    [    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
    [    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.2
    [    0.000000] percpu: Embedded 19 pages/cpu s38376 r8192 d31256 u77824
    [    0.000000] pcpu-alloc: s38376 r8192 d31256 u77824 alloc=19*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] Built 1 zonelists, mobility grouping on.  Total pages: 1032191
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern) root=PARTUUID=b3ea3bda-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
    [    0.000000] Memory: 2807260K/4194300K available (12480K kernel code, 1294K rwdata, 4360K rodata, 2176K init, 498K bss, 797216K reserved, 589824K cma-reserved)
    [    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=256 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] 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: 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 @880800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000880040000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000880050000
    [    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.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008483] Console: colour dummy device 80x25
    [    0.013066] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023746] pid_max: default: 32768 minimum: 301
    [    0.028512] LSM: Security Framework initializing
    [    0.033334] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.040913] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.050336] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.057766] cblist_init_generic: Setting shift to 2 and lim to 1.
    [    0.064057] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.071450] cblist_init_generic: Setting shift to 2 and lim to 1.
    [    0.077816] rcu: Hierarchical SRCU implementation.
    [    0.082722] rcu: 	Max phase no-delay instances is 1000.
    [    0.088274] Platform MSI: msi-controller@1820000 domain created
    [    0.094531] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.104371] EFI services will not be available.
    [    0.109220] smp: Bringing up secondary CPUs ...
    [    0.114410] Detected VIPT I-cache on CPU1
    [    0.114496] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.114512] GICv3: CPU1: using allocated LPI pending table @0x0000000880060000
    [    0.114557] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.115155] Detected VIPT I-cache on CPU2
    [    0.115223] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.115236] GICv3: CPU2: using allocated LPI pending table @0x0000000880070000
    [    0.115265] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.115795] Detected VIPT I-cache on CPU3
    [    0.115866] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.115878] GICv3: CPU3: using allocated LPI pending table @0x0000000880080000
    [    0.115905] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.115964] smp: Brought up 1 node, 4 CPUs
    [    0.195678] SMP: Total of 4 processors activated.
    [    0.200490] CPU features: detected: 32-bit EL0 Support
    [    0.205758] CPU features: detected: CRC32 instructions
    [    0.211068] CPU: All CPU(s) started at EL2
    [    0.215266] alternatives: applying system-wide alternatives
    [    0.222451] devtmpfs: initialized
    [    0.233669] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.243676] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.263872] pinctrl core: initialized pinctrl subsystem
    [    0.269732] DMI not present or invalid.
    [    0.274193] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.281117] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
    [    0.288554] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.296629] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.304784] audit: initializing netlink subsys (disabled)
    [    0.310430] audit: type=2000 audit(0.200:1): state=initialized audit_enabled=0 res=1
    [    0.310827] thermal_sys: Registered thermal governor 'step_wise'
    [    0.318358] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.324534] cpuidle: using governor menu
    [    0.335364] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.342381] ASID allocator initialised with 65536 entries
    [    0.358590] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.369794] platform connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.379269] KASLR disabled due to lack of seed
    [    0.390340] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.397301] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.403711] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.410650] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.417058] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.423997] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.430404] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.437343] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.445193] k3-chipinfo 43000014.chipid: Family:AM62AX rev:SR1.0 JTAGID[0x0bb8d02f] Detected
    [    0.455108] iommu: Default domain type: Translated 
    [    0.460122] iommu: DMA domain TLB invalidation policy: strict mode 
    [    0.466793] SCSI subsystem initialized
    [    0.470749] libata version 3.00 loaded.
    [    0.470933] usbcore: registered new interface driver usbfs
    [    0.476577] usbcore: registered new interface driver hub
    [    0.482030] usbcore: registered new device driver usb
    [    0.487643] pps_core: LinuxPPS API ver. 1 registered
    [    0.492722] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.502071] PTP clock support registered
    [    0.506186] EDAC MC: Ver: 3.0.0
    [    0.510155] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fca100
    [    0.516970] omap-mailbox 29010000.mailbox: omap mailbox rev 0x66fca100
    [    0.523770] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fca100
    [    0.530494] omap-mailbox 29030000.mailbox: no available mbox devices found
    [    0.537891] FPGA manager framework
    [    0.541429] Advanced Linux Sound Architecture Driver Initialized.
    [    0.548492] clocksource: Switched to clocksource arch_sys_counter
    [    0.554935] VFS: Disk quotas dquot_6.6.0
    [    0.558982] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.571563] Carveout Heap: Exported 176 MiB at 0x00000000a3000000
    [    0.577909] NET: Registered PF_INET protocol family
    [    0.583079] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.593425] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
    [    0.602233] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.610169] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.618466] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
    [    0.626813] TCP: Hash tables configured (established 32768 bind 32768)
    [    0.633674] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.640629] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.648140] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.654304] RPC: Registered named UNIX socket transport module.
    [    0.660379] RPC: Registered udp transport module.
    [    0.665188] RPC: Registered tcp transport module.
    [    0.669996] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.676585] NET: Registered PF_XDP protocol family
    [    0.681494] PCI: CLS 0 bytes, default 64
    [    0.686104] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.695850] Initialise system trusted keyrings
    [    0.700605] workingset: timestamp_bits=46 max_order=20 bucket_order=0
    [    0.712634] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.719181] NFS: Registering the id_resolver key type
    [    0.724389] Key type id_resolver registered
    [    0.728667] Key type id_legacy registered
    [    0.732826] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.739682] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.747404] 9p: Installing v9fs 9p2000 file system support
    [    0.786665] Key type asymmetric registered
    [    0.790854] Asymmetric key parser 'x509' registered
    [    0.795881] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.803576] io scheduler mq-deadline registered
    [    0.808213] io scheduler kyber registered
    [    0.815174] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.821476] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    0.828140] pinctrl-single a40000.pinctrl: 512 pins, size 2048
    [    0.840837] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.854362] loop: module loaded
    [    0.858815] megasas: 07.719.03.00-rc1
    [    0.866205] tun: Universal TUN/TAP device driver, 1.6
    [    0.872027] thunder_xcv, ver 1.0
    [    0.875376] thunder_bgx, ver 1.0
    [    0.878701] nicpf, ver 1.0
    [    0.881838] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
    [    0.889226] hns3: Copyright (c) 2017 Huawei Corporation.
    [    0.894705] hclge is initializing
    [    0.898114] e1000: Intel(R) PRO/1000 Network Driver
    [    0.903100] e1000: Copyright (c) 1999-2006 Intel Corporation.
    [    0.909003] e1000e: Intel(R) PRO/1000 Network Driver
    [    0.914077] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [    0.920155] igb: Intel(R) Gigabit Ethernet Network Driver
    [    0.925674] igb: Copyright (c) 2007-2014 Intel Corporation.
    [    0.931397] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.937805] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.943967] sky2: driver version 1.30
    [    0.948346] VFIO - User Level meta-driver version: 0.3
    [    0.954236] usbcore: registered new interface driver usb-storage
    [    0.961056] i2c_dev: i2c /dev entries driver
    [    0.967447] sdhci: Secure Digital Host Controller Interface driver
    [    0.973789] sdhci: Copyright(c) Pierre Ossman
    [    0.978686] Synopsys Designware Multimedia Card Interface Driver
    [    0.985234] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.991939] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.998263] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    1.005183] usbcore: registered new interface driver usbhid
    [    1.010886] usbhid: USB HID core driver
    [    1.015947] optee: probing for conduit method.
    [    1.020532] optee: revision 3.20 (8e74d476)
    [    1.020780] optee: dynamic shared memory is enabled
    [    1.030402] optee: initialized driver
    [    1.035591] Initializing XFRM netlink socket
    [    1.040007] NET: Registered PF_PACKET protocol family
    [    1.045289] 9pnet: Installing 9P2000 support
    [    1.049711] Key type dns_resolver registered
    [    1.054440] registered taskstats version 1
    [    1.058657] Loading compiled-in X.509 certificates
    [    1.070978] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.0.7--v09.00.07 (Kool Koala)')
    [    1.110258] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.117305] pca953x 1-0023: supply vcc not found, using dummy regulator
    [    1.124191] pca953x 1-0023: using AI
    [    1.151050] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.180731] i2c i2c-2: Added multiplexed i2c bus 3
    [    1.185914] i2c 4-0036: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    1.195683] i2c i2c-2: Added multiplexed i2c bus 4
    [    1.200588] pca954x 2-0071: registered 2 multiplexed busses for I2C switch pca9543
    [    1.208451] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
    [    1.214413] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    1.222737] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.231936] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.240916] ti-sci-inta 4e0a0000.interrupt-controller: Interrupt Aggregator domain 200 created
    [    1.250616] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    1.258668] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    1.269408] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    1.279078] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    1.288361] ti-udma 4e230000.dma-controller: Number of rings: 6
    [    1.294807] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
    [    1.304013] printk: console [ttyS2] disabled
    [    1.308448] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 252, base_baud = 3000000) is a 8250
    [    1.317326] printk: console [ttyS2] enabled
    [    1.325783] printk: bootconsole [ns16550a0] disabled
    [    1.337929] spi-nand spi0.0: Winbond SPI NAND was found.
    [    1.343261] spi-nand spi0.0: 128 MiB, block size: 256 KiB, page size: 4096, OOB size: 128
    [    1.351601] 7 fixed-partitions partitions found on MTD device spi0.0
    [    1.357955] Creating 7 MTD partitions on "spi0.0":
    [    1.362740] 0x000000000000-0x000000080000 : "ospi_nand.tiboot3"
    [    1.369939] 0x000000080000-0x000000280000 : "ospi_nand.tispl"
    [    1.377474] 0x000000280000-0x000000680000 : "ospi_nand.u-boot"
    [    1.385850] 0x000000680000-0x0000006c0000 : "ospi_nand.env"
    [    1.392509] 0x0000006c0000-0x000000700000 : "ospi_nand.env.backup"
    [    1.399742] 0x000002000000-0x000007fc0000 : "ospi_nand.rootfs"
    [    1.443801] 0x000007fc0000-0x000008000000 : "ospi_nand.phypattern"
    [    1.488510] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.497562] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    1.505692] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
    [    1.518458] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.525585] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.531910] pps pps0: new PPS source ptp0
    [    1.536186] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.546183] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    1.656968] mmc0: CQHCI version 5.10
    [    1.701780] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.796270] mmc0: Command Queue Engine enabled
    [    1.800807] mmc0: new HS200 MMC card at address 0001
    [    1.806416] mmcblk0: mmc0:0001 G1M15L 29.6 GiB 
    [    1.812510]  mmcblk0: p1 p2
    [    1.815936] mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB 
    [    1.821985] mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB 
    [    1.827753] mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (240:0)
    [    2.045069] tps6594-rtc tps6594-rtc.4.auto: registered as rtc0
    [    2.051070] tps6594-rtc tps6594-rtc.4.auto: hctosys: unable to read the hardware clock
    [    2.059237] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    2.065953] pca953x 1-0022: using AI
    [    2.076213] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.083853] mmc1: CQHCI version 5.10
    [    2.084594] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.094779] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.108224] ALSA device list:
    [    2.111215]   No soundcards found.
    [    2.128668] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.136440] Waiting for root device PARTUUID=b3ea3bda-02...
    [    2.213650] mmc1: new ultra high speed SDR104 SDHC card at address 59b4
    [    2.237702] mmcblk1: mmc1:59b4 SN32G 29.7 GiB 
    [    2.244225]  mmcblk1: p1 p2
    [    2.269264] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
    [    2.277879] VFS: Mounted root (ext4 filesystem) on device 179:98.
    [    2.284843] devtmpfs: mounted
    [    2.288391] Freeing unused kernel memory: 2176K
    [    2.293025] Run /sbin/init as init process
    [    2.297118]   with arguments:
    [    2.297121]     /sbin/init
    [    2.297124]   with environment:
    [    2.297127]     HOME=/
    [    2.297130]     TERM=linux
    [    2.464470] systemd[1]: System time before build time, advancing clock.
    [    2.502858] systemd[1]: systemd 250.5+ 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 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
    [    2.534995] systemd[1]: Detected architecture arm64.
    [    2.613920] systemd[1]: Hostname set to <am62axx-evm>.
    [    2.724184] systemd-sysv-generator[149]: SysV service '/etc/init.d/netopeer2-server' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.751379] systemd-sysv-generator[149]: SysV service '/etc/init.d/edgeai-launcher.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.776413] systemd-sysv-generator[149]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.801208] systemd-sysv-generator[149]: SysV service '/etc/init.d/telnetd' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.825091] systemd-sysv-generator[149]: SysV service '/etc/init.d/sysrepo' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    3.135811] systemd[1]: Binding to IPv6 address not available since kernel does not support IPv6.
    [    3.144736] systemd[1]: Binding to IPv6 address not available since kernel does not support IPv6.
    [    3.179972] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    3.244779] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    3.316737] systemd[1]: Queued start job for default target Graphical Interface.
    [    3.383264] systemd[1]: Created slice Slice /system/getty.
    [    3.407209] systemd[1]: Created slice Slice /system/modprobe.
    [    3.431682] systemd[1]: Created slice Slice /system/serial-getty.
    [    3.455931] systemd[1]: Created slice User and Session Slice.
    [    3.478643] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    3.500922] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    3.525154] systemd[1]: Reached target Path Units.
    [    3.540770] systemd[1]: Reached target Remote File Systems.
    [    3.560861] systemd[1]: Reached target Slice Units.
    [    3.576900] systemd[1]: Reached target Swaps.
    [    3.629792] systemd[1]: Listening on RPCbind Server Activation Socket.
    [    3.653020] systemd[1]: Reached target RPC Port Mapper.
    [    3.693306] systemd[1]: Listening on Process Core Dump Socket.
    [    3.717467] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    3.744104] systemd[1]: Listening on Journal Audit Socket.
    [    3.767162] systemd[1]: Listening on Journal Socket (/dev/log).
    [    3.791321] systemd[1]: Listening on Journal Socket.
    [    3.812373] systemd[1]: Listening on Network Service Netlink Socket.
    [    3.839565] systemd[1]: Listening on udev Control Socket.
    [    3.862703] systemd[1]: Listening on udev Kernel Socket.
    [    3.887049] systemd[1]: Listening on User Database Manager Socket.
    [    3.953155] systemd[1]: Mounting Huge Pages File System...
    [    3.987497] systemd[1]: Mounting POSIX Message Queue File System...
    [    4.019769] systemd[1]: Mounting Kernel Debug File System...
    [    4.037833] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.081202] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.101424] systemd[1]: Create List of Static Device Nodes was skipped because of a failed condition check (ConditionFileNotEmpty=/lib/modules/6.1.46/modules.devname).
    [    4.126201] systemd[1]: Starting Load Kernel Module configfs...
    [    4.155887] systemd[1]: Starting Load Kernel Module drm...
    [    4.186520] systemd[1]: Starting Load Kernel Module fuse...
    [    4.241447] systemd[1]: Starting Start psplash boot splash screen...
    [    4.297695] systemd[1]: Starting RPC Bind...
    [    4.313045] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [    4.334155] systemd[1]: Starting Journal Service...
    [    4.356432] systemd[1]: Starting Load Kernel Modules...
    [    4.377787] systemd[1]: Starting Generate network units from Kernel command line...
    [    4.405744] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    4.423628] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
    [    4.434873] systemd[1]: Starting Coldplug All udev Devices...
    [    4.462211] systemd[1]: Started RPC Bind.
    [    4.477253] systemd[1]: Started Journal Service.
    [    4.841986] systemd-journald[164]: Received client request to flush runtime journal.
    [    5.069272] audit: type=1334 audit(1651167747.604:2): prog-id=5 op=LOAD
    [    5.076090] audit: type=1334 audit(1651167747.608:3): prog-id=6 op=LOAD
    [    5.644651] systemd-journald[164]: Oldest entry in /run/log/journal/367531a2d1cd40e5b9c3ee15876fa001/system.journal is older than the configured file retention duration (1month), suggesting rotation.
    [    5.663663] systemd-journald[164]: /run/log/journal/367531a2d1cd40e5b9c3ee15876fa001/system.journal: Journal header limits reached or header out-of-date, rotating.
    [    5.873624] mtdblock: MTD device 'ospi_nand.env' is NAND, please consider using UBI block devices instead.
    [    5.874160] mtdblock: MTD device 'ospi_nand.tispl' is NAND, please consider using UBI block devices instead.
    [    5.880388] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    5.891546] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    5.932562] mtdblock: MTD device 'ospi_nand.rootfs' is NAND, please consider using UBI block devices instead.
    [    5.937876] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    5.959196] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    6.076536] random: crng init done
    [    6.497825] audit: type=1334 audit(1701142344.545:4): prog-id=7 op=LOAD
    [    6.506719] audit: type=1334 audit(1701142344.553:5): prog-id=8 op=LOAD
    [    6.891471] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    6.926776] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    6.969328] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    6.993123] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    7.003746] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    7.073418] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    7.077070] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    7.128743] mtdblock: MTD device 'ospi_nand.rootfs' is NAND, please consider using UBI block devices instead.
    [    7.177515] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    7.214263] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [    7.223792] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [    7.714362] mtdblock: MTD device 'ospi_nand.env' is NAND, please consider using UBI block devices instead.
    [    7.743919] mtdblock: MTD device 'ospi_nand.tispl' is NAND, please consider using UBI block devices instead.
    [    8.165542] audit: type=1334 audit(1701142346.213:6): prog-id=9 op=LOAD
    [    8.172756] audit: type=1334 audit(1701142346.221:7): prog-id=10 op=LOAD
    [    8.702033] audit: type=1006 audit(1701142346.749:8): pid=652 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
    [    8.724584] audit: type=1300 audit(1701142346.749:8): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffd0672478 a2=4 a3=ffff8d20c020 items=0 ppid=1 pid=652 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="/lib/systemd/systemd" key=(null)
    [    8.751986] audit: type=1327 audit(1701142346.749:8): proctitle="(systemd)"
    [    9.368696] audit: type=1006 audit(1701142347.413:9): pid=583 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
    [    9.381319] audit: type=1300 audit(1701142347.413:9): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffd0672478 a2=4 a3=ffff8d20c020 items=0 ppid=1 pid=583 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="/lib/systemd/systemd" key=(null)
    [    9.407621] audit: type=1327 audit(1701142347.413:9): proctitle="(weston)"
    [   10.314229] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [   16.773786] audit: type=1701 audit(1701142354.821:10): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=828 comm="edgeai-gui-app" exe="/usr/bin/edgeai-gui-app" sig=6 res=1
    [   16.822557] audit: type=1334 audit(1701142354.869:11): prog-id=11 op=LOAD
    [   16.829438] audit: type=1334 audit(1701142354.877:12): prog-id=12 op=LOAD
    [   17.576976] audit: type=1334 audit(1701142355.625:13): prog-id=12 op=UNLOAD
    [   17.584053] audit: type=1334 audit(1701142355.625:14): prog-id=11 op=UNLOAD
    [   29.833047] audit: type=1006 audit(1701142367.881:15): pid=976 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=3 res=1
    [   29.845499] audit: type=1300 audit(1701142367.881:15): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffd0672478 a2=1 a3=0 items=0 ppid=1 pid=976 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="/lib/systemd/systemd" key=(null)
    [   29.870902] audit: type=1327 audit(1701142367.881:15): proctitle="(systemd)"
    [   29.878024] audit: type=1334 audit(1701142367.905:16): prog-id=13 op=LOAD
    [   29.884901] audit: type=1300 audit(1701142367.905:16): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffcd013670 a2=78 a3=0 items=0 ppid=1 pid=976 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="/lib/systemd/systemd" key=(null)
    [   29.910613] audit: type=1327 audit(1701142367.905:16): proctitle="(systemd)"
    [   29.917723] audit: type=1334 audit(1701142367.917:17): prog-id=13 op=UNLOAD
    [   29.924757] audit: type=1334 audit(1701142367.917:18): prog-id=14 op=LOAD
    [   29.931605] audit: type=1300 audit(1701142367.917:18): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffcd013710 a2=78 a3=0 items=0 ppid=1 pid=976 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="/lib/systemd/systemd" key=(null)
    [   29.956997] audit: type=1327 audit(1701142367.917:18): proctitle="(systemd)"
    

     

    Best Regards,

    Ruihua

  • Hello Ruihua,

    Thanks for providing the details. I don't see anything related to OV5647 in your dmesg. If everything works correctly, there should be a message as below:

    root@am62axx-evm:~# dmesg | grep ov5647
    [    7.888355] ov5647 4-0036: Consider updating driver ov5647 to match on endpoints
    

    If you do a "lsmod | grep ov5647", what do you see? It should show the following:

    root@am62axx-evm:~# lsmod | grep ov5647
    ov5647                 20480  0
    v4l2_fwnode            20480  1 ov5647
    v4l2_async             24576  2 v4l2_fwnode,ov5647
    videodev              245760  7 v4l2_async,ov5647,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,e5010_jpeg_enc,wave5
    mc                     57344  6 v4l2_async,videodev,ov5647,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
    

    Can you try to manually load the ov5647.ko if it's not already loaded, e.g.,

    insmod /lib/modules/<modified linux kernel>/kernel/drivers/media/i2c/ov5647.ko

    Or try the following and see what happens:

    root@am62axx-evm:~# modprobe -r j721e_csi2rx cdns_csi2rx ov5647
    root@am62axx-evm:~# modprobe -a j721e_csi2rx cdns_csi2rx ov5647
    [  710.731602] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY
    [  710.770626] ov5647 4-0036: Consider updating driver ov5647 to match on endpoints
    

    Also for a sanity check, if you do "uname -r", does it show the modified kernel?

    Regards,

    Jianzhong

  • Hi Jianzhong,

      

    I added logs to ov5647.c and found that there was an issue with i2c.

    root@am62axx-evm:/opt/edgeai-gst-apps# lsmod | grep ov5647
    ov5647                 20480  0
    v4l2_fwnode            20480  2 ov5647,cdns_csi2rx
    v4l2_async             24576  4 v4l2_fwnode,j721e_csi2rx,ov5647,cdns_csi2rx
    videodev              245760  9 v4l2_async,j721e_csi2rx,ov5647,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,v4l2_mem2mem,e5010_jpeg_enc,wave5
    mc                     57344  8 v4l2_async,videodev,j721e_csi2rx,ov5647,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,v4l2_mem2mem
    root@am62axx-evm:/opt/edgeai-gst-apps# dmesg | grep ov5647
    [    6.329251] ov5647 4-0036: ov5647_write: i2c write error, reg: 0x3000
    [    6.340025] ov5647 4-0036: write sensor_oe_enable_regs error
    [    6.352370] ov5647: probe of 4-0036 failed with error -121
    

     

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.1.46 (ruihua.pan@bric) (aarch64-oe-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Wed Nov 29 04:03:09 UTC 2023
    [    0.000000] Machine model: Texas Instruments AM62A7 SK
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000c0000000, size 576 MiB
    [    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000099800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-dma-memory@99800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000099900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node c7x-memory@99900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b900000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009c900000, size 30 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c900000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node edgeai-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: initialized node edgeai_shared-memories, compatible id dma-heap-carveout
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000ae000000, size 288 MiB
    [    0.000000] OF: reserved mem: initialized node edgeai-core-heap-memory@ae000000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x00000000997fffff]
    [    0.000000]   node   0: [mem 0x0000000099800000-0x000000009b7fefff]
    [    0.000000]   node   0: [mem 0x000000009b800000-0x000000009e6fffff]
    [    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
    [    0.000000]   node   0: [mem 0x000000009e780000-0x00000000a2ffffff]
    [    0.000000]   node   0: [mem 0x00000000a3000000-0x00000000adffffff]
    [    0.000000]   node   0: [mem 0x00000000ae000000-0x00000000bfffffff]
    [    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000ffffffff]
    [    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
    [    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
    [    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.2
    [    0.000000] percpu: Embedded 19 pages/cpu s38376 r8192 d31256 u77824
    [    0.000000] pcpu-alloc: s38376 r8192 d31256 u77824 alloc=19*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] Built 1 zonelists, mobility grouping on.  Total pages: 1032191
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),98048k@32m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern) root=PARTUUID=b3ea3bda-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 4.
    [    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
    [    0.000000] Memory: 2807260K/4194300K available (12480K kernel code, 1294K rwdata, 4360K rodata, 2176K init, 498K bss, 797216K reserved, 589824K cma-reserved)
    [    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=256 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] 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: 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 @880800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000880040000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000880050000
    [    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.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008488] Console: colour dummy device 80x25
    [    0.013071] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023752] pid_max: default: 32768 minimum: 301
    [    0.028520] LSM: Security Framework initializing
    [    0.033342] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.040922] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.050337] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.057769] cblist_init_generic: Setting shift to 2 and lim to 1.
    [    0.064058] cblist_init_generic: Setting adjustable number of callback queues.
    [    0.071452] cblist_init_generic: Setting shift to 2 and lim to 1.
    [    0.077818] rcu: Hierarchical SRCU implementation.
    [    0.082723] rcu: 	Max phase no-delay instances is 1000.
    [    0.088279] Platform MSI: msi-controller@1820000 domain created
    [    0.094529] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.104364] EFI services will not be available.
    [    0.109219] smp: Bringing up secondary CPUs ...
    [    0.114408] Detected VIPT I-cache on CPU1
    [    0.114497] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [    0.114513] GICv3: CPU1: using allocated LPI pending table @0x0000000880060000
    [    0.114556] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.115152] Detected VIPT I-cache on CPU2
    [    0.115218] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [    0.115232] GICv3: CPU2: using allocated LPI pending table @0x0000000880070000
    [    0.115262] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [    0.115788] Detected VIPT I-cache on CPU3
    [    0.115855] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [    0.115868] GICv3: CPU3: using allocated LPI pending table @0x0000000880080000
    [    0.115894] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [    0.115957] smp: Brought up 1 node, 4 CPUs
    [    0.195677] SMP: Total of 4 processors activated.
    [    0.200490] CPU features: detected: 32-bit EL0 Support
    [    0.205758] CPU features: detected: CRC32 instructions
    [    0.211068] CPU: All CPU(s) started at EL2
    [    0.215265] alternatives: applying system-wide alternatives
    [    0.222452] devtmpfs: initialized
    [    0.233659] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.243666] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.263869] pinctrl core: initialized pinctrl subsystem
    [    0.269728] DMI not present or invalid.
    [    0.274194] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    [    0.281119] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
    [    0.288554] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.296630] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.304788] audit: initializing netlink subsys (disabled)
    [    0.310431] audit: type=2000 audit(0.200:1): state=initialized audit_enabled=0 res=1
    [    0.310831] thermal_sys: Registered thermal governor 'step_wise'
    [    0.318357] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.324532] cpuidle: using governor menu
    [    0.335362] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.342378] ASID allocator initialised with 65536 entries
    [    0.358607] platform 30200000.dss: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.369809] platform connector: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/sii9022@3b
    [    0.379269] KASLR disabled due to lack of seed
    [    0.390324] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.397287] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
    [    0.403697] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.410636] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
    [    0.417044] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.423982] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
    [    0.430390] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.437329] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
    [    0.445189] k3-chipinfo 43000014.chipid: Family:AM62AX rev:SR1.0 JTAGID[0x0bb8d02f] Detected
    [    0.455112] iommu: Default domain type: Translated 
    [    0.460127] iommu: DMA domain TLB invalidation policy: strict mode 
    [    0.466796] SCSI subsystem initialized
    [    0.470751] libata version 3.00 loaded.
    [    0.470936] usbcore: registered new interface driver usbfs
    [    0.476580] usbcore: registered new interface driver hub
    [    0.482031] usbcore: registered new device driver usb
    [    0.487648] pps_core: LinuxPPS API ver. 1 registered
    [    0.492727] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.502077] PTP clock support registered
    [    0.506195] EDAC MC: Ver: 3.0.0
    [    0.510156] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fca100
    [    0.516973] omap-mailbox 29010000.mailbox: omap mailbox rev 0x66fca100
    [    0.523772] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fca100
    [    0.530498] omap-mailbox 29030000.mailbox: no available mbox devices found
    [    0.537892] FPGA manager framework
    [    0.541431] Advanced Linux Sound Architecture Driver Initialized.
    [    0.548476] clocksource: Switched to clocksource arch_sys_counter
    [    0.554915] VFS: Disk quotas dquot_6.6.0
    [    0.558961] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.571545] Carveout Heap: Exported 176 MiB at 0x00000000a3000000
    [    0.577887] NET: Registered PF_INET protocol family
    [    0.583061] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [    0.593407] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
    [    0.602214] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.610149] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.618445] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
    [    0.626786] TCP: Hash tables configured (established 32768 bind 32768)
    [    0.633649] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.640600] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [    0.648109] NET: Registered PF_UNIX/PF_LOCAL protocol family
    [    0.654271] RPC: Registered named UNIX socket transport module.
    [    0.660344] RPC: Registered udp transport module.
    [    0.665154] RPC: Registered tcp transport module.
    [    0.669961] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.676552] NET: Registered PF_XDP protocol family
    [    0.681461] PCI: CLS 0 bytes, default 64
    [    0.686097] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.695838] Initialise system trusted keyrings
    [    0.700593] workingset: timestamp_bits=46 max_order=20 bucket_order=0
    [    0.712617] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.719161] NFS: Registering the id_resolver key type
    [    0.724365] Key type id_resolver registered
    [    0.728643] Key type id_legacy registered
    [    0.732803] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.739659] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.747382] 9p: Installing v9fs 9p2000 file system support
    [    0.787031] Key type asymmetric registered
    [    0.791221] Asymmetric key parser 'x509' registered
    [    0.796247] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.803940] io scheduler mq-deadline registered
    [    0.808578] io scheduler kyber registered
    [    0.815328] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [    0.821634] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [    0.828408] pinctrl-single a40000.pinctrl: 512 pins, size 2048
    [    0.841177] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [    0.854726] loop: module loaded
    [    0.859195] megasas: 07.719.03.00-rc1
    [    0.866568] tun: Universal TUN/TAP device driver, 1.6
    [    0.872387] thunder_xcv, ver 1.0
    [    0.875728] thunder_bgx, ver 1.0
    [    0.879052] nicpf, ver 1.0
    [    0.882195] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
    [    0.889588] hns3: Copyright (c) 2017 Huawei Corporation.
    [    0.895070] hclge is initializing
    [    0.898472] e1000: Intel(R) PRO/1000 Network Driver
    [    0.903457] e1000: Copyright (c) 1999-2006 Intel Corporation.
    [    0.909369] e1000e: Intel(R) PRO/1000 Network Driver
    [    0.914444] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [    0.920522] igb: Intel(R) Gigabit Ethernet Network Driver
    [    0.926041] igb: Copyright (c) 2007-2014 Intel Corporation.
    [    0.931762] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.938169] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.944338] sky2: driver version 1.30
    [    0.948725] VFIO - User Level meta-driver version: 0.3
    [    0.954620] usbcore: registered new interface driver usb-storage
    [    0.961436] i2c_dev: i2c /dev entries driver
    [    0.967835] sdhci: Secure Digital Host Controller Interface driver
    [    0.974180] sdhci: Copyright(c) Pierre Ossman
    [    0.979075] Synopsys Designware Multimedia Card Interface Driver
    [    0.985618] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.992336] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.998649] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    1.005561] usbcore: registered new interface driver usbhid
    [    1.011265] usbhid: USB HID core driver
    [    1.016331] optee: probing for conduit method.
    [    1.020914] optee: revision 3.20 (8e74d476)
    [    1.021168] optee: dynamic shared memory is enabled
    [    1.030786] optee: initialized driver
    [    1.036057] Initializing XFRM netlink socket
    [    1.040479] NET: Registered PF_PACKET protocol family
    [    1.045762] 9pnet: Installing 9P2000 support
    [    1.050181] Key type dns_resolver registered
    [    1.054896] registered taskstats version 1
    [    1.059115] Loading compiled-in X.509 certificates
    [    1.071340] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.0.7--v09.00.07 (Kool Koala)')
    [    1.110510] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.117551] pca953x 1-0023: supply vcc not found, using dummy regulator
    [    1.124452] pca953x 1-0023: using AI
    [    1.151028] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.180715] i2c i2c-2: Added multiplexed i2c bus 3
    [    1.185901] i2c 4-0010: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    1.195669] i2c i2c-2: Added multiplexed i2c bus 4
    [    1.200575] pca954x 2-0071: registered 2 multiplexed busses for I2C switch pca9543
    [    1.208434] omap_i2c 20020000.i2c: bus 2 rev0.12 at 400 kHz
    [    1.214388] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [    1.222711] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.231915] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.240898] ti-sci-inta 4e0a0000.interrupt-controller: Interrupt Aggregator domain 200 created
    [    1.250580] ti-udma 485c0100.dma-controller: Number of rings: 82
    [    1.258615] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [    1.269371] ti-udma 485c0000.dma-controller: Number of rings: 150
    [    1.279031] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [    1.288307] ti-udma 4e230000.dma-controller: Number of rings: 6
    [    1.294769] ti-udma 4e230000.dma-controller: Channels: 6 (bchan: 0, tchan: 0, rchan: 6)
    [    1.303980] printk: console [ttyS2] disabled
    [    1.308415] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 252, base_baud = 3000000) is a 8250
    [    1.317295] printk: console [ttyS2] enabled
    [    1.325753] printk: bootconsole [ns16550a0] disabled
    [    1.337908] spi-nand spi0.0: Winbond SPI NAND was found.
    [    1.343243] spi-nand spi0.0: 128 MiB, block size: 256 KiB, page size: 4096, OOB size: 128
    [    1.351579] 7 fixed-partitions partitions found on MTD device spi0.0
    [    1.357934] Creating 7 MTD partitions on "spi0.0":
    [    1.362719] 0x000000000000-0x000000080000 : "ospi_nand.tiboot3"
    [    1.369915] 0x000000080000-0x000000280000 : "ospi_nand.tispl"
    [    1.377437] 0x000000280000-0x000000680000 : "ospi_nand.u-boot"
    [    1.385802] 0x000000680000-0x0000006c0000 : "ospi_nand.env"
    [    1.392432] 0x0000006c0000-0x000000700000 : "ospi_nand.env.backup"
    [    1.399662] 0x000002000000-0x000007fc0000 : "ospi_nand.rootfs"
    [    1.443443] 0x000007fc0000-0x000008000000 : "ospi_nand.phypattern"
    [    1.488499] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.497554] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    1.505686] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
    [    1.518462] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [    1.525589] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.531919] pps pps0: new PPS source ptp0
    [    1.536180] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.546180] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [    1.656923] mmc0: CQHCI version 5.10
    [    1.701732] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.801341] mmc0: Command Queue Engine enabled
    [    1.805828] mmc0: new HS200 MMC card at address 0001
    [    1.811532] mmcblk0: mmc0:0001 G1M15L 29.6 GiB 
    [    1.818625]  mmcblk0: p1 p2
    [    1.821996] mmcblk0boot0: mmc0:0001 G1M15L 31.5 MiB 
    [    1.827864] mmcblk0boot1: mmc0:0001 G1M15L 31.5 MiB 
    [    1.833630] mmcblk0rpmb: mmc0:0001 G1M15L 4.00 MiB, chardev (240:0)
    [    2.029521] tps6594-rtc tps6594-rtc.4.auto: registered as rtc0
    [    2.036410] tps6594-rtc tps6594-rtc.4.auto: setting system clock to 2023-11-29T08:33:46 UTC (1701246826)
    [    2.046312] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    2.053118] pca953x 1-0022: using AI
    [    2.064608] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.077728] mmc1: CQHCI version 5.10
    [    2.077896] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.088683] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [    2.101588] ALSA device list:
    [    2.105342]   No soundcards found.
    [    2.123260] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.130923] Waiting for root device PARTUUID=b3ea3bda-02...
    [    2.204088] mmc1: new ultra high speed SDR104 SDHC card at address 59b4
    [    2.212951] mmcblk1: mmc1:59b4 SN32G 29.7 GiB 
    [    2.220061]  mmcblk1: p1 p2
    [    2.243799] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
    [    2.252405] VFS: Mounted root (ext4 filesystem) on device 179:98.
    [    2.259389] devtmpfs: mounted
    [    2.262962] Freeing unused kernel memory: 2176K
    [    2.267607] Run /sbin/init as init process
    [    2.271706]   with arguments:
    [    2.271709]     /sbin/init
    [    2.271712]   with environment:
    [    2.271715]     HOME=/
    [    2.271718]     TERM=linux
    [    2.544786] NET: Registered PF_INET6 protocol family
    [    2.551772] Segment Routing with IPv6
    [    2.555532] In-situ OAM (IOAM) with IPv6
    [    2.587267] systemd[1]: systemd 250.5+ 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 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
    [    2.619398] systemd[1]: Detected architecture arm64.
    [    2.693911] systemd[1]: Hostname set to <am62axx-evm>.
    [    2.816957] systemd-sysv-generator[153]: SysV service '/etc/init.d/netopeer2-server' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.843163] systemd-sysv-generator[153]: SysV service '/etc/init.d/edgeai-launcher.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.868033] systemd-sysv-generator[153]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.892740] systemd-sysv-generator[153]: SysV service '/etc/init.d/telnetd' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    2.916556] systemd-sysv-generator[153]: SysV service '/etc/init.d/sysrepo' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
    [    3.243943] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    3.308697] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    3.380455] systemd[1]: Queued start job for default target Graphical Interface.
    [    3.444005] systemd[1]: Created slice Slice /system/getty.
    [    3.467228] systemd[1]: Created slice Slice /system/modprobe.
    [    3.491699] systemd[1]: Created slice Slice /system/serial-getty.
    [    3.516579] systemd[1]: Created slice User and Session Slice.
    [    3.541657] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    3.564903] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    3.589063] systemd[1]: Reached target Path Units.
    [    3.604779] systemd[1]: Reached target Remote File Systems.
    [    3.624838] systemd[1]: Reached target Slice Units.
    [    3.640897] systemd[1]: Reached target Swaps.
    [    3.707190] systemd[1]: Listening on RPCbind Server Activation Socket.
    [    3.729047] systemd[1]: Reached target RPC Port Mapper.
    [    3.769084] systemd[1]: Listening on Process Core Dump Socket.
    [    3.793457] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [    3.820040] systemd[1]: Listening on Journal Audit Socket.
    [    3.843093] systemd[1]: Listening on Journal Socket (/dev/log).
    [    3.867192] systemd[1]: Listening on Journal Socket.
    [    3.888234] systemd[1]: Listening on Network Service Netlink Socket.
    [    3.915548] systemd[1]: Listening on udev Control Socket.
    [    3.938672] systemd[1]: Listening on udev Kernel Socket.
    [    3.962960] systemd[1]: Listening on User Database Manager Socket.
    [    4.025171] systemd[1]: Mounting Huge Pages File System...
    [    4.059528] systemd[1]: Mounting POSIX Message Queue File System...
    [    4.091538] systemd[1]: Mounting Kernel Debug File System...
    [    4.109796] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.134508] systemd[1]: Mounting Temporary Directory /tmp...
    [    4.163632] systemd[1]: Starting Create List of Static Device Nodes...
    [    4.213370] systemd[1]: Starting Load Kernel Module configfs...
    [    4.237212] systemd[1]: Starting Load Kernel Module drm...
    [    4.258731] systemd[1]: Starting Load Kernel Module fuse...
    [    4.312404] fuse: init (API version 7.37)
    [    4.329443] systemd[1]: Starting Start psplash boot splash screen...
    [    4.360019] systemd[1]: Starting RPC Bind...
    [    4.376935] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
    [    4.398664] systemd[1]: Starting Journal Service...
    [    4.420917] systemd[1]: Starting Load Kernel Modules...
    [    4.445824] systemd[1]: Starting Generate network units from Kernel command line...
    [    4.473718] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    4.492966] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
    [    4.504222] systemd[1]: Starting Coldplug All udev Devices...
    [    4.530065] systemd[1]: Started RPC Bind.
    [    4.545205] systemd[1]: Started Journal Service.
    [    4.953952] systemd-journald[169]: Received client request to flush runtime journal.
    [    5.177175] audit: type=1334 audit(1701246829.640:2): prog-id=5 op=LOAD
    [    5.183965] audit: type=1334 audit(1701246829.644:3): prog-id=6 op=LOAD
    [    5.796841] random: crng init done
    [    5.902550] tlv320aic3x 1-001b: supply DVDD not found, using dummy regulator
    [    5.963631] mc: Linux media interface: v0.10
    [    6.003924] videodev: Linux video capture interface: v2.00
    [    6.050333] platform 79000000.r5f: configured R5F for remoteproc mode
    [    6.053187] k3-dsp-rproc 7e000000.dsp: assigned reserved memory node c7x-dma-memory@99800000
    [    6.057889] platform 79000000.r5f: assigned reserved memory node r5f-dma-memory@9b800000
    [    6.065901] k3-dsp-rproc 7e000000.dsp: configured DSP for remoteproc mode
    [    6.069457] ov5647 4-0010: ov5647_write: i2c write error, reg: 0x3000
    [    6.069475] ov5647 4-0010: write sensor_oe_enable_regs error
    [    6.069500] ov5647: probe of 4-0010 failed with error -121
    [    6.098340] remoteproc remoteproc1: 7e000000.dsp is available
    [    6.100713] remoteproc remoteproc0: 79000000.r5f is available
    [    6.119524] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [    6.132102] platform 78000000.r5f: configured R5F for IPC-only mode
    [    6.139120] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9c800000
    [    6.149041] remoteproc remoteproc0: powering up 79000000.r5f
    [    6.152080] remoteproc remoteproc2: 78000000.r5f is available
    [    6.163404] remoteproc remoteproc0: Booting fw image am62a-mcu-r5f0_0-fw, size 53556
    [    6.168626] remoteproc remoteproc2: attaching to 78000000.r5f
    [    6.179833] platform 78000000.r5f: R5F core initialized in IPC-only mode
    [    6.180373] rproc-virtio rproc-virtio.6.auto: assigned reserved memory node r5f-dma-memory@9b800000
    [    6.186889] rproc-virtio rproc-virtio.5.auto: assigned reserved memory node r5f-dma-memory@9c800000
    [    6.202265] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    6.210908] rproc-virtio rproc-virtio.6.auto: registered virtio0 (type 7)
    [    6.215846] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    6.229073] rproc-virtio rproc-virtio.5.auto: registered virtio1 (type 7)
    [    6.232543] remoteproc remoteproc0: remote processor 79000000.r5f is now up
    [    6.236590] remoteproc remoteproc2: remote processor 78000000.r5f is now attached
    [    6.243166] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xd
    [    6.257976] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.265718] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    6.289289] remoteproc remoteproc1: powering up 7e000000.dsp
    [    6.295170] remoteproc remoteproc1: Booting fw image am62a-c71_0-fw, size 6897744
    [    6.310693] k3-dsp-rproc 7e000000.dsp: booting DSP core using boot addr = 0x99a00000
    [    6.325557] rproc-virtio rproc-virtio.7.auto: assigned reserved memory node c7x-dma-memory@99800000
    [    6.341473] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    6.342928] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xd
    [    6.350876] rproc-virtio rproc-virtio.7.auto: registered virtio2 (type 7)
    [    6.356323] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0x15
    [    6.360975] remoteproc remoteproc1: remote processor 7e000000.dsp is now up
    [    6.368285] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xe
    [    6.387022] mtdblock: MTD device 'ospi_nand.tispl' is NAND, please consider using UBI block devices instead.
    [    6.388939] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    6.392081] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0x15
    [    6.392211] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xe
    [    6.399432] vdec 30210000.video-codec: error -ENXIO: IRQ index 0 not found
    [    6.423295] e5010 fd20000.e5010: Device registered as /dev/video0
    [    6.424405] vdec 30210000.video-codec: failed to get irq resource, falling back to polling
    [    6.448643] mtdblock: MTD device 'ospi_nand.env' is NAND, please consider using UBI block devices instead.
    [    6.464742] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    6.505911] mtdblock: MTD device 'ospi_nand.rootfs' is NAND, please consider using UBI block devices instead.
    [    6.524599] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    6.528141] sii902x 1-003b: supply iovcc not found, using dummy regulator
    [    6.547588] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    6.563131] sii902x 1-003b: supply cvcc12 not found, using dummy regulator
    [    6.579776] i2c i2c-1: Added multiplexed i2c bus 5
    [    6.656794] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
    [    6.735436] Console: switching to colour frame buffer device 240x67
    [    6.772779] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
    [    6.989819] audit: type=1334 audit(1701246831.452:4): prog-id=7 op=LOAD
    [    7.001571] audit: type=1334 audit(1701246831.460:5): prog-id=8 op=LOAD
    [    7.115024] Bluetooth: Core ver 2.22
    [    7.118898] NET: Registered PF_BLUETOOTH protocol family
    [    7.128067] Bluetooth: HCI device and connection manager initialized
    [    7.136196] Bluetooth: HCI socket layer initialized
    [    7.141268] Bluetooth: L2CAP socket layer initialized
    [    7.146449] Bluetooth: SCO socket layer initialized
    [    7.357799] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    7.392571] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    7.409513] mtdblock: MTD device 'ospi_nand.phypattern' is NAND, please consider using UBI block devices instead.
    [    7.457419] mtdblock: MTD device 'ospi_nand.env.backup' is NAND, please consider using UBI block devices instead.
    [    7.519615] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    7.615075] mtdblock: MTD device 'ospi_nand.u-boot' is NAND, please consider using UBI block devices instead.
    [    7.615627] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    7.683553] mtdblock: MTD device 'ospi_nand.rootfs' is NAND, please consider using UBI block devices instead.
    [    7.699676] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    7.718344] mtdblock: MTD device 'ospi_nand.tiboot3' is NAND, please consider using UBI block devices instead.
    [    7.740177] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    7.788432] tps6598x 0-003f: Unable to find the interrupt, switching to polling
    [    7.851586] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [    7.863709] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [    7.899666] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY
    [    7.913132] xhci-hcd xhci-hcd.9.auto: xHCI Host Controller
    [    7.920092] xhci-hcd xhci-hcd.9.auto: new USB bus registered, assigned bus number 1
    [    7.929278] xhci-hcd xhci-hcd.9.auto: USB3 root hub has no ports
    [    7.942674] xhci-hcd xhci-hcd.9.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
    [    7.959471] xhci-hcd xhci-hcd.9.auto: irq 549, io mem 0x31100000
    [    7.966741] hub 1-0:1.0: USB hub found
    [    7.982737] hub 1-0:1.0: 1 port detected
    [    8.286959] mtdblock: MTD device 'ospi_nand.env' is NAND, please consider using UBI block devices instead.
    [    8.316270] mtdblock: MTD device 'ospi_nand.tispl' is NAND, please consider using UBI block devices instead.
    [    8.951782] audit: type=1334 audit(1701246833.412:6): prog-id=9 op=LOAD
    [    8.961051] audit: type=1334 audit(1701246833.420:7): prog-id=10 op=LOAD
    [    9.497829] audit: type=1006 audit(1701246833.960:8): pid=671 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
    [    9.518816] audit: type=1300 audit(1701246833.960:8): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffed54b768 a2=4 a3=ffffa708a020 items=0 ppid=1 pid=671 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="/lib/systemd/systemd" key=(null)
    [    9.550795] audit: type=1327 audit(1701246833.960:8): proctitle="(systemd)"
    [   10.244430] audit: type=1006 audit(1701246834.704:9): pid=610 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
    [   10.257697] audit: type=1300 audit(1701246834.704:9): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffed54b768 a2=4 a3=ffffa708a020 items=0 ppid=1 pid=610 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="/lib/systemd/systemd" key=(null)
    [   10.284593] audit: type=1327 audit(1701246834.704:9): proctitle="(weston)"
    [   10.954201] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [   10.962789] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   33.055438] audit: type=1006 audit(1701246857.516:10): pid=910 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=3 res=1
    [   33.068001] audit: type=1300 audit(1701246857.516:10): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffed54b768 a2=1 a3=ffffa708a020 items=0 ppid=1 pid=910 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="/lib/systemd/systemd" key=(null)
    [   33.094433] audit: type=1327 audit(1701246857.516:10): proctitle="(systemd)"
    [   33.101600] audit: type=1334 audit(1701246857.540:11): prog-id=11 op=LOAD
    [   33.108546] audit: type=1300 audit(1701246857.540:11): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffcbb1b7c0 a2=78 a3=0 items=0 ppid=1 pid=910 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="/lib/systemd/systemd" key=(null)
    [   33.134033] audit: type=1327 audit(1701246857.540:11): proctitle="(systemd)"
    [   33.141206] audit: type=1334 audit(1701246857.556:12): prog-id=11 op=UNLOAD
    [   33.148299] audit: type=1334 audit(1701246857.556:13): prog-id=12 op=LOAD
    [   33.155151] audit: type=1300 audit(1701246857.556:13): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffcbb1b860 a2=78 a3=0 items=0 ppid=1 pid=910 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="/lib/systemd/systemd" key=(null)
    [   33.180547] audit: type=1327 audit(1701246857.556:13): proctitle="(systemd)"
    

     

    It hasn't been successfully mounted on the I2C bus yet.

     

     

    Best Regards,

    Ruihua

  • Hi Ruihua,

    Thanks for the additional debug information. It seems like the sensor may not be powered on. Can you try a few things?

    1. make sure the flex cable is inserted into both the camera module and the EVM properly. The pins on the flex cable should be in contact with the pins on the camera module and the EVM. If you don't mind, can you share a picture of your setup? Also, which camera module are you using?

    2. I noticed you have the following in your device tree overlay:

    reset-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;

    This should work, but can you try the following which works for me:

    pwdn-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;

    Regards,

    Jianzhong

  • Hi Jianzhong,

    Thanks for your answer.

     

      After adding this line of code it is OK.

    pwdn-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;

      

    Q1: According to the log information below, is this an issue?

    ov5647 4-0036: Consider updating driver ov5647 to match on endpoints

     

    Q2:The following command is to open imx219. I want to use the ov5647 sensor like IMX219. Does TI have any guidance documents? I saw a case about this, but it was for SDK 8.6, so I can’t refer to it.

    media-ctl -V '"imx219 4-0010":0 [fmt:SRGGB10_1X10/1920x1080 field:none]'
    
    gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
      video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb10 ! \
      tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
      dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b.bin format-msb=9 ! \
      video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! kmssink driver-name=tidss

     

    Best Rrgards,

    Ruihua

  • Hi Ruihua,

    Q1: According to the log information below, is this an issue?

    This is not a big issue, but you can try to replace ov5647.c with the latest in mainline linux: https://github.com/torvalds/linux/blob/master/drivers/media/i2c/ov5647.c

    Q2:The following command is to open imx219. I want to use the ov5647 sensor like IMX219. Does TI have any guidance documents?

    Please refer to the AM6xA ISP Tuning Guide, section 5.2 Updating GStreamer Plugins to Support the Sensor.

    Here I attached the two necessary source files to get you started:

    • tiovx_sensor_module.c
    • gsttiovxisp.c

    Please follow the instructions in the ISP Tuning Guide to rebuild the necessary modules in 9.0.

    I also attached the ISP configuration binaries that should give you a reasonably good image quality. To further improve image quality, you can continue to tune the ISP using TI's DCC Tuning Tool.

    With these, you should be able to stream from OV5647. Below is an example GStreamer pipeline: 

    media-ctl --set-v4l2 '"ov5647 4-0036":0 [fmt:SBGGR10_1X10/1920x1080]'
    
    gst-launch-1.0 -v v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
    video/x-bayer, width=1920, height=1080, framerate=30/1, format=bggr10 ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_OV5647_RPI" \
    dcc-isp-file=/opt/imaging/ov5647/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/ov5647/linear/dcc_2a.bin format-msb=9 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! kmssink driver-name=tidss
    

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/dcc_5F00_viss.binhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/dcc_5F00_2a.bin5481.gsttiovxisp.c

    /*
     *
     * Copyright (c) 2020 Texas Instruments Incorporated
     *
     * All rights reserved not granted herein.
     *
     * Limited License.
     *
     * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
     * license under copyrights and patents it now or hereafter owns or controls to make,
     * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
     * terms herein.  With respect to the foregoing patent license, such license is granted
     * solely to the extent that any such patent is necessary to Utilize the software alone.
     * The patent license shall not apply to any combinations which include this software,
     * other than combinations with devices manufactured by or for TI ("TI Devices").
     * No hardware patent is licensed hereunder.
     *
     * Redistributions must preserve existing copyright notices and reproduce this license
     * (including the above copyright notice and the disclaimer and (if applicable) source
     * code license limitations below) in the documentation and/or other materials provided
     * with the distribution
     *
     * Redistribution and use in binary form, without modification, are permitted provided
     * that the following conditions are met:
     *
     * *       No reverse engineering, decompilation, or disassembly of this software is
     * permitted with respect to any software provided in binary form.
     *
     * *       any redistribution and use are licensed by TI for use only with TI Devices.
     *
     * *       Nothing shall obligate TI to provide you with source code for the software
     * licensed and provided to you in object code.
     *
     * If software source code is provided to you, modification and redistribution of the
     * source code are permitted provided that the following conditions are met:
     *
     * *       any redistribution and use of the source code, including any resulting derivative
     * works, are licensed by TI for use only with TI Devices.
     *
     * *       any redistribution and use of any object code compiled from the source code
     * and any resulting derivative works, are licensed by TI for use only with TI Devices.
     *
     * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
     *
     * may be used to endorse or promote products derived from this software without
     * specific prior written permission.
     *
     * DISCLAIMER.
     *
     * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
     * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     * OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     */
    
    #include <tiovx_sensor_module.h>
    
    static char availableSensorNames[ISS_SENSORS_MAX_SUPPORTED_SENSOR][ISS_SENSORS_MAX_NAME];
    
    vx_status tiovx_sensor_module_query(SensorObj *sensorObj)
    {
        vx_status status = VX_SUCCESS;
        char* sensor_list[ISS_SENSORS_MAX_SUPPORTED_SENSOR];
        vx_uint16 selectedSensor = 0xFFF;
        vx_uint8 sensors_detected[ISS_SENSORS_MAX_SUPPORTED_SENSOR];
        vx_bool sensorSelected = vx_false_e;
        vx_bool ldcSelected = vx_false_e;
        int32_t i;
    
        memset(availableSensorNames, 0, ISS_SENSORS_MAX_SUPPORTED_SENSOR*ISS_SENSORS_MAX_NAME);
        for(i = 0; i < ISS_SENSORS_MAX_SUPPORTED_SENSOR; i++)
        {
            sensor_list[i] = availableSensorNames[i];
        }
    
        memset(&sensorObj->sensorParams, 0, sizeof(IssSensor_CreateParams));
        status = appEnumerateImageSensor(sensor_list, &sensorObj->num_sensors_found);
        if(VX_SUCCESS != status)
        {
            TIOVX_MODULE_ERROR("appCreateImageSensor failed, returned status = %d\n", status);
            return status;
        }
    
        if(sensorObj->is_interactive == 1)
        {
            vx_char ch = 0;
            int ch_id;
    
            while(sensorSelected != vx_true_e)
            {
                printf("%d sensor(s) found \n", sensorObj->num_sensors_found);
                printf("Supported sensor list: \n");
                for(i = 0; i < sensorObj->num_sensors_found; i++)
                {
                    printf("%c : %s \n", i+'a', sensor_list[i]);
                }
    
                printf("Select a sensor above or press '0' to autodetect the sensor \n");
                ch = getchar();
                if(ch == '0')
                {
                    uint8_t num_sensors_found= 0;
                    uint16_t channel_mask = 0xFFF;
                    /*AutoDetect*/
                    memset(sensors_detected, 0xFFF, ISS_SENSORS_MAX_SUPPORTED_SENSOR);
                    status = appDetectImageSensor(sensors_detected, &num_sensors_found, channel_mask);
                    if(0 == status)
                    {
                        int detected_sensor_index;
                        char * detected_sensor_name;
                        for(ch_id=0;ch_id<ISS_SENSORS_MAX_SUPPORTED_SENSOR;ch_id++)
                        {
                            detected_sensor_index = sensors_detected[ch_id];
                            if(detected_sensor_index < ISS_SENSORS_MAX_SUPPORTED_SENSOR)
                            {
                                detected_sensor_name = sensor_list[detected_sensor_index];
                                printf("sensor detected at channel %d = %s \n", ch_id, detected_sensor_name);
                            }
                            else
                            {
                                printf("sensor detected at channel %d = None \n", ch_id);
                            }
                        }
                    }
                    else
                    {
                        TIOVX_MODULE_ERROR("appDetectImageSensor failed with error = 0x%x \n", status);
                    }
                }
                else
                {
                    selectedSensor = ch - 'a';
                    /*Assume all cameras are identical*/
                    for(ch_id=0;ch_id<ISS_SENSORS_MAX_SUPPORTED_SENSOR;ch_id++)
                    {
                        sensors_detected[ch_id] = selectedSensor;
                    }
                }
    
                //TODO : sensor properties need to be queried. 
                //Currently this is supported for cam0 only
                selectedSensor = sensors_detected[0];
                if(selectedSensor > (sensorObj->num_sensors_found-1))
                {
                    TIOVX_MODULE_ERROR("Invalid selection %d. Try again \n", selectedSensor);
                }
                else
                {
                    snprintf(sensorObj->sensor_name, ISS_SENSORS_MAX_NAME, "%s", sensor_list[selectedSensor]);
    
                    printf("Sensor selected : %s\n", sensorObj->sensor_name);
    
                    printf("Querying %s \n", sensorObj->sensor_name);
                    status = appQueryImageSensor(sensorObj->sensor_name, &sensorObj->sensorParams);
                    if(VX_SUCCESS != status)
                    {
                        TIOVX_MODULE_ERROR("appQueryImageSensor returned %d\n", status);
                        return status;
                    }
    
                    if(sensorObj->sensorParams.sensorInfo.raw_params.format[0].pixel_container == VX_DF_IMAGE_UYVY)
                    {
                        /* sensor_out_format = 1 for YUV */
                        sensorObj->sensor_out_format = 1;
                    }
                    else
                    {   
                        /* sensor_out_format = 1 for RAW */
                        sensorObj->sensor_out_format = 0;
                    }
    
                    sensorSelected = vx_true_e;
                }
            }
    
            while (ldcSelected != vx_true_e)
            {
                fflush (stdin);
                printf ("LDC Selection Yes(1)/No(0)\n");
                ch = getchar();
                sensorObj->enable_ldc = ch - '0';
    
                if((sensorObj->enable_ldc > 1) || (sensorObj->enable_ldc < 0))
                {
                    TIOVX_MODULE_ERROR("Invalid selection %c. Try again \n", ch);
                }
                else
                {
                    ldcSelected = vx_true_e;
                }
            }
    
            sensorObj->num_cameras_enabled = 0;
            while(sensorObj->num_cameras_enabled == 0)
            {
                char c;
                int ret;
                int num_cameras;
                fflush(stdin);
                printf("Max number of cameras supported by sensor %s = %d \n", sensorObj->sensor_name, sensorObj->sensorParams.num_channels);
                printf("Please enter number of cameras to be enabled \n");
                ret = scanf("%d", &num_cameras);
                while ((c = getchar()) != '\n' && c != EOF);
                sensorObj->num_cameras_enabled = num_cameras;
    
                if( (1==ret) &&
                    ( (sensorObj->num_cameras_enabled > sensorObj->sensorParams.num_channels) ||
                    (sensorObj->num_cameras_enabled <= 0) ) )
                {
                    sensorObj->num_cameras_enabled = 0;
                    TIOVX_MODULE_ERROR("Invalid selection %d. Try again \n", num_cameras);
                }
                else if((sensorObj->num_cameras_enabled > ISS_SENSORS_MAX_SUPPORTED_SENSOR))
                {
                    sensorObj->num_cameras_enabled = 0;
                    TIOVX_MODULE_ERROR("Number of cameras should not be greater than %d. \n", ISS_SENSORS_MAX_SUPPORTED_SENSOR);
                    TIOVX_MODULE_ERROR("Invalid selection %d. Try again \n", num_cameras);
                }
            }
            sensorObj->ch_mask = (1<<sensorObj->num_cameras_enabled) - 1;
        }
        else /* (sensorObj->is_interactive != 1), that means non interactive case */
        {
            /* Need to populate sensorObj->sensor_index from application */
            selectedSensor = sensorObj->sensor_index;
            if(selectedSensor > (sensorObj->num_sensors_found-1))
            {
                TIOVX_MODULE_ERROR("Invalid selection from application: %d. Exiting. \n", selectedSensor);
                return -1;
            }
            else
            {
                snprintf(sensorObj->sensor_name, ISS_SENSORS_MAX_NAME, "%s", sensor_list[selectedSensor]);
                printf("Sensor selected : %s\n", sensorObj->sensor_name);
    
                printf("Querying %s \n", sensorObj->sensor_name);
                status = appQueryImageSensor(sensorObj->sensor_name, &sensorObj->sensorParams);
                if(VX_SUCCESS != status)
                {
                    TIOVX_MODULE_ERROR("appQueryImageSensor returned %d\n", status);
                    return status;
                }
    
                if(sensorObj->sensorParams.sensorInfo.raw_params.format[0].pixel_container == VX_DF_IMAGE_UYVY)
                {
                    /* sensor_out_format = 1 for YUV */
                    sensorObj->sensor_out_format = 1;
                }
                else
                {
                    /* sensor_out_format = 0 for RAW */
                    sensorObj->sensor_out_format = 0;
                }
    
                sensorSelected = vx_true_e;
            }
    
            if(sensorObj->ch_mask > 0)
            {
                vx_uint32 mask = sensorObj->ch_mask;
                sensorObj->num_cameras_enabled = 0;
                while(mask > 0)
                {
                    if(mask & 0x1)
                    {
                        sensorObj->num_cameras_enabled++;
                    }            
                    mask = mask >> 1;
                }
            }
        }
    
        /*
        Check for supported sensor features.
        It is upto the application to decide which features should be enabled.
        This demo app enables WDR, DCC and 2A if the sensor supports it.
        */
    
        sensorObj->sensor_features_supported = sensorObj->sensorParams.sensorInfo.features;
    
        if(ISS_SENSOR_FEATURE_COMB_COMP_WDR_MODE == (sensorObj->sensor_features_supported & ISS_SENSOR_FEATURE_COMB_COMP_WDR_MODE))
        {
            TIOVX_MODULE_PRINTF("WDR mode is supported \n");
            sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_COMB_COMP_WDR_MODE;
            sensorObj->sensor_wdr_enabled = 1;
        }else
        {
            TIOVX_MODULE_PRINTF("WDR mode is not supported. Defaulting to linear \n");
            sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_LINEAR_MODE;
            sensorObj->sensor_wdr_enabled = 0;
        }
    
        if(ISS_SENSOR_FEATURE_MANUAL_EXPOSURE == (sensorObj->sensor_features_supported & ISS_SENSOR_FEATURE_MANUAL_EXPOSURE))
        {
            TIOVX_MODULE_PRINTF("Expsoure control is supported \n");
            sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_MANUAL_EXPOSURE;
            sensorObj->sensor_exp_control_enabled = 1;
        }
    
        if(ISS_SENSOR_FEATURE_MANUAL_GAIN == (sensorObj->sensor_features_supported & ISS_SENSOR_FEATURE_MANUAL_GAIN))
        {
            TIOVX_MODULE_PRINTF("Gain control is supported \n");
            sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_MANUAL_GAIN;
            sensorObj->sensor_gain_control_enabled = 1;
        }
    
        if(ISS_SENSOR_FEATURE_CFG_UC1 == (sensorObj->sensor_features_supported & ISS_SENSOR_FEATURE_CFG_UC1))
        {
            if(sensorObj->usecase_option == TIOVX_SENSOR_MODULE_FEATURE_CFG_UC1)
            {
                TIOVX_MODULE_PRINTF("CMS Usecase is supported \n");
                sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_CFG_UC1;
            }
        }
    
        if(ISS_SENSOR_FEATURE_DCC_SUPPORTED == (sensorObj->sensor_features_supported & ISS_SENSOR_FEATURE_DCC_SUPPORTED))
        {
            sensorObj->sensor_features_enabled |= ISS_SENSOR_FEATURE_DCC_SUPPORTED;
            sensorObj->sensor_dcc_enabled = 1;
            TIOVX_MODULE_PRINTF("Sensor DCC is enabled \n");
        }else
        {
            sensorObj->sensor_dcc_enabled = 0;
            TIOVX_MODULE_PRINTF("Sensor DCC is disabled \n");
        }
    
        sensorObj->image_width   = sensorObj->sensorParams.sensorInfo.raw_params.width;
        sensorObj->image_height  = sensorObj->sensorParams.sensorInfo.raw_params.height;
    
        TIOVX_MODULE_PRINTF("Sensor width = %d\n", sensorObj->sensorParams.sensorInfo.raw_params.width);
        TIOVX_MODULE_PRINTF("Sensor height = %d\n", sensorObj->sensorParams.sensorInfo.raw_params.height);
        TIOVX_MODULE_PRINTF("Sensor DCC ID = %d\n", sensorObj->sensorParams.dccId);
        TIOVX_MODULE_PRINTF("Sensor Supported Features = 0x%08X\n", sensorObj->sensor_features_supported);
        TIOVX_MODULE_PRINTF("Sensor Enabled Features = 0x%08X\n", sensorObj->sensor_features_enabled);
    
        return status;
    }
    
    vx_status tiovx_sensor_module_init(SensorObj *sensorObj, char *objName)
    {
        vx_status status = VX_SUCCESS;
        int32_t sensor_init_status = -1;
        int32_t ch_mask = sensorObj->ch_mask;
    
        sensor_init_status = appInitImageSensor(sensorObj->sensor_name, sensorObj->sensor_features_enabled, ch_mask);
        if(0 != sensor_init_status)
        {
            TIOVX_MODULE_ERROR("Error initializing sensor %s \n", sensorObj->sensor_name);
            status = VX_FAILURE;
        }
    
        return status;
    }
    
    void tiovx_sensor_module_deinit(SensorObj *sensorObj)
    {
        appDeInitImageSensor(sensorObj->sensor_name);
    }
    
    void tiovx_sensor_module_params_init(SensorObj *sensorObj)
    {
        strcpy(sensorObj->sensor_name, SENSOR_SONY_IMX390_UB953_D3);
        sensorObj->num_sensors_found = 0;
        sensorObj->sensor_features_enabled = 0;
        sensorObj->sensor_features_supported = 0;
        sensorObj->sensor_dcc_enabled = 0;
        sensorObj->sensor_wdr_enabled = 0;
        sensorObj->sensor_exp_control_enabled = 0;
        sensorObj->sensor_gain_control_enabled = 0;
        sensorObj->ch_mask = 1;
        sensorObj->enable_ldc = 1;
        sensorObj->num_cameras_enabled = 1;
        sensorObj->usecase_option = TIOVX_SENSOR_MODULE_FEATURE_CFG_UC0;
        sensorObj->is_interactive = 0;
        sensorObj->sensor_index = 0;
    }
    
    vx_status tiovx_sensor_module_start(SensorObj *sensorObj)
    {
        vx_status status = VX_SUCCESS;
    
        status = appStartImageSensor(sensorObj->sensor_name, sensorObj->ch_mask);
    
        return status;
    }
    
    vx_status tiovx_sensor_module_stop(SensorObj *sensorObj)
    {
        vx_status status = VX_SUCCESS;
    
        status = appStopImageSensor(sensorObj->sensor_name, sensorObj->ch_mask);
    
        return status;
    }
    
    
    
    /*****************************************************************************/
    
    /* THE BELOW APIS ARE ONLY USED BY EDGEAI-GST-APP STACK (EDGEAI_GST_PLUGINS) */
    
    vx_status tiovx_querry_sensor(SensorObj *sensorObj)
    {
        vx_status status = VX_SUCCESS;
    
        return (status);
    }
    
    vx_status tiovx_init_sensor(SensorObj *sensorObj, char *objName)
    {
        vx_status status = VX_SUCCESS;
        sensorObj->sensor_dcc_enabled=1;
        sensorObj->sensor_exp_control_enabled=0;
        sensorObj->sensor_gain_control_enabled=0;
        sensorObj->sensor_wdr_enabled=0;
        sensorObj->num_cameras_enabled=1;
        sensorObj->ch_mask=1;
        snprintf(sensorObj->sensor_name, ISS_SENSORS_MAX_NAME, "%s", objName);
    
        TIOVX_MODULE_PRINTF("[SENSOR-MODULE] Sensor name = %s\n", sensorObj->sensor_name);
    
        if(strcmp(sensorObj->sensor_name, "SENSOR_SONY_IMX390_UB953_D3") == 0)
        {
            sensorObj->sensorParams.dccId=390;
        }
        else if(strcmp(sensorObj->sensor_name, "SENSOR_ONSEMI_AR0820_UB953_LI") == 0)
        {
            sensorObj->sensorParams.dccId=820;
        }
        else if(strcmp(sensorObj->sensor_name, "SENSOR_ONSEMI_AR0233_UB953_MARS") == 0)
        {
            sensorObj->sensorParams.dccId=233;
        }
        else if(strcmp(sensorObj->sensor_name, "SENSOR_SONY_IMX219_RPI") == 0)
        {
            sensorObj->sensorParams.dccId=219;
        }
        else if(strcmp(sensorObj->sensor_name, "SENSOR_OV5647_RPI") == 0)
        {
            sensorObj->sensorParams.dccId=5647;
        }
        else if(strcmp(sensorObj->sensor_name, "SENSOR_OV2312_UB953_LI") == 0)
        {
            sensorObj->sensorParams.dccId=2312;
        }
        else
        {
            TIOVX_MODULE_ERROR("[SENSOR-MODULE] Invalid sensor name\n");
            status = VX_FAILURE;
        }
    
        TIOVX_MODULE_PRINTF("[SENSOR-MODULE] Dcc ID = %d\n", sensorObj->sensorParams.dccId);
    
        return status;
    }
    
    void tiovx_deinit_sensor(SensorObj *sensorObj)
    {
        return;
    }

    Regards,

    Jianzhong