Add DP83867 to device tree on custom carrier board - PHY not detected

I´m trying to update the device tree of Verdin am62 to work properly with my carrier board ethernet ic dp83867.

DP83867 hardware:

  • Stapped phy address: 0x01
  • Reset pin: GPIO_36 - SODIMM 218
  • rgmii rx and tx delays: 2 ns

I´m pretty sure DP83867 is working, since it shows activity and the link is up on the LEDs.

I updated the k3-am62-verdin-dev.dtsi file of k3-am625-verdin-nonwifi-dev.dts as follows:

                reg = <0>;
                interrupt-parent = <&main_gpio0>;
                interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_eth_int>, <&pinctrl_eth_reset>;
                reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>;
                reset-assert-us = <10>;
                reset-deassert-us = <1000>;
                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
                ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
        };


        cpsw3g_phy1: ethernet-phy@1 {
                compatible = "ti,dp83867";
                reg = <1>;
                interrupt-parent = <&main_gpio0>;
                interrupts = <38 IRQ_TYPE_EDGE_FALLING>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_eth2_rgmii_int>, <&pinctrl_gpio_6>;
                reset-gpios = <&main_gpio0 36 GPIO_ACTIVE_LOW>;
                reset-assert-us = <10>;
                reset-deassert-us = <1000>;
                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
                ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;   // 2.00 ns for RX
                //ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;   // 2.00 ns for TX
        };
};

/* Verdin ETH_1 (On-module PHY) */
&cpsw_port1 {
        phy-handle = <&cpsw3g_phy0>;
        phy-mode = "rgmii-rxid";
        status = "okay";
};

/* Verdin ETH_2_RGMII */
&cpsw_port2 {
        phy-handle = <&cpsw3g_phy1>;
        phy-mode = "rgmii-rxid";
        status = "okay";
};

After I used torizoncore-builder to compile a new image and flash it on verdin using the following tcbuild.yaml:

input:
  easy-installer:
    local: torizon-core-docker-verdin-am62-Tezi_6.8.0-devel-202409+build.26.tar

customization:
  device-tree:
    include-dirs:
      - linux/include
    custom: linux/arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dts
  kernel:
    arguments:
      - CONFIG_TI_DAVINCI_CPSW=y
      - CONFIG_TI_CPSW_PHY_SEL=y
      - CONFIG_TI_DP83867_PHY=y
output:
  easy-installer:
    local: torizon-core-docker-verdin-am62-nomadtech.CUSTOM

When It boot gives an error that it can´t find phy with address 0x01 on port 2.

Boot logs:

U-Boot SPL 2023.04-ti-gc997b1b09fba (Jan 01 1970 - 00:00:00 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
Changed A53 CPU frequency to 1250000000Hz (T grade) in DT
SPL initial stack usage: 13440 bytes
Trying to boot from MMC1
Authentication passed
Authentication passed
Authentication passed
Loading Environment from nowhere... OK
init_env from device 9 not supported!
Authentication passed
Authentication passed
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE:  BL31: Built : 00:00:00, Jan  1 1970

U-Boot SPL 2023.04-ti-gc997b1b09fba (Jan 01 1970 - 00:00:00 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
SPL initial stack usage: 1920 bytes
Trying to boot from MMC1
Authentication passed
Authentication passed


U-Boot 2023.04-ti-gc997b1b09fba (Jan 01 1970 - 00:00:00 +0000)

SoC:   AM62X SR1.0 HS-FS
DRAM:  1 GiB
Core:  143 devices, 31 uclasses, devicetree: separate
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from MMC... OK
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
Model: Toradex 0073 Verdin AM62 Dual 1GB ET V1.1B
Serial#: 15363911
i2c_write: error waiting for data ACK (status=0x116)
get_tdx_eeprom: cannot find EEPROM by node
MISSING TORADEX CARRIER CONFIG BLOCKS
i2c_write: error waiting for data ACK (status=0x116)
get_tdx_eeprom: cannot find EEPROM by node
am65_cpsw_nuss ethernet@8000000: K3 CPSW: nuss_ver: 0x6BA01103 cpsw_ver: 0x6BA81103 ale_ver: 0x00290105 Ports:2 mdio_freq:1000000
Setting variant to nonwifi
Net:   
Warning: ethernet@8000000port@1 MAC addresses don't match:
Address in ROM is		1c:63:49:1f:c2:85
Address in environment is	00:14:2d:ea:6f:47
eth0: ethernet@8000000port@1 [PRIME]Could not get PHY for ethernet@8000000port@1: addr 7
am65_cpsw_nuss_port ethernet@8000000port@2: phy_connect() failed

Hit any key to stop autoboot:  0 
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
973 bytes read in 9 ms (105.5 KiB/s)
## Executing script at 90280000
Saving Environment to MMC... Writing to MMC(0)... OK
6693 bytes read in 10 ms (653.3 KiB/s)
70309 bytes read in 11 ms (6.1 MiB/s)
39 bytes read in 10 ms (2.9 KiB/s)
Working FDT set to 90200000
Applying Overlay: custom-kargs_overlay.dtbo
248 bytes read in 10 ms (23.4 KiB/s)
10990548 bytes read in 84 ms (124.8 MiB/s)
6224733 bytes read in 52 ms (114.2 MiB/s)
   Uncompressing Kernel Image
## Flattened Device Tree blob at 90200000
   Booting using the fdt blob at 0x90200000
Working FDT set to 90200000
   Loading Ramdisk to 988f3000, end 98ee2b5d ... OK
   Loading Device Tree to 00000000988be000, end 00000000988f2fff ... OK
Working FDT set to 988be000

Starting kernel ...

[    1.035381] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=81, clk=20, ret=-19
[    1.095617] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock
[    1.124639] pca953x 1-0021: failed writing register
[    1.381760] OF: /thermal-zones/main0-thermal/cooling-maps/map0: could not find phandle 90
[    1.390061] thermal_sys: Add a cooling_device property with at least one device
[    1.397547] thermal thermal_zone0: binding zone main0-thermal with cdev cpufreq-cpu0 failed:-2
[    1.406279] OF: /thermal-zones/main1-thermal/cooling-maps/map0: could not find phandle 90
[    1.414452] thermal_sys: Add a cooling_device property with at least one device
[    1.421761] thermal thermal_zone1: binding zone main1-thermal with cdev cpufreq-cpu0 failed:-2
[    1.521386] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    1.537824] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=81, clk=20, ret=-19
Starting version 250.5+
[    3.288816] mmc1: card never left busy state
[    3.293218] mmc1: error -110 whilst initialising SD card
[    4.974703] mmc1: card never left busy state
[    4.979039] mmc1: error -110 whilst initialising SD card
[    6.332047] nau8822 1-001a: Failed to issue reset: -121
[    6.586894] ina2xx 1-0040: error configuring the device: -121
[    7.865327] k3-m4-rproc 5000000.m4fss: device does not reserved memory regions, ret = -22
[    7.873550] k3-m4-rproc 5000000.m4fss: reserved memory init failed, ret = -22
[    9.262466] platform 78000000.r5f: device does not have reserved memory regions, ret = -22
[    9.295045] k3_r5_rproc bus@f0000:bus@b00000:r5fss@78000000: reserved memory init failed, ret = -22
[    9.333344] k3_r5_rproc bus@f0000:bus@b00000:r5fss@78000000: k3_r5_cluster_rproc_init failed, ret = -22

TorizonCore 6.8.0-devel-202409+build.26 verdin-am62-15363911 

Could you help me understand the issue here? Feel free to request more info.

Software summary
------------------------------------------------------------
Bootloader:               U-Boot
Kernel version:           6.1.83-6.8.0-devel+git.3122b7a08184 #1-TorizonCore SMP PREEMPT Wed Jul 31 08:58:43 UTC 2024
Kernel command line:      root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/6b22455197c54c99d75f7716b5242d2e06813ae55349edcc17f6974234bf9d8f/0 CONFIG_TI_DAVINCI_CPSW=y CONFIG_TI_CPSW_PHY_SEL=y CONFIG_TI_DP83867_PHY=y
Distro name:              NAME="TorizonCore"
Distro version:           VERSION_ID=6.8.0-devel-202409-build.26
Distro variant:           VARIANT="Docker"
Hostname:                 verdin-am62-15363911
------------------------------------------------------------

Hardware info
------------------------------------------------------------
HW model:                 Toradex Verdin AM62 on Verdin Development Board
Toradex version:          0073 V1.1B
Serial number:            15363911
Processor arch:           aarch64
------------------------------------------------------------

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Based on the information provided, it seems like the PHY at address 0x01 is not being detected on port 2. Here are a few things to check and consider:

  1. PHY Address Configuration: Ensure that the PHY address is correctly strapped to 0x01 on the hardware. Double-check the hardware configuration to confirm that the address is set correctly.

  2. Device Tree Configuration: The device tree snippet you provided seems to be configured correctly for the PHY address and reset pin. However, ensure that the reg property in the ethernet-phy@1 node is set to <1> which corresponds to the PHY address 0x01.

  3. PHY Reset: Verify that the reset GPIO (GPIO_36 - SODIMM 218) is correctly configured and functioning. You can test this by manually toggling the GPIO to see if it affects the PHY.

  4. PHY Mode and Delays: Ensure that the phy-mode is correctly set to match the PHY’s configuration. You have set it to "rgmii-rxid", which should match the PHY’s expected mode. Also, verify that the RX and TX delays are correctly configured in the device tree.

  5. Kernel Configuration: You have included the necessary kernel configurations for the TI DP83867 PHY. Ensure that these configurations are correctly applied in the kernel.

  6. Boot Logs: The boot logs indicate that the PHY is not being detected. Check for any additional error messages related to the MDIO bus or PHY initialization that might provide more insight.

  7. Hardware Connections: Double-check all hardware connections between the SoM and the PHY, including the MDIO and MDC lines, to ensure they are properly connected and functioning.

  8. MDIO Bus: Ensure that the MDIO bus is correctly configured and that there are no conflicts with other devices on the bus.

If all the above checks are correct and the issue persists, you might want to try probing the MDIO bus manually to see if the PHY responds at address 0x01. Additionally, reviewing the full boot log for any other related errors or warnings might provide further clues. If the problem continues, consider reaching out to Toradex support for more detailed assistance.

Please, also check if these links can help you solve your problem:

Ethernet Switch Interface.

Hi @carlar !

Thank you for the detailed information of the approaches you tried already and their outcome! This is really helpful :slight_smile:

That is interesting. It means that something is already “kind of” working. That is good.


About your device tree excerpt: I would recommend you check against the other device trees present in the Linux kernel that use the same phy. If you have some specific question, please feel free to ask :slight_smile:

(although since we don’t have the DP83867 available, it is hard for us to test something)

Something like a grep -rniP "dp83867" from within the folder arch/arm64/boot/dts (dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules) will show you all the device tree files that could be be using this same phy.

Also, the kernel’s documentation about the phy can be helpful for you: ti,dp83867.yaml « net « bindings « devicetree « Documentation - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

In general, checking the Documentation - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules for documentation is very nice. More specifically, for device tree, the folder devicetree/bindings in there.


From your tcbuild.yaml, there is a bit of misunderstanding. Specifically on the arguments section for the kernel:

Here you are not passing kernel arguments, but kernel configs. The kernel configs are used during the kernel build. Currently, TorizonCore Builder is not capable of building the kernel. This arguments section is intended to receive this kind of kernel arguments (or parameters): The kernel’s command-line parameters — The Linux Kernel documentation.

Since you are using Torizon OS, if you need a kernel config to be enabled, we can analyze it and, if it is ok, we can enable it for you.

I checked the current kernel from Torizon OS 6.8.0 to check the kernel configs you tried to enable:


From your logs, seems like U-Boot is the one not being able to communicate with your phy. This makes sense since you modified only the device tree of Linux (TorizonCore Builder currently can’t modify U-Boot). Do you need U-Boot to identify and make use of your 2nd Ethernet? If yes, could you please share what is your use case, so we can better understand what you are trying to accomplish?


Have you tested your 2nd on Linux? Isn’t it working? How exactly is it failing? Could you please share some logs? Example:

  • The full output of dmesg
  • The output of ip link
  • The output of ethtool <interface>, where is the name of your 2nd ethernet interface (as shown in ip link). If needed, this video might be a good introduction to ethtool: https://www.youtube.com/watch?v=aAXX4dbD5rY

Best regards,

First of all, thank you for your quick reply, Henrique.

When I test my 2nd ethernet port in Linux, it doesn’t show up. For example, I do ifconfig and only the 1st ethernet port appears, as shown below:

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:11:23:dd:01  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ethernet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.2  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::3dc3:f74:7521:9be6  prefixlen 64  scopeid 0x20<link>
        ether 00:14:2d:ea:6f:47  txqueuelen 1000  (Ethernet)
        RX packets 1020  bytes 93010 (90.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 177  bytes 18670 (18.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 144  bytes 12976 (12.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 144  bytes 12976 (12.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

I show the complete output of dmesg here:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.83-6.8.0-devel+git.3122b7a08184 (oe-user@oe-host) (aarch64-tdx-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1-TorizonCore SMP PREEMPT Wed Jul 31 08:58:43 UTC 2024
[    0.000000] Machine model: Toradex Verdin AM62 on Verdin Development Board
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000bfffffff]
[    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-0x000000009dafffff]
[    0.000000]   node   0: [mem 0x000000009db00000-0x000000009e6fffff]
[    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
[    0.000000]   node   0: [mem 0x000000009e780000-0x000000009fffffff]
[    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
[    0.000000] cma: Reserved 128 MiB at 0x00000000b6c00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 29 pages/cpu s77928 r8192 d32664 u118784
[    0.000000] pcpu-alloc: s77928 r8192 d32664 u118784 alloc=29*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    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: 258048
[    0.000000] Kernel command line: root=LABEL=otaroot rootfstype=ext4 quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3 ostree=/ostree/boot.1/torizon/6b22455197c54c99d75f7716b5242d2e06813ae55349edcc17f6974234bf9d8f/0 CONFIG_TI_DAVINCI_CPSW=y CONFIG_TI_CPSW_PHY_SEL=y CONFIG_TI_DP83867_PHY=y
[    0.000000] Unknown kernel command line parameters "splash ostree=/ostree/boot.1/torizon/6b22455197c54c99d75f7716b5242d2e06813ae55349edcc17f6974234bf9d8f/0 CONFIG_TI_DAVINCI_CPSW=y CONFIG_TI_CPSW_PHY_SEL=y CONFIG_TI_DP83867_PHY=y", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 824600K/1048576K available (15232K kernel code, 3066K rwdata, 5992K rodata, 3840K init, 594K bss, 92904K reserved, 131072K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] trace event string verifier disabled
[    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=2.
[    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 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    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 @80800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000000800d0000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000800e0000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000394] Console: colour dummy device 80x25
[    0.000446] printk: console [tty0] enabled
[    0.000510] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=2000000)
[    0.000524] pid_max: default: 32768 minimum: 301
[    0.000597] LSM: Security Framework initializing
[    0.000722] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000740] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.002692] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002715] cblist_init_generic: Setting shift to 1 and lim to 1.
[    0.002788] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002793] cblist_init_generic: Setting shift to 1 and lim to 1.
[    0.002987] rcu: Hierarchical SRCU implementation.
[    0.002993] rcu: 	Max phase no-delay instances is 1000.
[    0.003909] Platform MSI: msi-controller@1820000 domain created
[    0.004273] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.004526] EFI services will not be available.
[    0.005068] smp: Bringing up secondary CPUs ...
[    0.005853] Detected VIPT I-cache on CPU1
[    0.005981] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.006002] GICv3: CPU1: using allocated LPI pending table @0x00000000800f0000
[    0.006068] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.006220] smp: Brought up 1 node, 2 CPUs
[    0.006231] SMP: Total of 2 processors activated.
[    0.006238] CPU features: detected: 32-bit EL0 Support
[    0.006244] CPU features: detected: CRC32 instructions
[    0.006309] CPU: All CPU(s) started at EL2
[    0.006313] alternatives: applying system-wide alternatives
[    0.008204] devtmpfs: initialized
[    0.017607] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.017649] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.023552] pinctrl core: initialized pinctrl subsystem
[    0.025011] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.026074] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.026244] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.026335] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.026429] audit: initializing netlink subsys (disabled)
[    0.026720] audit: type=2000 audit(0.020:1): state=initialized audit_enabled=0 res=1
[    0.027310] thermal_sys: Registered thermal governor 'step_wise'
[    0.027317] thermal_sys: Registered thermal governor 'power_allocator'
[    0.027368] cpuidle: using governor menu
[    0.027596] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.027671] ASID allocator initialised with 65536 entries
[    0.027829] Serial: AMBA PL011 UART driver
[    0.040912] platform connector: Fixed dependency cycle(s) with /bus@f0000/dwc3-usb@f900000/usb@31000000
[    0.042908] KASLR disabled due to lack of seed
[    0.056724] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.056745] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.056751] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.056755] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.056760] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.056764] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.056769] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.056773] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.057334] cryptd: max_cpu_qlen set to 1000
[    0.058982] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
[    0.059926] iommu: Default domain type: Translated 
[    0.059935] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.060370] SCSI subsystem initialized
[    0.060654] libata version 3.00 loaded.
[    0.060875] usbcore: registered new interface driver usbfs
[    0.060909] usbcore: registered new interface driver hub
[    0.060936] usbcore: registered new device driver usb
[    0.061490] mc: Linux media interface: v0.10
[    0.061533] videodev: Linux video capture interface: v2.00
[    0.061592] pps_core: LinuxPPS API ver. 1 registered
[    0.061597] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.061612] PTP clock support registered
[    0.061745] EDAC MC: Ver: 3.0.0
[    0.062795] FPGA manager framework
[    0.062903] Advanced Linux Sound Architecture Driver Initialized.
[    0.063561] Bluetooth: Core ver 2.22
[    0.063598] NET: Registered PF_BLUETOOTH protocol family
[    0.063603] Bluetooth: HCI device and connection manager initialized
[    0.063615] Bluetooth: HCI socket layer initialized
[    0.063622] Bluetooth: L2CAP socket layer initialized
[    0.063638] Bluetooth: SCO socket layer initialized
[    0.064457] clocksource: Switched to clocksource arch_sys_counter
[    0.064827] VFS: Disk quotas dquot_6.6.0
[    0.064871] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.085154] NET: Registered PF_INET protocol family
[    0.085566] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.086796] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.086829] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.086843] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.086903] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.087225] TCP: Hash tables configured (established 8192 bind 8192)
[    0.087411] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.087463] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.087691] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.088446] RPC: Registered named UNIX socket transport module.
[    0.088458] RPC: Registered udp transport module.
[    0.088462] RPC: Registered tcp transport module.
[    0.088466] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.088477] NET: Registered PF_XDP protocol family
[    0.088498] PCI: CLS 0 bytes, default 64
[    0.088947] Trying to unpack rootfs image as initramfs...
[    0.095138] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.387871] Freeing initrd memory: 6076K
[    0.882680] Initialise system trusted keyrings
[    0.883110] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.887739] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.888485] NFS: Registering the id_resolver key type
[    0.888526] Key type id_resolver registered
[    0.888530] Key type id_legacy registered
[    0.888593] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.888600] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.923169] NET: Registered PF_ALG protocol family
[    0.923194] Key type asymmetric registered
[    0.923199] Asymmetric key parser 'x509' registered
[    0.923266] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    0.923480] io scheduler mq-deadline registered
[    0.923489] io scheduler kyber registered
[    0.927357] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[    0.928294] pinctrl-single f4000.pinctrl: 171 pins, size 684
[    0.935910] Serial: 8250/16550 driver, 6 ports, IRQ sharing enabled
[    0.949495] brd: module loaded
[    0.954555] loop: module loaded
[    0.955123] zram: Added device: zram0
[    0.960396] VFIO - User Level meta-driver version: 0.3
[    0.961683] usbcore: registered new interface driver usb-storage
[    0.961778] usbcore: registered new interface driver usbserial_generic
[    0.961800] usbserial: USB Serial support registered for generic
[    0.961848] usbcore: registered new device driver onboard-usb-hub
[    0.963081] i2c_dev: i2c /dev entries driver
[    0.965790] sdhci: Secure Digital Host Controller Interface driver
[    0.965810] sdhci: Copyright(c) Pierre Ossman
[    0.966123] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.966827] ledtrig-cpu: registered to indicate activity on CPUs
[    0.967014] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    0.967331] hid: raw HID events driver (C) Jiri Kosina
[    0.967459] usbcore: registered new interface driver usbhid
[    0.967465] usbhid: USB HID core driver
[    0.968736]  cs_system_cfg: CoreSight Configuration manager initialised
[    0.969123] optee: probing for conduit method.
[    0.969165] optee: revision 4.1 (012cdca4)
[    0.969539] optee: dynamic shared memory is enabled
[    0.970418] optee: initialized driver
[    0.970542] random: crng init done
[    0.971843] usbcore: registered new interface driver snd-usb-audio
[    0.973411] NET: Registered PF_INET6 protocol family
[    0.974604] Segment Routing with IPv6
[    0.974638] In-situ OAM (IOAM) with IPv6
[    0.974714] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.975241] NET: Registered PF_PACKET protocol family
[    0.975327] Key type dns_resolver registered
[    0.976111] registered taskstats version 1
[    0.976146] Loading compiled-in X.509 certificates
[    0.976525] Key type .fscrypt registered
[    0.976532] Key type fscrypt-provisioning registered
[    0.989315] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
[    1.033431] ti-sci-clk 44043000.system-controller:clock-controller: recalc-rate failed for dev=81, clk=20, ret=-19
[    1.054422] omap_i2c 4900000.i2c: bus 3 rev0.12 at 100 kHz
[    1.055672] i2c 0-0030: Fixed dependency cycle(s) with /bus@f0000/i2c@20000000/pmic@30/regulators/buck2
[    1.093059] input: tps65219-pwrbutton as /devices/platform/bus@f0000/20000000.i2c/i2c-0/0-0030/tps65219-pwrbutton.2.auto/input/input0
[    1.095139] rtc-ds1307 0-0032: oscillator failed, set time!
[    1.095320] rtc-ds1307 0-0032: registered as rtc0
[    1.095465] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock
[    1.096187] at24 0-0050: supply vcc not found, using dummy regulator
[    1.096616] at24 0-0050: 256 byte 24c02 EEPROM, writable, 16 bytes/write
[    1.096673] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[    1.098669] pca953x 1-0021: supply vcc not found, using dummy regulator
[    1.098867] pca953x 1-0021: using no AI
[    1.124604] pca953x 1-0021: failed writing register
[    1.124820] pca953x: probe of 1-0021 failed with error -121
[    1.125445] at24 1-0057: supply vcc not found, using dummy regulator
[    1.157171] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[    1.158441] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz
[    1.159400] omap_i2c 20030000.i2c: bus 4 rev0.12 at 100 kHz
[    1.159680] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
[    1.159846] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[    1.160106] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[    1.164762] ti-udma 485c0100.dma-controller: Number of rings: 82
[    1.166892] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[    1.169509] ti-udma 485c0000.dma-controller: Number of rings: 150
[    1.173382] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[    1.176360] 4a00000.serial: ttyS3 at MMIO 0x4a00000 (irq = 291, base_baud = 3000000) is a 8250
[    1.177548] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 292, base_baud = 3000000) is a 8250
[    1.199841] printk: console [ttyS2] enabled
[    1.201056] 2810000.serial: ttyS0 at MMIO 0x2810000 (irq = 293, base_baud = 3000000) is a 8250
[    1.202854] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
[    1.254460] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.261230] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
[    1.261495] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[    1.261505] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[    1.262395] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
[    1.264032] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[    1.268123] platform connector: Fixed dependency cycle(s) with /bus@f0000/dwc3-usb@f900000/usb@31000000
[    1.268287] platform 31000000.usb: Fixed dependency cycle(s) with /connector
[    1.274617] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[    1.274687] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
[    1.274841] xhci-hcd xhci-hcd.3.auto: USB3 root hub has no ports
[    1.274852] xhci-hcd xhci-hcd.3.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000008020010010
[    1.274931] xhci-hcd xhci-hcd.3.auto: irq 298, io mem 0x31100000
[    1.275801] hub 1-0:1.0: USB hub found
[    1.275838] hub 1-0:1.0: 1 port detected
[    1.381683] OF: /thermal-zones/main0-thermal/cooling-maps/map0: could not find phandle 90
[    1.389981] thermal_sys: Add a cooling_device property with at least one device
[    1.397447] thermal thermal_zone0: binding zone main0-thermal with cdev cpufreq-cpu0 failed:-2
[    1.406179] OF: /thermal-zones/main1-thermal/cooling-maps/map0: could not find phandle 90
[    1.414352] thermal_sys: Add a cooling_device property with at least one device
[    1.421659] thermal thermal_zone1: binding zone main1-thermal with cdev cpufreq-cpu0 failed:-2
[    1.432336] mmc0: CQHCI version 5.10
[    1.432629] gpio-488 (PCIE_1_RESET#): hogged as output/low
[    1.445085] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
[    1.473718] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[    1.504485] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.515883] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
[    1.519607] sdhci-am654 fa00000.mmc: Got CD GPIO
[    1.520338] mmc1: CQHCI version 5.10
[    1.521269] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    1.532855] input: gpio-keys as /devices/platform/gpio-keys/input/input1
[    1.537603] ti-sci-clk 44043000.system-controller:clock-controller: is_prepared failed for dev=81, clk=20, ret=-19
[    1.553485] ALSA device list:
[    1.553500]   No soundcards found.
[    1.585891] mmc0: Command Queue Engine enabled
[    1.585928] mmc0: new HS200 MMC card at address 0001
[    1.587004] mmcblk0: mmc0:0001 S40004 3.64 GiB 
[    1.589154]  mmcblk0: p1
[    1.589906] mmcblk0boot0: mmc0:0001 S40004 4.00 MiB 
[    1.591305] mmcblk0boot1: mmc0:0001 S40004 4.00 MiB 
[    1.592509] mmcblk0rpmb: mmc0:0001 S40004 4.00 MiB, chardev (242:0)
[    1.595118] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[    1.598211] Freeing unused kernel memory: 3840K
[    1.598357] Run /init as init process
[    1.598364]   with arguments:
[    1.598371]     /init
[    1.598376]     splash
[    1.598381]   with environment:
[    1.598386]     HOME=/
[    1.598390]     TERM=linux
[    1.598394]     ostree=/ostree/boot.1/torizon/6b22455197c54c99d75f7716b5242d2e06813ae55349edcc17f6974234bf9d8f/0
[    1.598401]     CONFIG_TI_DAVINCI_CPSW=y
[    1.598405]     CONFIG_TI_CPSW_PHY_SEL=y
[    1.598410]     CONFIG_TI_DP83867_PHY=y
[    2.057755] Kernel module loaded from ramdisk: pwm_tiehrpwm - result: 0
[    2.071470] Kernel module loaded from ramdisk: fb_sys_fops - result: 0
[    2.079502] Kernel module loaded from ramdisk: sysimgblt - result: 0
[    2.089714] Kernel module loaded from ramdisk: sysfillrect - result: 0
[    2.098825] Kernel module loaded from ramdisk: syscopyarea - result: 0
[    2.113519] Kernel module loaded from ramdisk: drm_kms_helper - result: 0
[    2.121730] Kernel module loaded from ramdisk: drm_dma_helper - result: 0
[    2.137320] Kernel module loaded from ramdisk: tidss - result: 0
[    2.147866] Kernel module loaded from ramdisk: display_connector - result: 0
[    2.169004] Kernel module loaded from ramdisk: tc358768 - result: 0
[    2.179015] Kernel module loaded from ramdisk: ti_sn65dsi83 - result: 0
[    2.196756] Kernel module loaded from ramdisk: lontium_lt8912b - result: 0
[    2.844005] EXT4-fs (mmcblk0p1): recovery complete
[    2.844818] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Quota mode: none.
[    3.111211] mmc1: card never left busy state
[    3.115631] mmc1: error -110 whilst initialising SD card
[    3.160940] systemd[1]: System time before build time, advancing clock.
[    3.196711] 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)
[    3.197288] systemd[1]: Detected architecture arm64.
[    3.304832] systemd[1]: Hostname set to <verdin-am62-15363911>.
[    3.416756] systemd[1]: Using hardware watchdog 'K3 RTI Watchdog', version 0, device /dev/watchdog0
[    3.416832] systemd[1]: Modifying watchdog timeout is not supported, reusing the programmed timeout.
[    3.416887] systemd[1]: Watchdog running with a timeout of 1min.
[    3.562146] systemd-sysv-generator[466]: SysV service '/etc/init.d/fuse3' 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.
[    4.067377] systemd[1]: Queued start job for default target Multi-User System.
[    4.067462] systemd[1]: Unnecessary job was removed for /sys/devices/platform/bus@f0000/2800000.serial/tty/ttyS2.
[    4.161528] systemd[1]: Created slice Slice /system/getty.
[    4.165025] systemd[1]: Created slice Slice /system/modprobe.
[    4.168032] systemd[1]: Created slice Slice /system/serial-getty.
[    4.170362] systemd[1]: Created slice User and Session Slice.
[    4.170838] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.171231] systemd[1]: Reached target Remote File Systems.
[    4.171321] systemd[1]: Reached target Slice Units.
[    4.171424] systemd[1]: Reached target Swaps.
[    4.195389] systemd[1]: Listening on RPCbind Server Activation Socket.
[    4.195659] systemd[1]: Reached target RPC Port Mapper.
[    4.196202] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    4.197156] systemd[1]: Listening on Journal Audit Socket.
[    4.197796] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.198510] systemd[1]: Listening on Journal Socket.
[    4.199875] systemd[1]: Listening on Network Service Netlink Socket.
[    4.204787] systemd[1]: Listening on udev Control Socket.
[    4.205518] systemd[1]: Listening on udev Kernel Socket.
[    4.206164] systemd[1]: Listening on User Database Manager Socket.
[    4.212027] systemd[1]: Mounting Huge Pages File System...
[    4.219575] systemd[1]: Mounting POSIX Message Queue File System...
[    4.227236] systemd[1]: Mounting Kernel Debug File System...
[    4.236539] systemd[1]: Mounting Kernel Trace File System...
[    4.246869] systemd[1]: Mounting Temporary Directory /tmp...
[    4.258589] systemd[1]: Starting Create List of Static Device Nodes...
[    4.265885] systemd[1]: Starting Load Kernel Module configfs...
[    4.272480] systemd[1]: Starting Load Kernel Module drm...
[    4.283649] systemd[1]: Starting Load Kernel Module fuse...
[    4.284310] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
[    4.295139] systemd[1]: Starting Journal Service...
[    4.309849] systemd[1]: Starting Load Kernel Modules...
[    4.312614] fuse: init (API version 7.37)
[    4.324616] systemd[1]: Starting Generate network units from Kernel command line...
[    4.343446] systemd[1]: Starting Remount Root and Kernel File Systems...
[    4.356147] systemd[1]: Starting Wait Until Kernel Time Synchronized...
[    4.365651] systemd[1]: Starting Coldplug All udev Devices...
[    4.386073] systemd[1]: Starting Setup Virtual Console...
[    4.400904] systemd[1]: Mounted Huge Pages File System.
[    4.402054] systemd[1]: Mounted POSIX Message Queue File System.
[    4.403420] systemd[1]: Mounted Kernel Debug File System.
[    4.405150] systemd[1]: Mounted Kernel Trace File System.
[    4.406462] systemd[1]: Mounted Temporary Directory /tmp.
[    4.412050] systemd[1]: Finished Create List of Static Device Nodes.
[    4.415230] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    4.416898] systemd[1]: Finished Load Kernel Module configfs.
[    4.418522] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    4.419818] systemd[1]: Finished Load Kernel Module drm.
[    4.421370] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[    4.422632] systemd[1]: Finished Load Kernel Module fuse.
[    4.443764] systemd[1]: Mounting FUSE Control File System...
[    4.471315] EXT4-fs (mmcblk0p1): re-mounted. Quota mode: none.
[    4.475230] systemd[1]: Mounting Kernel Configuration File System...
[    4.489426] systemd[1]: Mounted FUSE Control File System.
[    4.490866] systemd[1]: Mounted Kernel Configuration File System.
[    4.516292] systemd[1]: Finished Generate network units from Kernel command line.
[    4.519825] systemd[1]: Finished Load Kernel Modules.
[    4.556989] systemd[1]: Starting Apply Kernel Variables...
[    4.570035] systemd[1]: Finished Remount Root and Kernel File Systems.
[    4.576204] systemd[1]: Finished Setup Virtual Console.

I continue with the following comment

[    4.579172] systemd[1]: Rebuild Hardware Database was skipped because of a failed condition check (ConditionNeedsUpdate=/etc).
[    4.579631] systemd[1]: Create System Users was skipped because of a failed condition check (ConditionNeedsUpdate=/etc).
[    4.596435] systemd[1]: Starting Create Static Device Nodes in /dev...
[    4.633350] systemd[1]: Started Journal Service.
[    4.652846] mmc1: card never left busy state
[    4.657641] mmc1: error -110 whilst initialising SD card
[    4.743161] audit: type=1334 audit(1651167746.570:2): prog-id=5 op=LOAD
[    4.743435] audit: type=1334 audit(1651167746.570:3): prog-id=6 op=LOAD
[    4.926849] systemd-journald[480]: Received client request to flush runtime journal.
[    5.786805] audit: type=1334 audit(1651167747.620:4): prog-id=7 op=LOAD
[    5.787054] audit: type=1334 audit(1651167747.620:5): prog-id=8 op=LOAD
[    6.379742] mmc1: card never left busy state
[    6.384081] mmc1: error -110 whilst initialising SD card
[    6.412003] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    6.436844] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    6.437628] cfg80211: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[    6.730418] audit: type=1334 audit(1651167748.560:6): prog-id=9 op=LOAD
[    6.730860] audit: type=1334 audit(1651167748.560:7): prog-id=10 op=LOAD
[    8.645861] lm75 0-0048: supply vs not found, using dummy regulator
[    8.649882] CAN device driver interface
[    8.658063] lm75: probe of 0-0048 failed with error -121
[    8.658493] lm75 1-004f: supply vs not found, using dummy regulator
[    8.676206] lm75: probe of 1-004f failed with error -121
[    8.754600] m_can_platform 4e08000.can: m_can device registered (irq=0, version=32)
[    8.777557] omap8250 2b300000.serial: No clock speed specified: using default: 48000000
[    8.778209] 2b300000.serial: ttyS1 at MMIO 0x2b300000 (irq = 485, base_baud = 3000000) is a 8250
[    8.787065] m_can_platform 20701000.can: m_can device registered (irq=484, version=32)
[    8.884369] ina2xx 1-0040: error configuring the device: -121
[    8.929389] nau8822 1-001a: Failed to issue reset: -121
[    8.970825] nau8822: probe of 1-001a failed with error -121
[    9.343721] k3-m4-rproc 5000000.m4fss: device does not reserved memory regions, ret = -22
[    9.375530] k3-m4-rproc 5000000.m4fss: reserved memory init failed, ret = -22
[    9.390675] remoteproc remoteproc0: releasing 5000000.m4fss
[    9.390718] k3-m4-rproc: probe of 5000000.m4fss failed with error -22
[    9.614175] rtc-ti-k3 2b1f0000.rtc: registered as rtc1
[    9.638122] am65-cpsw-nuss 8000000.ethernet ethernet1: renamed from eth1
[    9.643331] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[    9.647513] platform 78000000.r5f: configured R5F for IPC-only mode
[    9.647554] platform 78000000.r5f: device does not have reserved memory regions, ret = -22
[    9.663899] k3_r5_rproc bus@f0000:bus@b00000:r5fss@78000000: reserved memory init failed, ret = -22
[    9.697977] am65-cpsw-nuss 8000000.ethernet ethernet0: renamed from eth0
[    9.716474] remoteproc remoteproc0: releasing 78000000.r5f
[    9.716630] k3_r5_rproc bus@f0000:bus@b00000:r5fss@78000000: k3_r5_cluster_rproc_init failed, ret = -22
[    9.767988] k3_r5_rproc: probe of bus@f0000:bus@b00000:r5fss@78000000 failed with error -22
[    9.978785] am65-cpsw-nuss 8000000.ethernet ethernet0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=357)
[    9.983531] am65-cpsw-nuss 8000000.ethernet ethernet0: configuring for phy/rgmii-rxid link mode
[   11.114929] remoteproc remoteproc0: 30074000.pru is available
[   11.117873] remoteproc remoteproc1: 30078000.pru is available
[   16.980824] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[   16.985311] Bridge firewalling registered
[   17.038983] audit: type=1325 audit(1651167758.860:8): table=filter family=2 entries=0 op=xt_register pid=707 comm="iptables"
[   17.039037] audit: type=1300 audit(1651167758.860:8): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffe5a5a7b0 items=0 ppid=696 pid=707 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[   17.039051] audit: type=1327 audit(1651167758.860:8): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D4C002D6E
[   17.100352] audit: type=1325 audit(1651167758.900:9): table=nat family=2 entries=0 op=xt_register pid=711 comm="iptables"
[   17.100402] audit: type=1300 audit(1651167758.900:9): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=fffff58ed2d0 items=0 ppid=696 pid=711 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[   17.100417] audit: type=1327 audit(1651167758.900:9): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D74006E6174002D4400505245524F5554494E47002D6D006164647274797065002D2D6473742D74797065004C4F43414C002D6A00444F434B4552
[   17.209104] audit: type=1325 audit(1651167759.040:10): table=nat family=2 entries=5 op=xt_replace pid=729 comm="iptables"
[   17.209171] audit: type=1300 audit(1651167759.040:10): arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaad80e1a60 items=0 ppid=696 pid=729 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[   17.209199] audit: type=1327 audit(1651167759.040:10): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D74006E6174002D4E00444F434B4552
[   17.221522] audit: type=1325 audit(1651167759.050:11): table=filter family=2 entries=4 op=xt_replace pid=731 comm="iptables"
[   17.310895] Initializing XFRM netlink socket
[   21.598106] platform sound: deferred probe pending
[   38.024947] kauditd_printk_skb: 113 callbacks suppressed
[   38.025001] audit: type=1334 audit(1651167779.860:49): prog-id=10 op=UNLOAD
[   38.025091] audit: type=1334 audit(1651167779.860:50): prog-id=9 op=UNLOAD
[   38.547902] audit: type=1334 audit(1651167780.380:51): prog-id=11 op=LOAD
[   38.549127] audit: type=1334 audit(1651167780.380:52): prog-id=12 op=LOAD
[   39.001712] audit: type=1006 audit(1651167780.830:53): pid=873 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
[   39.002126] audit: type=1300 audit(1651167780.830:53): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=fffff04c8990 a2=4 a3=0 items=0 ppid=1 pid=873 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/usr/lib/systemd/systemd" key=(null)
[   39.002184] audit: type=1327 audit(1651167780.830:53): proctitle="(systemd)"

The output of ip link:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
3: ethernet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:14:2d:ea:6f:47 brd ff:ff:ff:ff:ff:ff
4: ethernet1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:14:2d:fa:6f:47 brd ff:ff:ff:ff:ff:ff
5: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
    link/can 
    altname verdin-can2
6: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
    link/can 
    altname verdin-can1
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 02:42:11:23:dd:01 brd ff:ff:ff:ff:ff:ff

The output of ethtool ethernet1:

Settings for ethernet1:
	Supported ports: [ TP	 AUI	 MII	 FIBRE	 BNC	 Backplane ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseKX/Full
	                        1000baseX/Full
	                        100baseT1/Full
	                        1000baseT1/Full
	                        100baseFX/Half 100baseFX/Full
	                        10baseT1L/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  Not reported
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Half
	Auto-negotiation: off
	Port: MII
	PHYAD: 0
	Transceiver: internal
netlink error: Operation not permitted
        Current message level: 0x000020f7 (8439)
                               drv probe link ifdown ifup rx_err tx_err hw
	Link detected: no

Hi @carlar !

I didn’t have time to check your last messages/logs yet.

I will need a bit more time. Sorry for the delay.

Best regards,

Hi @henrique.tx I found the issue.

I forgot to define the RGMII 2 pins… here:

/* Verdin ETHs */
&cpsw3g {

        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
        status = "okay";
};

Now phy 0x01 can be identified and ethernet1 goes up after boot.

However there is no communication when i connect the ethernet cable.
When prompt ethtool ethernet1 this is the output:

Settings for ethernet1:
	Supported ports: [ TP	 MII ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseX/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseX/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Unknown! (255)
	Auto-negotiation: on
	master-slave cfg: forced master
	master-slave status: resolution error
	Port: MII
	PHYAD: 1
	Transceiver: external
netlink error: Operation not permitted
        Current message level: 0x000020f7 (8439)
                               drv probe link ifdown ifup rx_err tx_err hw
	Link detected: no

For what I understand phy is recognize, but the configuration was not applied, as proved by the kernel initializing error [ 1.552990] TI DP83867 8000f00.mdio:01: Error applying setting, reverse things back

My current k3-am62-verdin-dev.dtsi file is attached.
k3-am62-verdin-dev.dtsi (5.6 KB)

Thank you in advance for helping!

Hi, @carlar!

That’s great!

Could you please check the kernel log messages “around” this message? Sometimes there is some message(s) previous to this one that could give you more details on what failed and which pins couldn’t be claimed. Since you now defined more pins, this could be the issue you are facing.

Best regards,

Hi @henrique.tx sorry for the late reply but other things came first.

I follow your advice and found that the RX_D pins were being claimed by the gpio interface and phy couldn´t claim them. After that the device configuration appear as expected.

Settings for ethernet1:
	Supported ports: [ TP	 MII ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseX/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        1000baseX/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Auto-negotiation: on
	master-slave cfg: forced master
	master-slave status: resolution error
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: external
	MDI-X: Unknown
netlink error: Operation not permitted
        Current message level: 0x000020f7 (8439)
                               drv probe link ifdown ifup rx_err tx_err hw
	Link detected: no

However, when connecting an ethernet cable and configure ip and route, there is no link.

Further search showed that the fifo-deph bit should be 0x02 <DP83867_PHYCR_FIFO_DEPTH_6_B_NIB> and not 0x1 <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB> for it to work as a master. Still no link.

But I beleive there is something missing, since autoneg is on and the configuration should be hanble by both machines.

I tried to for master-slave cfg to forced-slave using ethtool ethernet1 -s master-slave force-slave, but it didn´t work despite applying the configuration.

So I went deeper in the problem and compile mii-tool to access the registers. For the first interface (phy0) i can read and write the registers:

root@verdin-am62-15363911:~/mdio-tool# mdio-tool -e ethernet0 -r -a 0x0 -l 0x0A
Probed phyaddr: 0
PHY: 0|REG: 0 ---> 0x1140
PHY: 0|REG: 1 ---> 0x796d
PHY: 0|REG: 2 ---> 0x2000
PHY: 0|REG: 3 ---> 0xa231
PHY: 0|REG: 4 ---> 0x05e1
PHY: 0|REG: 5 ---> 0x41e1
PHY: 0|REG: 6 ---> 0x0065
PHY: 0|REG: 7 ---> 0x2001
PHY: 0|REG: 8 ---> 0x0000
PHY: 0|REG: 9 ---> 0x0200

For phy1 every single register returned 0xffff even after writing to it.

root@verdin-am62-15363911:~/mdio-tool# mdio-tool -e ethernet1 -r -a 0x0 -l 0x0A
Probed phyaddr: 1
PHY: 1|REG: 0 ---> 0xffff
PHY: 1|REG: 1 ---> 0xffff
PHY: 1|REG: 2 ---> 0xffff
PHY: 1|REG: 3 ---> 0xffff
PHY: 1|REG: 4 ---> 0xffff
PHY: 1|REG: 5 ---> 0xffff
PHY: 1|REG: 6 ---> 0xffff
PHY: 1|REG: 7 ---> 0xffff
PHY: 1|REG: 8 ---> 0xffff
PHY: 1|REG: 9 ---> 0xffff

So I believe something is causing this issue and that might be the reason why both devices can negotiate a feasible communication.

Any thoughts on this?

Best Regards,

Hello @carlar,

Thanks for the detailed logs and tests done so far.
Unfortunately, the problem here is still not clear.

One thing which may be worth testing is to use the same compatible string we use for the DP83867 on the Verdin AM62, under the cpsw3g_phy1 node:

compatible = "ethernet-phy-id2000.a231";

Please give this a try and let us know how it goes.

Best Regards,
Bruno