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.

PROCESSOR-SDK-AM62X: Camera enablement on AM625

Part Number: PROCESSOR-SDK-AM62X

Hi Ti,

We are working on our custom board AM62X to enable camera.

Can you please provide the details how to enable it?

Is camera working on AM62x?

After configured the dts , i observed below dmesg logs

root@am62xx-evm:/home# dmesg | grep csi
[ 10.581366] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY

created /dev/media0 but not generating  video0 ,video1,vide02.. nodes .

please help me how to generate video* nodes under /dev

Thanks,

Naresh

Thanks,

Naresh.

  • Hello Naresh,

    is camera working on AM62x ?

    Yes, please refer to this E2E post.

    can you please provide the detials how to enable it ?

    To enable a camera for AM62x based on the Processor SDK Linux, the general procedure is:

    1. Add the camera driver, e.g. camera_xyz.c
    2. Add the device tree overlay for this camera. This device tree overlay for OV5640 can be a reference.
    3. Rebuild and install the kernel image, device tree and modules, as documented here.
    4. Apply the device tree overlay, as documented here in the Linux Academy (search for "Apply Device Tree Overlay").

    If the above is done correctly, you should be able to get /dev/video0, /dev/video1, etc.

    Would you mind sharing what you did and the complete dmesg?

    Regards,

    Jianzhong

  • Hi Jianzhong,

    please find our dts configuration.

    clk_ov5640_fixed: ov5640-xclk {
    compatible = "fixed-clock";
    #clock-cells = <0>;
    clock-frequency = <12000000>;
    };


    &main_i2c2 {
    pinctrl-names = "default";
    pinctrl-0 = <&main_i2c2_pins_default>;
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";

    /* HACK: The camera module only works reliably at 10 KHz. So drop the
    bus frequency to 10 KHz*/

    clock-frequency = <10000>;

    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>;

                                     ov5647: camera@3c {
                                                   compatible = "ovti,ov5647";
                                                   reg = <0x3c>;

                                                   clocks = <&clk_ov5640_fixed>;
                                                   clock-names = "xclk";
                                                   // reset-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;

                                                   port {
                                                            csi2_cam0: endpoint {
                                                            remote-endpoint = <&csi2rx0_in_sensor>;
                                                            clock-lanes = <0>;
                                                            data-lanes = <1 2>;

                                                    };

                                        };
                              };
                    };
          };
    };

    Observations: 

    1. Not showing camera module address (0x3c) and switch address (0x71 )  in i2c detect command.  [ may i know what is the use of switch (address :0x71 , is it mandatory to configure in dts ? ]

    root@am62xx-evm:/home# i2cdetect -y -r 4
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- 42 -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    root@am62xx-evm:/home# i2cdetect -y -r 2
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4f
    50: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- 68 -- UU -- -- -- -- --
    70: -- -- -- -- 74 -- -- --
    root@am62xx-evm:/home#

    2. getting only one line dmesg logs regd. camera as 

                 root@am62xx-evm:/home# dmesg | grep csi
                [ 10.581366] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY

    Thanks,

    Naresh

  • Hello Naresh,

    1. Not showing camera module address (0x3c) and switch address (0x71 )  in i2c detect command.  [ may i know what is the use of switch (address :0x71 , is it mandatory to configure in dts ? ]

    This I2C switch is used to communicate with the CSI camera connector. Please refer to the AM62x SK-EVM Schematics. The I2C Tree shows this connection: 

    You can verify the I2C topology by the following commands:

    root@am62xx-evm:/sys/bus/i2c/devices# ls
    0-003f  1-001b  1-0022  1-003b  2-0071  4-0060  i2c-0  i2c-1  i2c-2  i2c-3  i2c-4  i2c-5
    root@am62xx-evm:/sys/bus/i2c/devices# readlink 2-0071
    ../../../devices/platform/bus@f0000/20020000.i2c/i2c-2/2-0071
    root@am62xx-evm:/sys/bus/i2c/devices# ls ../../../devices/platform/bus@f0000/20020000.i2c/i2c-2/2-0071/ -al
    total 0
    drwxr-xr-x 3 root root    0 Sep 27 17:03 .
    drwxr-xr-x 7 root root    0 Sep 27 17:03 ..
    lrwxrwxrwx 1 root root    0 Nov  2 18:10 channel-0 -> ../i2c-3
    lrwxrwxrwx 1 root root    0 Nov  2 18:10 channel-1 -> ../i2c-4
    lrwxrwxrwx 1 root root    0 Nov  2 18:10 driver -> ../../../../../../bus/i2c/drivers/pca954x
    

    2. getting only one line dmesg logs regd. camera as 

    Can you do a "dmesg | grep ov5647" and share the output?

    Would you mind sharing the complete dmesg? It would be helpful as well if you could share what you did in details, such as how you built the driver and kernel, how you installed the kernel and driver, etc.

    Regards,

    Jianzhong

  • Hi ,

    Thanks for Quick response.

    we enabled camera driver as a module (ov5647).

    and device tree configured for camera as mentioned above thread.

    below are dmesg logs we are observing :

    root@am62xx-evm:~#
    root@am62xx-evm:~# dmesg
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [ 0.000000] Linux version 5.10.109-g9e58028f94 (naresh@ravin-OptiPlex-7060) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #4 SMP PREEMPT Thu Nov 3 12:47:36 IST 2022
    [ 0.000000] Machine model: Texas Instruments AM625 - TESSOLVE MAGIK2
    [ 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 DMA memory pool at 0x000000009cb00000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9db00000, compatible id shared-dma-pool
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal empty
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009cafffff]
    [ 0.000000] node 0: [mem 0x000000009cb00000-0x000000009e6fffff]
    [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
    [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
    [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] On node 0 totalpages: 524288
    [ 0.000000] DMA zone: 8192 pages used for memmap
    [ 0.000000] DMA zone: 0 pages reserved
    [ 0.000000] DMA zone: 524288 pages, LIFO batch:63
    [ 0.000000] cma: Reserved 144 MiB at 0x00000000f4000000
    [ 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 22 pages/cpu s49880 r8192 d32040 u90112
    [ 0.000000] pcpu-alloc: s49880 r8192 d32040 u90112 alloc=22*4096
    [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    [ 0.000000] Detected VIPT I-cache on CPU0
    [ 0.000000] CPU features: detected: ARM erratum 845719
    [ 0.000000] CPU features: detected: GIC system register CPU interface
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=7f00581c-02 rw rootfstype=ext4 rootwait
    [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] Memory: 1833672K/2097152K available (12800K kernel code, 1190K rwdata, 4916K rodata, 2048K init, 450K bss, 116024K reserved, 147456K 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] 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] GICv3: Distributor has no Range Selector support
    [ 0.000000] GICv3: 16 PPIs implemented
    [ 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 @80800000 (flat, esz 8, psz 64K, shr 0)
    [ 0.000000] ITS: using cache flushing for cmd queue
    [ 0.000000] GICv3: using LPI property table @0x0000000080040000
    [ 0.000000] GIC: using cache flushing for LPI property table
    [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080050000
    [ 0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000004] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.008485] Console: colour dummy device 80x25
    [ 0.013076] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [ 0.023757] pid_max: default: 32768 minimum: 301
    [ 0.028572] LSM: Security Framework initializing
    [ 0.033360] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.040941] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [ 0.050659] rcu: Hierarchical SRCU implementation.
    [ 0.055831] Platform MSI: msi-controller@1820000 domain created
    [ 0.062112] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [ 0.071353] EFI services will not be available.
    [ 0.076239] smp: Bringing up secondary CPUs ...
    [ 0.100089] Detected VIPT I-cache on CPU1
    [ 0.100127] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [ 0.100143] GICv3: CPU1: using allocated LPI pending table @0x0000000080060000
    [ 0.100209] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [ 0.119439] Detected VIPT I-cache on CPU2
    [ 0.119467] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [ 0.119479] GICv3: CPU2: using allocated LPI pending table @0x0000000080070000
    [ 0.119517] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [ 0.138703] Detected VIPT I-cache on CPU3
    [ 0.138727] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [ 0.138738] GICv3: CPU3: using allocated LPI pending table @0x0000000080080000
    [ 0.138775] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [ 0.138846] smp: Brought up 1 node, 4 CPUs
    [ 0.218559] SMP: Total of 4 processors activated.
    [ 0.223371] CPU features: detected: 32-bit EL0 Support
    [ 0.228640] CPU features: detected: CRC32 instructions
    [ 0.242758] CPU: All CPU(s) started at EL2
    [ 0.246967] alternatives: patching kernel code
    [ 0.252739] devtmpfs: initialized
    [ 0.262388] KASLR disabled due to lack of seed
    [ 0.267145] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.277123] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [ 0.288608] pinctrl core: initialized pinctrl subsystem
    [ 0.294626] DMI not present or invalid.
    [ 0.299083] NET: Registered protocol family 16
    [ 0.305363] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [ 0.312713] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [ 0.320792] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [ 0.329536] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.329542] thermal_sys: Registered thermal governor 'power_allocator'
    [ 0.336142] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.349861] ASID allocator initialised with 65536 entries
    [ 0.381884] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [ 0.388776] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [ 0.395629] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.402480] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [ 0.410336] cryptd: max_cpu_qlen set to 1000
    [ 0.417646] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
    [ 0.426709] vcc_3v3_sys: supplied by vmain_pd
    [ 0.431653] vcc_1v8: supplied by vcc_3v3_sys
    [ 0.436909] iommu: Default domain type: Translated
    [ 0.442246] SCSI subsystem initialized
    [ 0.446265] usbcore: registered new interface driver usbfs
    [ 0.451909] usbcore: registered new interface driver hub
    [ 0.457368] usbcore: registered new device driver usb
    [ 0.462991] mc: Linux media interface: v0.10
    [ 0.467386] videodev: Linux video capture interface: v2.00
    [ 0.473064] pps_core: LinuxPPS API ver. 1 registered
    [ 0.478140] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.487489] PTP clock support registered
    [ 0.491527] EDAC MC: Ver: 3.0.0
    [ 0.495375] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
    [ 0.502483] FPGA manager framework
    [ 0.506036] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.512831] Bluetooth: Core ver 2.22
    [ 0.516522] NET: Registered protocol family 31
    [ 0.521065] Bluetooth: HCI device and connection manager initialized
    [ 0.527567] Bluetooth: HCI socket layer initialized
    [ 0.532555] Bluetooth: L2CAP socket layer initialized
    [ 0.537729] Bluetooth: SCO socket layer initialized
    [ 0.543377] clocksource: Switched to clocksource arch_sys_counter
    [ 0.549836] VFS: Disk quotas dquot_6.6.0
    [ 0.553908] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 0.566431] NET: Registered protocol family 2
    [ 0.571155] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [ 0.579912] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
    [ 0.588684] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [ 0.596898] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
    [ 0.604635] TCP: Hash tables configured (established 16384 bind 16384)
    [ 0.611546] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.618441] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
    [ 0.625901] NET: Registered protocol family 1
    [ 0.630817] RPC: Registered named UNIX socket transport module.
    [ 0.636903] RPC: Registered udp transport module.
    [ 0.641713] RPC: Registered tcp transport module.
    [ 0.646523] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.653943] PCI: CLS 0 bytes, default 64
    [ 0.658825] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [ 0.670812] Initialise system trusted keyrings
    [ 0.675571] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [ 0.686042] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.692573] NFS: Registering the id_resolver key type
    [ 0.697776] Key type id_resolver registered
    [ 0.702053] Key type id_legacy registered
    [ 0.706214] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.713069] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.720830] 9p: Installing v9fs 9p2000 file system support
    [ 0.761823] Key type asymmetric registered
    [ 0.766022] Asymmetric key parser 'x509' registered
    [ 0.771047] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [ 0.778614] io scheduler mq-deadline registered
    [ 0.783247] io scheduler kyber registered
    [ 0.789293] pinctrl-single 4084000.pinctrl: 34 pins, size 136
    [ 0.795665] pinctrl-single f4000.pinctrl: 171 pins, size 684
    [ 0.803789] line = 474 fun =pwm_backlight_probe
    [ 0.803798] line = 244 fun =pwm_backlight_parse_dt
    [ 0.814038] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.829260] line=180 fun=panel_lvds_probe
    [ 0.833502] line=121 fun=panel_lvds_parse_dt
    [ 0.848268] brd: module loaded
    [ 0.858579] loop: module loaded
    [ 0.862607] megasas: 07.714.04.00-rc1
    [ 0.870458] tun: Universal TUN/TAP device driver, 1.6
    [ 0.876244] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [ 0.882665] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [ 0.888782] sky2: driver version 1.30
    [ 0.893270] PPP generic driver version 2.4.2
    [ 0.897801] PPP BSD Compression module registered
    [ 0.902622] PPP Deflate Compression module registered
    [ 0.907812] PPP MPPE Compression module registered
    [ 0.912713] NET: Registered protocol family 24
    [ 0.917282] SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
    [ 0.924789] usbcore: registered new interface driver lbtf_usb
    [ 0.930766] usbcore: registered new interface driver mwifiex_usb
    [ 0.936912] hso: drivers/net/usb/hso.c: Option Wireless
    [ 0.942305] usbcore: registered new interface driver hso
    [ 0.947766] usbcore: registered new interface driver cdc_ether
    [ 0.953754] usbcore: registered new interface driver cdc_eem
    [ 0.959581] usbcore: registered new interface driver cdc_ncm
    [ 0.965398] usbcore: registered new interface driver qmi_wwan_q
    [ 0.971485] usbcore: registered new interface driver qmi_wwan
    [ 0.977525] VFIO - User Level meta-driver version: 0.3
    [ 0.984014] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 0.990725] ehci-pci: EHCI PCI platform driver
    [ 0.995315] ehci-platform: EHCI generic platform driver
    [ 1.000839] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [ 1.007176] ohci-pci: OHCI PCI platform driver
    [ 1.011749] ohci-platform: OHCI generic platform driver
    [ 1.017214] uhci_hcd: USB Universal Host Controller Interface driver
    [ 1.024159] usbcore: registered new interface driver cdc_acm
    [ 1.029950] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [ 1.038160] usbcore: registered new interface driver cdc_wdm
    [ 1.043971] usbcore: registered new interface driver usbtmc
    [ 1.049876] usbcore: registered new interface driver uas
    [ 1.055355] usbcore: registered new interface driver usb-storage
    [ 1.061528] usbcore: registered new interface driver ums-sddr09
    [ 1.067602] usbcore: registered new interface driver ums-sddr55
    [ 1.073729] usbcore: registered new interface driver usbserial_generic
    [ 1.080422] usbserial: USB Serial support registered for generic
    [ 1.086586] usbcore: registered new interface driver cp210x
    [ 1.092298] usbserial: USB Serial support registered for cp210x
    [ 1.098385] usbcore: registered new interface driver ftdi_sio
    [ 1.104284] usbserial: USB Serial support registered for FTDI USB Serial Device
    [ 1.111786] usbcore: registered new interface driver option
    [ 1.117499] usbserial: USB Serial support registered for GSM modem (1-port)
    [ 1.124644] usbcore: registered new interface driver usb_serial_simple
    [ 1.131333] usbserial: USB Serial support registered for carelink
    [ 1.137579] usbserial: USB Serial support registered for zio
    [ 1.143382] usbserial: USB Serial support registered for funsoft
    [ 1.149538] usbserial: USB Serial support registered for flashloader
    [ 1.156049] usbserial: USB Serial support registered for google
    [ 1.162119] usbserial: USB Serial support registered for libtransistor
    [ 1.168808] usbserial: USB Serial support registered for vivopay
    [ 1.174966] usbserial: USB Serial support registered for moto_modem
    [ 1.181389] usbserial: USB Serial support registered for motorola_tetra
    [ 1.188168] usbserial: USB Serial support registered for novatel_gps
    [ 1.194679] usbserial: USB Serial support registered for hp4x
    [ 1.200568] usbserial: USB Serial support registered for suunto
    [ 1.206635] usbserial: USB Serial support registered for siemens_mpi
    [ 1.213893] i2c /dev entries driver
    [ 1.218126] Bluetooth: HCI UART driver ver 2.3
    [ 1.222688] Bluetooth: HCI UART protocol H4 registered
    [ 1.227961] Bluetooth: HCI UART protocol LL registered
    [ 1.233273] Bluetooth: HCI UART protocol Broadcom registered
    [ 1.239077] Bluetooth: HCI UART protocol QCA registered
    [ 1.244422] line =440 function=mrvl_init file=drivers/bluetooth/hci_mrvl.c
    [ 1.251558] Bluetooth: HCI UART protocol Marvell registered
    [ 1.257527] sdhci: Secure Digital Host Controller Interface driver
    [ 1.263849] sdhci: Copyright(c) Pierre Ossman
    [ 1.268611] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.275524] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.282038] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [ 1.288783] usbcore: registered new interface driver usbhid
    [ 1.294485] usbhid: USB HID core driver
    [ 1.299513] optee: probing for conduit method.
    [ 1.304091] optee: revision 3.18 (dfeed924)
    [ 1.304408] optee: dynamic shared memory is enabled
    [ 1.313925] optee: initialized driver
    [ 1.320199] NET: Registered protocol family 17
    [ 1.324916] 9pnet: Installing 9P2000 support
    [ 1.329343] Key type dns_resolver registered
    [ 1.333958] Loading compiled-in X.509 certificates
    [ 1.344583] line = 474 fun =pwm_backlight_probe
    [ 1.344594] line = 244 fun =pwm_backlight_parse_dt
    [ 1.356776] ti-sci 44043000.system-controller: ti,ctx-memory-region is required for suspend but not provided.
    [ 1.371984] ti-sci 44043000.system-controller: ti_sci_init_suspend failed, mem suspend will be non-functional.
    [ 1.382226] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0008 '8.3.2--v08.03.02 (Jolly Jellyfi')
    [ 1.973035] random: fast init done
    [ 2.144887] davinci-mcasp 2b20000.mcasp: invalid tdm slots: 0
    [ 2.194996] omap_i2c 4900000.i2c: bus 0 rev0.12 at 400 kHz
    [ 2.205402] omap_i2c 2b200000.i2c: bus 1 rev0.12 at 400 kHz
    [ 2.217770] at24 2-0050: supply vcc not found, using dummy regulator
    [ 2.247929] at24 2-0050: 262144 byte 24AA32AF EEPROM, writable, 1 bytes/write
    [ 2.256206] omap_i2c 20000000.i2c: bus 2 rev0.12 at 100 kHz
    [ 2.264019] line = 1806 fun =aic3x_i2c_probe file =sound/soc/codecs/tlv320aic3x.c
    [ 2.264433] line = 1737 fun =aic3x_configure_ocmv file =sound/soc/codecs/tlv320aic3x.c
    [ 2.272473] omap_i2c 20010000.i2c: bus 3 rev0.12 at 100 kHz
    [ 2.323389] pca954x 4-0071: probe failed
    [ 2.327482] omap_i2c 20020000.i2c: bus 4 rev0.12 at 10 kHz
    [ 2.334274] omap_i2c 20030000.i2c: bus 5 rev0.12 at 100 kHz
    [ 2.340320] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
    [ 2.348660] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [ 2.357906] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [ 2.367507] line = 474 fun =pwm_backlight_probe
    [ 2.367512] line = 244 fun =pwm_backlight_parse_dt
    [ 2.377975] line = 407 fun =pwm_backlight_is_linear
    [ 2.383035] pwm-backlight backlight: invalid default brightness level: 50, using 8
    [ 2.395858] line = 423 fun =pwm_backlight_initial_power_state
    [ 2.395864] line = 113 fun =pwm_backlight_update_status
    [ 2.401829] line = 70 fun =pwm_backlight_power_off
    [ 2.407642] ti-bcdma 485c0100.dma-controller: Number of rings: 82
    [ 2.420870] ti-bcdma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
    [ 2.432101] ti-pktdma 485c0000.dma-controller: Number of rings: 150
    [ 2.442326] ti-pktdma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
    [ 2.453086] 4a00000.serial: ttyS3 at MMIO 0x4a00000 (irq = 15, base_baud = 3000000) is a 8250
    [ 2.463354] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 22, base_baud = 3000000) is a 8250
    [ 2.472151] printk: console [ttyS2] enabled
    [ 2.480595] printk: bootconsole [ns16550a0] disabled
    [ 2.492005] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 23, base_baud = 3000000) is a 8250
    [ 2.501782] 2830000.serial: ttyS5 at MMIO 0x2830000 (irq = 24, base_baud = 3000000) is a 8250
    [ 2.511575] 2840000.serial: ttyS6 at MMIO 0x2840000 (irq = 25, base_baud = 3000000) is a 8250
    [ 2.521335] 2850000.serial: ttyS7 at MMIO 0x2850000 (irq = 26, base_baud = 3000000) is a 8250
    [ 2.531077] 2860000.serial: ttyS8 at MMIO 0x2860000 (irq = 27, base_baud = 3000000) is a 8250
    [ 2.605108] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
    [ 2.612383] line=88 fun=panel_lvds_get_modes
    [ 2.648355] line=65 fun=panel_lvds_prepare
    [ 2.677411] Console: switching to colour frame buffer device 160x50
    [ 2.703588] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
    [ 2.711207] pinctrl-single f4000.pinctrl: pin PIN5 already requested by 4a00000.serial; cannot claim for fc40000.spi
    [ 2.721758] pinctrl-single f4000.pinctrl: pin-5 (fc40000.spi) status -22
    [ 2.728453] pinctrl-single f4000.pinctrl: could not request pin 5 (PIN5) from group ospi0-pins-default on device pinctrl-single
    [ 2.740000] cadence-qspi fc40000.spi: Error applying setting, reverse things back
    [ 2.747490] cadence-qspi: probe of fc40000.spi failed with error -22
    [ 2.823442] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 2.826539] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [ 2.839116] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867
    [ 2.847297] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000002
    [ 2.861529] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [ 2.868369] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
    [ 2.874651] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [ 2.881779] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [ 2.893926] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [ 2.922831] dwc3 31000000.usb: Configuration mismatch. dr_mode forced to host
    [ 2.930447] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 2.936168] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [ 2.943996] xhci-hcd xhci-hcd.0.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
    [ 2.953456] xhci-hcd xhci-hcd.0.auto: irq 264, io mem 0x31000000
    [ 2.959732] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    [ 2.967991] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 2.975204] usb usb1: Product: xHCI Host Controller
    [ 2.980075] usb usb1: Manufacturer: Linux 5.10.109-g9e58028f94 xhci-hcd
    [ 2.986684] usb usb1: SerialNumber: xhci-hcd.0.auto
    [ 2.992030] hub 1-0:1.0: USB hub found
    [ 2.995806] hub 1-0:1.0: 1 port detected
    [ 2.999982] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [ 3.005640] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [ 3.013316] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [ 3.019893] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [ 3.028090] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
    [ 3.036350] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.043565] usb usb2: Product: xHCI Host Controller
    [ 3.048436] usb usb2: Manufacturer: Linux 5.10.109-g9e58028f94 xhci-hcd
    [ 3.055041] usb usb2: SerialNumber: xhci-hcd.0.auto
    [ 3.060329] hub 2-0:1.0: USB hub found
    [ 3.064104] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
    [ 3.089981] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 3.095751] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
    [ 3.103628] xhci-hcd xhci-hcd.1.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
    [ 3.113088] xhci-hcd xhci-hcd.1.auto: irq 265, io mem 0x31100000
    [ 3.119349] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    [ 3.127604] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.134817] usb usb3: Product: xHCI Host Controller
    [ 3.139703] usb usb3: Manufacturer: Linux 5.10.109-g9e58028f94 xhci-hcd
    [ 3.146312] usb usb3: SerialNumber: xhci-hcd.1.auto
    [ 3.151691] hub 3-0:1.0: USB hub found
    [ 3.155472] hub 3-0:1.0: 1 port detected
    [ 3.159664] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 3.165343] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
    [ 3.173008] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
    [ 3.179591] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
    [ 3.187776] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
    [ 3.196030] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.203243] usb usb4: Product: xHCI Host Controller
    [ 3.208116] usb usb4: Manufacturer: Linux 5.10.109-g9e58028f94 xhci-hcd
    [ 3.214719] usb usb4: SerialNumber: xhci-hcd.1.auto
    [ 3.219989] hub 4-0:1.0: USB hub found
    [ 3.223766] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19)
    [ 3.244584] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
    [ 3.249775] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:00:11 UTC (11)
    [ 3.344587] mmc1: CQHCI version 5.10
    [ 3.355118] mmc0: CQHCI version 5.10
    [ 3.360990] mmc2: CQHCI version 5.10
    [ 3.389743] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [ 3.399877] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [ 3.405756] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
    [ 3.419422] usb 3-1: new high-speed USB device number 2 using xhci-hcd
    [ 3.426974] davinci-mcasp 2b20000.mcasp: invalid tdm slots: 0
    [ 3.436648] mmc1: new high speed SDHC card at address aaaa
    [ 3.442934] mmcblk1: mmc1:aaaa SC16G 14.8 GiB
    [ 3.452459] mmcblk1: p1 p2
    [ 3.459171] mmc2: new ultra high speed SDR104 SDIO card at address 0001
    [ 3.490689] mmc0: Command Queue Engine enabled
    [ 3.495154] mmc0: new HS200 MMC card at address 0001
    [ 3.500963] mmcblk0: mmc0:0001 G1M15L 29.6 GiB
    [ 3.505775] mmcblk0boot0: mmc0:0001 G1M15L partition 1 31.5 MiB
    [ 3.511913] mmcblk0boot1: mmc0:0001 G1M15L partition 2 31.5 MiB
    [ 3.518107] mmcblk0rpmb: mmc0:0001 G1M15L partition 3 4.00 MiB, chardev (235:0)
    [ 3.528221] mmcblk0: p1
    [ 3.586996] usb 3-1: New USB device found, idVendor=2c7c, idProduct=030a, bcdDevice= 3.18
    [ 3.595214] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 3.602358] usb 3-1: Product: EM05-G
    [ 3.605944] usb 3-1: Manufacturer: Quectel
    [ 3.756317] option 3-1:1.3: GSM modem (1-port) converter detected
    [ 3.762710] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
    [ 3.770052] option 3-1:1.2: GSM modem (1-port) converter detected
    [ 3.776346] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
    [ 4.048758] st_lsm6dsx_i2c 2-006a: mounting matrix not found: using identity...
    [ 4.057190] +-----------------------------------------+
    [ 4.062436] | ssd254x_ts_probe_init! |
    [ 4.067132] +-----------------------------------------+
    [ 4.072550] ssd254x_ts_init: create_singlethread_workqueue OK!
    [ 4.079770] +-----------------------------------------+
    [ 4.084988] | ssd254x_ts_probe! |
    [ 4.089684] +-----------------------------------------+
    [ 4.094899] ssd254x_ts_probe: i2c Check OK!
    [ 4.099248] ssd254x_ts_probe: i2c_client name : ssd254x-ts
    [ 4.104900] ssd254x_ts_probe: i2c_client irq : 406
    [ 4.109949] ssd254x_ts_probe: kzalloc OK!
    [ 4.114135] ssd254x_ts_probe: input_allocate_device OK
    [ 4.119572] WriteRegister: i2c_master_send Error !
    [ 4.224540] SSL Touchscreen I2C Address: 0x48
    [ 4.229014] ReadRegister: i2c_transfer Error !
    [ 4.233748] ReadRegister: i2c_transfer Error !
    [ 4.238360] SSL Touchscreen Device ID : 0xFFFF
    [ 4.242882] SSL Touchscreen Version ID : 0xFFFF
    [ 4.247529] WriteRegister: i2c_master_send Error !
    [ 4.352633] WriteRegister: i2c_master_send Error !
    [ 4.357717] WriteRegister: i2c_master_send Error !
    [ 4.362796] WriteRegister: i2c_master_send Error !
    [ 4.367877] WriteRegister: i2c_master_send Error !
    [ 4.372958] WriteRegister: i2c_master_send Error !
    [ 4.378038] WriteRegister: i2c_master_send Error !
    [ 4.383119] WriteRegister: i2c_master_send Error !
    [ 4.388200] WriteRegister: i2c_master_send Error !
    [ 4.393282] WriteRegister: i2c_master_send Error !
    [ 4.398362] WriteRegister: i2c_master_send Error !
    [ 4.403443] WriteRegister: i2c_master_send Error !
    [ 4.408524] WriteRegister: i2c_master_send Error !
    [ 4.413604] WriteRegister: i2c_master_send Error !
    [ 4.418684] WriteRegister: i2c_master_send Error !
    [ 4.423768] WriteRegister: i2c_master_send Error !
    [ 4.428849] WriteRegister: i2c_master_send Error !
    [ 4.433930] WriteRegister: i2c_master_send Error !
    [ 4.439010] WriteRegister: i2c_master_send Error !
    [ 4.444090] WriteRegister: i2c_master_send Error !
    [ 4.449171] WriteRegister: i2c_master_send Error !
    [ 4.454250] WriteRegister: i2c_master_send Error !
    [ 4.459337] WriteRegister: i2c_master_send Error !
    [ 4.464422] WriteRegister: i2c_master_send Error !
    [ 4.469503] WriteRegister: i2c_master_send Error !
    [ 4.474585] WriteRegister: i2c_master_send Error !
    [ 4.479666] WriteRegister: i2c_master_send Error !
    [ 4.484746] WriteRegister: i2c_master_send Error !
    [ 4.489827] WriteRegister: i2c_master_send Error !
    [ 4.494906] WriteRegister: i2c_master_send Error !
    [ 4.499987] WriteRegister: i2c_master_send Error !
    [ 4.505068] WriteRegister: i2c_master_send Error !
    [ 4.510149] WriteRegister: i2c_master_send Error !
    [ 4.515229] WriteRegister: i2c_master_send Error !
    [ 4.520310] WriteRegister: i2c_master_send Error !
    [ 4.525391] WriteRegister: i2c_master_send Error !
    [ 4.530471] WriteRegister: i2c_master_send Error !
    [ 4.535552] WriteRegister: i2c_master_send Error !
    [ 4.540632] WriteRegister: i2c_master_send Error !
    [ 4.545711] WriteRegister: i2c_master_send Error !
    [ 4.550795] WriteRegister: i2c_master_send Error !
    [ 4.555876] WriteRegister: i2c_master_send Error !
    [ 4.560955] WriteRegister: i2c_master_send Error !
    [ 4.566036] WriteRegister: i2c_master_send Error !
    [ 4.571118] WriteRegister: i2c_master_send Error !
    [ 4.576199] WriteRegister: i2c_master_send Error !
    [ 4.581279] WriteRegister: i2c_master_send Error !
    [ 4.586359] WriteRegister: i2c_master_send Error !
    [ 4.591441] WriteRegister: i2c_master_send Error !
    [ 4.596521] WriteRegister: i2c_master_send Error !
    [ 4.601602] WriteRegister: i2c_master_send Error !
    [ 4.606682] WriteRegister: i2c_master_send Error !
    [ 4.611762] WriteRegister: i2c_master_send Error !
    [ 4.616842] WriteRegister: i2c_master_send Error !
    [ 4.621922] ReadRegister: i2c_transfer Error !
    [ 4.626534] Reg: 0x6 = 0xFFFF
    [ 4.629793] ReadRegister: i2c_transfer Error !
    [ 4.634405] Reg: 0x7 = 0xFFFF
    [ 4.637662] ReadRegister: i2c_transfer Error !
    [ 4.642274] Reg: 0x8 = 0xFFFF
    [ 4.645531] ReadRegister: i2c_transfer Error !
    [ 4.650143] Reg: 0x9 = 0xFFFF
    [ 4.653401] ReadRegister: i2c_transfer Error !
    [ 4.658012] Reg: 0xA = 0xFFFF
    [ 4.661278] ReadRegister: i2c_transfer Error !
    [ 4.665890] Reg: 0xB = 0xFFFF
    [ 4.669146] ReadRegister: i2c_transfer Error !
    [ 4.673760] Reg: 0xC = 0xFFFF
    [ 4.677018] ReadRegister: i2c_transfer Error !
    [ 4.681630] Reg: 0xD = 0xFFFF
    [ 4.684888] ReadRegister: i2c_transfer Error !
    [ 4.689500] Reg: 0xE = 0xFFFF
    [ 4.692757] ReadRegister: i2c_transfer Error !
    [ 4.697374] Reg: 0xF = 0xFFFF
    [ 4.700632] ReadRegister: i2c_transfer Error !
    [ 4.705244] Reg: 0x10 = 0xFFFF
    [ 4.708588] ReadRegister: i2c_transfer Error !
    [ 4.713200] Reg: 0x11 = 0xFFFF
    [ 4.716544] ReadRegister: i2c_transfer Error !
    [ 4.721156] Reg: 0x12 = 0xFFFF
    [ 4.724500] ReadRegister: i2c_transfer Error !
    [ 4.729112] Reg: 0x13 = 0xFFFF
    [ 4.732457] ReadRegister: i2c_transfer Error !
    [ 4.737068] Reg: 0x14 = 0xFFFF
    [ 4.740413] ReadRegister: i2c_transfer Error !
    [ 4.745024] Reg: 0x15 = 0xFFFF
    [ 4.748370] ReadRegister: i2c_transfer Error !
    [ 4.752985] Reg: 0x16 = 0xFFFF
    [ 4.756329] ReadRegister: i2c_transfer Error !
    [ 4.760941] Reg: 0x17 = 0xFFFF
    [ 4.764285] ReadRegister: i2c_transfer Error !
    [ 4.768897] Reg: 0x18 = 0xFFFF
    [ 4.772242] ReadRegister: i2c_transfer Error !
    [ 4.776854] Reg: 0x19 = 0xFFFF
    [ 4.780198] ReadRegister: i2c_transfer Error !
    [ 4.784810] Reg: 0x1A = 0xFFFF
    [ 4.788154] ReadRegister: i2c_transfer Error !
    [ 4.792767] Reg: 0x1B = 0xFFFF
    [ 4.796111] ReadRegister: i2c_transfer Error !
    [ 4.800726] Reg: 0x1C = 0xFFFF
    [ 4.804070] ReadRegister: i2c_transfer Error !
    [ 4.808680] Reg: 0x1D = 0xFFFF
    [ 4.812025] ReadRegister: i2c_transfer Error !
    [ 4.816637] Reg: 0x1E = 0xFFFF
    [ 4.819981] ReadRegister: i2c_transfer Error !
    [ 4.824593] Reg: 0x1F = 0xFFFF
    [ 4.827938] ReadRegister: i2c_transfer Error !
    [ 4.832549] Reg: 0x28 = 0xFFFF
    [ 4.835894] ReadRegister: i2c_transfer Error !
    [ 4.840505] Reg: 0x30 = 0xFFFF
    [ 4.843850] ReadRegister: i2c_transfer Error !
    [ 4.848461] Reg: 0xD7 = 0xFFFF
    [ 4.851805] ReadRegister: i2c_transfer Error !
    [ 4.856418] Reg: 0xD8 = 0xFFFF
    [ 4.859760] ReadRegister: i2c_transfer Error !
    [ 4.864377] Reg: 0xDB = 0xFFFF
    [ 4.864503] ReadRegister: i2c_transfer Error !
    [ 4.872210] Reg: 0x33 = 0xFFFF
    [ 4.875555] ReadRegister: i2c_transfer Error !
    [ 4.880169] Reg: 0x34 = 0xFFFF
    [ 4.883514] ReadRegister: i2c_transfer Error !
    [ 4.888126] Reg: 0x36 = 0xFFFF
    [ 4.891467] ReadRegister: i2c_transfer Error !
    [ 4.896079] Reg: 0x37 = 0xFFFF
    [ 4.899419] ReadRegister: i2c_transfer Error !
    [ 4.904031] Reg: 0x3A = 0xFFFF
    [ 4.907371] ReadRegister: i2c_transfer Error !
    [ 4.911983] Reg: 0x2B = 0xFFFF
    [ 4.915321] ReadRegister: i2c_transfer Error !
    [ 4.919933] Reg: 0x38 = 0xFFFF
    [ 4.923271] ReadRegister: i2c_transfer Error !
    [ 4.927882] Reg: 0x40 = 0xFFFF
    [ 4.931221] ReadRegister: i2c_transfer Error !
    [ 4.935836] Reg: 0x41 = 0xFFFF
    [ 4.939174] ReadRegister: i2c_transfer Error !
    [ 4.943787] Reg: 0x42 = 0xFFFF
    [ 4.947126] ReadRegister: i2c_transfer Error !
    [ 4.951738] Reg: 0x43 = 0xFFFF
    [ 4.955077] ReadRegister: i2c_transfer Error !
    [ 4.959688] Reg: 0x44 = 0xFFFF
    [ 4.963026] ReadRegister: i2c_transfer Error !
    [ 4.967638] Reg: 0x45 = 0xFFFF
    [ 4.970978] ReadRegister: i2c_transfer Error !
    [ 4.975592] Reg: 0x46 = 0xFFFF
    [ 4.978931] ReadRegister: i2c_transfer Error !
    [ 4.983550] Reg: 0x56 = 0xFFFF
    [ 4.986888] ReadRegister: i2c_transfer Error !
    [ 4.991500] Reg: 0x59 = 0xFFFF
    [ 4.994839] ReadRegister: i2c_transfer Error !
    [ 4.999450] Reg: 0x65 = 0xFFFF
    [ 5.002788] ReadRegister: i2c_transfer Error !
    [ 5.007400] Reg: 0x66 = 0xFFFF
    [ 5.010738] ReadRegister: i2c_transfer Error !
    [ 5.015352] Reg: 0x67 = 0xFFFF
    [ 5.018697] ReadRegister: i2c_transfer Error !
    [ 5.023308] Reg: 0x7A = 0xFFFF
    [ 5.026652] ReadRegister: i2c_transfer Error !
    [ 5.031266] Reg: 0x7B = 0xFFFF
    [ 5.034612] ReadRegister: i2c_transfer Error !
    [ 5.039224] Reg: 0x25 = 0xFFFF
    [ 5.142456] ssd254x_ts_probe: FFFFdeviceInit OK!
    [ 5.147238] ssd254x_ts_probe: ssl_input->id.product Error
    [ 5.158653] pca953x 3-0022: supply vcc not found, using dummy regulator
    [ 5.165441] pca953x 3-0022: using AI
    [ 5.191502] pca953x 3-0022: failed writing register
    [ 5.196545] pca953x: probe of 3-0022 failed with error -121
    [ 5.204203] line = 1644 fun =aic3x_probe file =sound/soc/codecs/tlv320aic3x.c
    [ 5.204220] line = 1557 fun =aic3x_init file =sound/soc/codecs/tlv320aic3x.c
    [ 5.211616] line = 1533 fun =aic3x_mono_init file =sound/soc/codecs/tlv320aic3x.c
    [ 5.218908] line = 1009 fun =aic3x_add_widgets file =sound/soc/codecs/tlv320aic3x.c
    [ 5.227024] line = 1245 fun =aic3x_set_dai_sysclk file =sound/soc/codecs/tlv320aic3x.c
    [ 5.250757] line = 1262 fun =aic3x_set_dai_fmt file =sound/soc/codecs/tlv320aic3x.c
    [ 5.258841] SND_SOC_DAIFMT_CBM_CFM fun=aic3x_set_dai_fmt
    [ 5.266659] SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_IB_NF
    [ 5.277297] SND_SOC_DAIFMT_DSP_B and SND_SOC_DAIFMT_AC97 ,file=sound/soc/ti/davinci-mcasp.c
    [ 5.289335] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
    [ 5.298832] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [ 5.308688] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [ 5.315356] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [ 5.323996] cfg80211: failed to load regulatory.db
    [ 5.556126] ALSA device list:
    [ 5.559090] #0: AM62x-SKEVM
    [ 5.608611] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 5.616820] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 5.625607] devtmpfs: mounted
    [ 5.630186] Freeing unused kernel memory: 2048K
    [ 5.634853] Run /sbin/init as init process
    [ 5.638946] with arguments:
    [ 5.638949] /sbin/init
    [ 5.638952] with environment:
    [ 5.638955] HOME=/
    [ 5.638958] TERM=linux
    [ 5.956168] systemd[1]: System time before build time, advancing clock.
    [ 6.038586] NET: Registered protocol family 10
    [ 6.044351] Segment Routing with IPv6
    [ 6.086940] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
    [ 6.109112] systemd[1]: Detected architecture arm64.
    [ 6.158316] systemd[1]: Set hostname to <am62xx-evm>.
    [ 6.481709] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [ 6.496242] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [ 6.637458] random: systemd: uninitialized urandom read (16 bytes read)
    [ 6.644439] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [ 6.656794] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [ 6.668560] systemd[1]: Created slice system-getty.slice.
    [ 6.691611] random: systemd: uninitialized urandom read (16 bytes read)
    [ 6.699655] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [ 6.723575] random: systemd: uninitialized urandom read (16 bytes read)
    [ 6.731308] systemd[1]: Created slice User and Session Slice.
    [ 6.751920] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 6.775743] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 6.799706] systemd[1]: Reached target Paths.
    [ 6.815557] systemd[1]: Reached target Remote File Systems.
    [ 6.835506] systemd[1]: Reached target Slices.
    [ 6.851520] systemd[1]: Reached target Swap.
    [ 6.909834] systemd[1]: Listening on RPCbind Server Activation Socket.
    [ 6.931634] systemd[1]: Reached target RPC Port Mapper.
    [ 6.958716] systemd[1]: Listening on Process Core Dump Socket.
    [ 6.980010] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [ 7.020298] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [ 7.029327] systemd[1]: Listening on Journal Socket (/dev/log).
    [ 7.052296] systemd[1]: Listening on Journal Socket.
    [ 7.068434] systemd[1]: Listening on Network Service Netlink Socket.
    [ 7.092150] systemd[1]: Listening on udev Control Socket.
    [ 7.116023] systemd[1]: Listening on udev Kernel Socket.
    [ 7.140659] systemd[1]: Mounting Huge Pages File System...
    [ 7.160695] systemd[1]: Mounting POSIX Message Queue File System...
    [ 7.189994] systemd[1]: Mounting Kernel Debug File System...
    [ 7.210863] systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway.
    [ 7.223554] systemd[1]: Mounting Temporary Directory (/tmp)...
    [ 7.244719] systemd[1]: Starting Create list of static device nodes for the current kernel...
    [ 7.272219] systemd[1]: Starting Start psplash boot splash screen...
    [ 7.302143] systemd[1]: Starting RPC Bind...
    [ 7.315866] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [ 7.321830] systemd[1]: Starting Journal Service...
    [ 7.364353] systemd[1]: Starting Load Kernel Modules...
    [ 7.384629] systemd[1]: Starting Remount Root and Kernel File Systems...
    [ 7.393629] cryptodev: loading out-of-tree module taints kernel.
    [ 7.406216] cryptodev: driver 1.10 loaded.
    [ 7.414040] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
    [ 7.418363] systemd[1]: Starting udev Coldplug all Devices...
    [ 7.442523] systemd[1]: Started Start psplash boot splash screen.
    [ 7.464314] systemd[1]: Started RPC Bind.
    [ 7.488447] systemd[1]: Started Journal Service.
    [ 7.730709] systemd-journald[217]: Received client request to flush runtime journal.
    [ 8.480604] CAN device driver interface
    [ 8.528984] line = 113 fun =pwm_backlight_update_status
    [ 8.529012] line = 70 fun =pwm_backlight_power_off
    [ 8.529404] m_can_platform 20701000.can: m_can device registered (irq=44, version=32)
    [ 8.673634] Error: Driver 'tlv320aic3x-codec' is already registered, aborting...
    [ 8.774549] roles: exports duplicate symbol fwnode_usb_role_switch_get (owned by kernel)
    [ 8.852778] Error: Driver 'tlv320aic3x-codec' is already registered, aborting...
    [ 8.926274] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
    [ 8.939908] roles: exports duplicate symbol fwnode_usb_role_switch_get (owned by kernel)
    [ 8.969747] Error: Driver 'dwc3-am62' is already registered, aborting...
    [ 8.970401] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [ 8.991247] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [ 9.006136] remoteproc remoteproc0: 5000000.m4fss is available
    [ 9.058144] Error: Driver 'dwc3-am62' is already registered, aborting...
    [ 9.139819] Error: Driver 'dwc3-am62' is already registered, aborting...
    [ 9.147136] remoteproc remoteproc0: powering up 5000000.m4fss
    [ 9.152984] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 78960
    [ 9.177877] remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@9cb00000
    [ 9.186794] remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [ 9.193936] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [ 9.201572] PVR_K: 253: Read BVNC 33.15.11.3 from HW device registers
    [ 9.213851] PVR_K: 253: RGX Device registered with BVNC 33.15.11.3
    [ 9.222631] Error: Driver 'dwc3-am62' is already registered, aborting...
    [ 9.239484] [drm] Initialized pvr 1.15.6133109 20170530 for fd00000.gpu on minor 1
    [ 9.247710] Error: Driver 'panel-lvds' is already registered, aborting...
    [ 9.259575] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.357457] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.371747] snd_soc_simple_card_utils: exports duplicate symbol asoc_simple_be_hw_params_fixup (owned by kernel)
    [ 9.424275] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.434966] Error: Driver 'panel-lvds' is already registered, aborting...
    [ 9.541187] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.551528] snd_soc_simple_card_utils: exports duplicate symbol asoc_simple_be_hw_params_fixup (owned by kernel)
    [ 9.620772] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.687760] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.772250] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 9.955036] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.019453] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.019503] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.032632] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.042895] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.056566] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.067655] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.083909] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.094262] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.103244] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.164931] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.169975] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 10.276446] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.381739] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.463503] random: crng init done
    [ 10.466934] random: 7 urandom warning(s) missed due to ratelimiting
    [ 10.476671] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.557193] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.636507] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.691634] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.778427] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.874042] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.910264] remoteproc remoteproc1: 30074000.pru is available
    [ 10.920380] remoteproc remoteproc2: 30078000.pru is available
    [ 10.948591] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 10.995557] omap_rng 40910000.rng: Random Number Generator ver. 241b34c
    [ 10.998089] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY
    [ 11.040031] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.050548] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 11.050929] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [ 11.066303] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [ 11.112063] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.171940] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.227890] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.287819] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.344274] usb_common: exports duplicate symbol of_usb_get_dr_mode_by_phy (owned by kernel)
    [ 11.468358] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
    [ 11.530712] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.530760] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.540719] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.554843] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.569245] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.583040] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.597433] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.606523] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.616423] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.630696] line = 174 fun =snd_soc_dapm_put_volsw_aic3x file =sound/soc/codecs/tlv320aic3x.c
    [ 11.976055] libarc4: exports duplicate symbol arc4_crypt (owned by kernel)
    [ 12.538736] TI DP83867 8000f00.mdio:01: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:01, irq=POLL)
    [ 12.563103] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [ 12.658022] TI DP83867 8000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:00, irq=POLL)
    [ 12.677703] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 15.760953] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [ 15.769441] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [ 16.679773] PVR_K: 1055: RGX Firmware image 'rgx.fw.33.15.11.3' loaded
    [ 16.713529] PVR_K: 1055: Shader binary image 'rgx.sh.33.15.11.3' loaded
    [ 16.841260] line=88 fun=panel_lvds_get_modes
    [ 24.069879] Initializing XFRM netlink socket
    
    


    root@am62xx-evm:~# lsmod
    Module Size Used by
    xfrm_user 40960 2
    xfrm_algo 16384 1 xfrm_user
    md5 16384 0
    aes_neon_bs 28672 0
    aes_neon_blk 28672 1 aes_neon_bs
    des_generic 16384 0
    libdes 24576 1 des_generic
    cbc 16384 0
    wlcore_sdio 20480 0
    rpmsg_char 20480 0
    virtio_rpmsg_bus 24576 0
    cdns_csi2rx 24576 1
    omap_rng 20480 0
    v4l2_fwnode 24576 1 cdns_csi2rx
    rng_core 24576 2 omap_rng
    irq_pruss_intc 16384 0
    pru_rproc 24576 0
    crct10dif_ce 20480 1
    pvrsrvkm 1519616 31
    extcon_usb_gpio 16384 0
    ti_k3_m4_remoteproc 20480 0
    j721e_csi2rx 20480 0
    videobuf2_dma_contig 24576 1 j721e_csi2rx
    videobuf2_memops 20480 1 videobuf2_dma_contig
    cdns_dphy 16384 0
    sa2ul 40960 0
    videobuf2_v4l2 32768 1 j721e_csi2rx
    pruss 20480 1 pru_rproc
    videobuf2_common 57344 2 j721e_csi2rx,videobuf2_v4l2
    sha512_generic 16384 1 sa2ul
    authenc 16384 1 sa2ul
    m_can_platform 16384 0
    m_can 28672 1 m_can_platform
    can_dev 36864 1 m_can
    sch_fq_codel 20480 3
    cryptodev 57344 1
    ipv6 462848 52'


    root@am62xx-evm:~# cd /sys/bus/i2c/devices/
    root@am62xx-evm:/sys/bus/i2c/devices# cd i2c-4
    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4# ls
    4-0071 delete_device device i2c-dev name new_device of_node power subsystem uevent
    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4# cd 4-0071/
    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071# ls
    modalias name of_node power subsystem uevent
    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071#

    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071# dmesg | grep pca
    [ 2.323389] pca954x 4-0071: probe failed

    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071# dmesg | grep -i csi
    [ 10.998089] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY
    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071#

    Thanks,

    Naresh

    Thanks,

    Naresh

  • Hello Naresh,

    Firstly, I edited your previous post by reinserting the boot log as code. This makes the post easier to read. You can do this as well in future. Just click "Insert" from the bottom bar of the message window, then choose "code" from the drop down menu, and then paste the log.

    Secondly, I saw a lot of I2C errors from the log like below:

    WriteRegister: i2c_master_send Error !

    So it looks to me this may be an issue with I2C instead of camera. Let me loop in our I2C subject owner and get input from him as well.

    Thanks for your patience.

    Regards,

    Jianzhong

  • Hi Jianzhong,

    JFYI, Those I2C errors  not related to camera [ Touch related i2c errors ]

    I guess below is the root cause for camera is not bringing up in the kernel .

    root@am62xx-evm:/sys/bus/i2c/devices/i2c-4/4-0071# dmesg | grep pca
    [ 2.323389] pca954x 4-0071: probe failed

    Query: Even though Camera is a i2c device ,i could not find the address under the i2c adapter (main_i2c2) when i issue this command ( i2c detect -y -r 2 command)

    BR,,

    Naresh

  • Hi Naresh,

    I'll pass this ticket to our I2C expert. Please expect response next week.

    Regards,

    Jianzhong

  • Hi Jianzhong ,

    any update on this ?

    Thanks,

    Naresh

  • Hello Naresh,

    To confirm, does your custom board have an i2c-switch between the processor and the camera? If not, you don't want to tell the processor that a switch exists in the devicetree.

    Regards,

    Nick

  • Hi ,

    If we connect csi camera module on my board , will it shows the camera module address in correspoding i2c adaptor (using i2cdetect command  : i2cdetect -y -r 4 ) ?

    please confirm it ?

    on My board , i am not able to see camera module address on  corresponding i2c adapter (command :  i2cdetect -y -r 4) .

    Thanks,

    Naresh

  • Hello Naresh,

    1) Can you please answer the question from my previous response? https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1165962/processor-sdk-am62x-camera-enablement-on-am625/4399276#4399276 

    2) If you do not have an i2c-switch between the AM62x and the camera, have you updated your devicetree file to remove the i2c-switch node? Please attach your latest device tree.

    Regards,

    Nick

  • Hi Nick/Jianzhong,

    Yes , I2C Switch is present

    [ CSI lines are connected directly to our board and there is nothing in between, And there are 2 GPIO'S going to i2c switch]

    my Device tree configuration :

    clk_ov5647_fixed: ov5647-xclk {
                   compatible = "fixed-clock";
                   #clock-cells = <0>;
                   clock-frequency = <12000000>;
                  };


    &main_i2c2 {
            pinctrl-names = "default";
            pinctrl-0 = <&main_i2c2_pins_default>;
            #address-cells = <1>;
            #size-cells = <0>;
            status = "okay";

            /*
             * HACK: The camera module only works reliably at 10 KHz. So drop the
             * bus frequency to 10 KHz.
             */
            clock-frequency = <10000>;

            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>;

                            ov5647: camera@36 {
                                    compatible = "ovti,ov5647";
                                    reg = <0x36>;

                                    clocks = <&clk_ov5647_fixed>;
                                    clock-names = "xclk";
                                  //  reset-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;

                                    port {
                                            csi2_cam0: endpoint {
                                                    remote-endpoint = <&csi2rx0_in_sensor>;
                                                    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>;
            };
    };

    Query : Do we need to configure pins for camera in device tree ?

    I am observing below camera switch  logs

    Dmesg Logs :

    root@am62xx-evm:~# dmesg | grep pca                                             
    [    2.271871]  func=pca954x_probe  file=drivers/i2c/muxes/i2c-mux-pca954x.c    
    [    2.278951]  func=pca954x_init  file=drivers/i2c/muxes/i2c-mux-pca954x.c     
    [    2.319898]  pca9543 init is failing file=drivers/i2c/muxes/i2c-mux-pca954x.c
    [    2.327201] pca954x 4-0071: probe failed

    Thanks,

    Naresh

  • Hello Naresh,

    Apologies for losing track of this thread over thanksgiving. Do you still need assistance here?

    Regards,

    Nick

  • Hi Nick ,

    yes , i need support on this .

    I have observed that video node not creating under /dev .

    • Actually see ! i am not observing the camera address under 
    root@am62xx-evm:~# i2cdetect -y -r 3
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- 3b -- -- -- 3f
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- 62 -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    please find the respected logs :

    root@am62xx-evm:/dev# dmesg | grep csi
    [    2.410077]  csi camera func=ov5640_probe file=drivers/media/i2c/ov5640.c
    [    2.425404]  csi camera func=v4l2_fwnode_endpoint_parse file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    2.434658]  csi camera func=__v4l2_fwnode_endpoint_parse file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    2.444088]  csi camera func=get_v4l2_fwnode_bus_conv_by_fwnode_bus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    2.454405]  csi camera func=v4l2_fwnode_bus_type_to_mbus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    2.463833]  csi camera func=v4l2_fwnode_endpoint_parse_csi2_bus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    2.473940]  csi camera func=ov5640_get_regulators file=drivers/media/i2c/ov5640.c
    [    2.502403]  csi camera func=ov5640_check_chip_id file=drivers/media/i2c/ov5640.c
    [    2.510154]  csi camera func=ov5640_set_power_on file=drivers/media/i2c/ov5640.c
    [    2.517923]  csi camera func=ov5640_power file=drivers/media/i2c/ov5640.c
    [    2.524957]  csi camera func=ov5640_init_slave_id file=drivers/media/i2c/ov5640.c
    [    2.532706]  csi camera func=ov5640_read_reg16 file=drivers/media/i2c/ov5640.c
    [    2.540180]  csi camera func=ov5640_read_reg file=drivers/media/i2c/ov5640.c
    [    2.593873]  csi camera func=ov5640_set_power_off file=drivers/media/i2c/ov5640.c
    [    2.601614]  csi camera func=ov5640_power file=drivers/media/i2c/ov5640.c
    [    3.655438] csi camera , fun=csi2rx_get_resources file=drivers/media/platform/cadence/cdns-csi2rx.c
    [    3.670297] csi camera , fun=csi2rx_parse_dt file=drivers/media/platform/cadence/cdns-csi2rx.c
    [    3.678991]  csi camera func=v4l2_fwnode_endpoint_parse file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    3.688029]  csi camera func=__v4l2_fwnode_endpoint_parse file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    3.697235]  csi camera func=get_v4l2_fwnode_bus_conv_by_fwnode_bus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    3.707322]  csi camera func=v4l2_fwnode_bus_type_to_mbus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    3.716527]  csi camera func=v4l2_fwnode_endpoint_parse_csi2_bus file=drivers/media/v4l2-core/v4l2-fwnode.c
    [    3.726387] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY

    Thanks,

    Naresh 

  • Hello Naresh,

    Did pca954x probe successfully? Your log showed "pca954x 4-0071: probe failed" last time.

    root@am62xx-evm:~# i2cdetect -y -r 3

    Please make sure you look at the right i2c bus. On AM62x SK, the I2C switch for CSI connection is i2c-4. For example, when OV5640 (I2C address 0x3C) is connected, i2cdetect should show:

    root@am62xx-evm:~# i2cdetect -y -r 4
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- UU -- -- -- -- -- --
    

    [    2.410077]  csi camera func=ov5640_probe file=drivers/media/i2c/ov5640.c

    Were you trying to enable the OV5647 sensor or OV5640 sensor?

    Regards,

    Jianzhong