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.

AM3352: AM3352 Ethernet CPSW RGMII 10Base can not work

Part Number: AM3352

Tool/software:

Hi Expert,

The customer is currently using TI AM3352 with Broadcom BCM54210S PHY, and there is no problem at 1000 or 100Mbps.

But it doesn’t work at 10Mbps!

The PHY has detected that the other party is 10Base-T and Link Up. Using tcpdump, you can receive the packets sent by the other party, but the CPU cannot send out the TX packets!

Check the _cpsw_adjust_link function in cpsw.c. I'm sure we have set the in-band mode (MACCONTROL BIT 18). Is there anything else we need to pay attention to?

The customer has confirmed that the in-band mode (MACCONTROL BIT 18) has been set. Is there anything else that needs attention?

SDK 06_03_00_106, Linux kernel is 4.19.94

_cpsw_adjust_link :

 

if (phy->link) {
mac_control = cpsw->data.mac_control;

/* enable forwarding */
cpsw_ale_control_set(cpsw->ale, slave_port,
    ALE_PORT_STATE,
    priv->port_state[slave_port]);

if (phy->speed == 1000)
mac_control |= BIT(7); /* GIGABITEN */
if (phy->duplex)
mac_control |= BIT(0); /* FULLDUPLEXEN */

/* set speed_in input in case RMII mode is used in 100Mbps */
if (phy->speed == 100)
mac_control |= BIT(15);
/* in band mode only works in 10Mbps RGMII mode */
else if ((phy->speed == 10) && phy_interface_is_rgmii(phy))
mac_control |= BIT(18); /* In Band mode */

if (priv->rx_pause)
mac_control |= BIT(3);

if (priv->tx_pause)
mac_control |= BIT(4);

*link = true;

if (priv->shp_cfg_speed &&
   priv->shp_cfg_speed != slave->phy->speed &&
   !cpsw_shp_is_off(priv))
dev_warn(priv->dev,
"Speed was changed, CBS shaper speeds are changed!");

} else { 

device tree:

 

...

...

 cpsw_default: rgmii1_pins_default {
                pinctrl-single,pins = <
                  /* rmii1 */
                        AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (J16) gmii1_txen.rgmii1_tctl */
                        AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (J17) gmii1_rxdv.rgmii1_rctl */
                        AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (K18) gmii1_txclk.rgmii1_tclk */
                        AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (L18) gmii1_rxclk.rgmii1_rclk */
                        AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (K17) gmii1_txd0.rgmii1_td0 */
                        AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (K16) gmii1_txd1.rgmii1_td1 */
                        AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (K15) gmii1_txd2.rgmii1_td2 */
                        AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (J18) gmii1_txd3.rgmii1_td3 */
                        AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (M16) gmii1_rxd0.rgmii1_rd0 */
                        AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (L15) gmii1_rxd1.rgmii1_rd1 */
                        AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (L16) gmii1_rxd2.rgmii1_rd2 */
                        AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (L17) gmii1_rxd3.rgmii1_rd3 */
                        /* rmii2 */
                        AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (R13) gpmc_a0.rgmii2_tctl */
                        AM33XX_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (V14) gpmc_a1.rgmii2_rctl */
                        AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (U15) gpmc_a6.rgmii2_tclk */
                        AM33XX_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (T15) gpmc_a7.rgmii2_rclk */
                        AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (V15) gpmc_a5.rgmii2_td0 */
                        AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (R14) gpmc_a4.rgmii2_td1 */
                        AM33XX_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (T14) gpmc_a3.rgmii2_td2 */
                        AM33XX_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* (U14) gpmc_a2.rgmii2_td3 */
                        AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (V17) gpmc_a11.rgmii2_rd0 */
                        AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (T16) gpmc_a10.rgmii2_rd1 */
                        AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (U16) gpmc_a9.rgmii2_rd2 */
                        AM33XX_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE2) /* (V16) gpmc_a8.rgmii2_rd3 */
                >;
        };

...

...

&mac {

        pinctrl-names = "default";

        pinctrl-0 = <&cpsw_default>;

        pinctrl-1 = <&cpsw_sleep>;

        status = "okay";

        dual_emac ;

 

};

 

&davinci_mdio {

        pinctrl-names = "default";

        pinctrl-0 = <&davinci_mdio_default>;

        /*pinctrl-1 = <&davinci_mdio_sleep>;*/

        status = "okay";

        ethernet-phy@0 {

                compatible = "brcm,bcm54210", "ethernet-phy-ieee802.3-c22";

                device_type = "ethernet-phy";

                reg = <0>;

        };

        ethernet-phy@1 {

                compatible = "brcm,bcm54210", "ethernet-phy-ieee802.3-c22";

                device_type = "ethernet-phy";

                reg = <1>;

        };

};

 

&cpsw_emac0 {

        phy_id = <&davinci_mdio>, <0>;

        phy-mode = "rgmii-id";

        dual_emac_res_vlan = <1>;

};

 

&cpsw_emac1 {

        phy_id = <&davinci_mdio>, <1>;

        phy-mode = "rgmii-id";

        dual_emac_res_vlan = <2>;

};

 

 

Thanks

Daniel

  • Hi,

    There are no changes required to support 10Mbps this should happen automatically as CPSW is setting based on information read from the PHY. 

    Please post the results of ethool eth0. 

    How are you setting up for 10Mbps?

    Thank you for posting the SDK and Kernel version, please this SDK is over 4 old and 2 years past the support window. The support TI provides maybe limited.

    Best Regards,

    Schuyler

  • Hi Schuyler

    I attached both demsg dump files.

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94 (ubuntu@ubuntu1604) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #77 Tue Jul 23 15:17:21 CST 2024
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: ATOP NTS8600
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] cma: Reserved 16 MiB at 0xbf000000
    [    0.000000] On node 0 totalpages: 262144
    [    0.000000]   Normal zone: 1536 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 196608 pages, LIFO batch:63
    [    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    0.000000] random: get_random_bytes called from start_kernel+0x84/0x458 with crng_init=0
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
    [    0.000000] Kernel command line: console=ttyO0,115200n8 ramdisk_size=800000 root=/dev/ram0 rw rootfstype=ext2
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 994552K/1048576K available (8192K kernel code, 619K rwdata, 2496K rodata, 1024K init, 216K bss, 37640K reserved, 16384K cma-reserved, 245760K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (9184 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 620 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 217 kB)
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000015] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000038] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000047] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000379] timer_probe: no matching timers found
    [    0.000756] Console: colour dummy device 80x30
    [    0.000806] Calibrating delay loop... 992.25 BogoMIPS (lpj=496128)
    [    0.009262] pid_max: default: 32768 minimum: 301
    [    0.009396] Security Framework initialized
    [    0.009464] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.009481] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.010061] CPU: Testing write buffer coherency: ok
    [    0.010122] CPU0: Spectre v2: using BPIALL workaround
    [    0.010847] Setting up static identity map for 0x80100000 - 0x80100078
    [    0.012716] devtmpfs: initialized
    [    0.019086] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.019390] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.019416] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.020743] pinctrl core: initialized pinctrl subsystem
    [    0.021746] NET: Registered protocol family 16
    [    0.023831] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.043979] l4_wkup_cm:clk:0010:0: failed to disable
    [    0.096502] cpuidle: using governor ladder
    [    0.096517] cpuidle: using governor menu
    [    0.105485] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
    [    0.105615] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
    [    0.105664] OMAP GPIO hardware version 0.1
    [    0.107181] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
    [    0.107326] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
    [    0.108687] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
    [    0.108772] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
    [    0.110107] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
    [    0.110204] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
    [    0.116645] No ATAGs?
    [    0.116657] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.149721] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.150362] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator@0[0]'
    [    0.151640] SCSI subsystem initialized
    [    0.151897] usbcore: registered new interface driver usbfs
    [    0.151946] usbcore: registered new interface driver hub
    [    0.152016] usbcore: registered new device driver usb
    [    0.153054] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.164005] clocksource: Switched to clocksource timer1
    [    0.231366] NET: Registered protocol family 2
    [    0.232069] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
    [    0.232098] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.232168] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.232236] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.232382] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.232407] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.232545] NET: Registered protocol family 1
    [    0.234188] RPC: Registered named UNIX socket transport module.
    [    0.234205] RPC: Registered udp transport module.
    [    0.234210] RPC: Registered tcp transport module.
    [    0.234216] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.235500] Trying to unpack rootfs image as initramfs...
    [    0.266021] random: fast init done
    [    1.361577] Freeing initrd memory: 15340K
    [    1.362491] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    1.364118] Initialise system trusted keyrings
    [    1.366112] workingset: timestamp_bits=30 max_order=18 bucket_order=0
    [    1.366821] NFS: Registering the id_resolver key type
    [    1.366881] Key type id_resolver registered
    [    1.366888] Key type id_legacy registered
    [    1.366929] jffs2: version 2.2. (NAND) (SUMMARY)  c 2001-2006 Red Hat, Inc.
    [    1.367175] fuse init (API version 7.27)
    [    1.372050] Key type asymmetric registered
    [    1.372066] Asymmetric key parser 'x509' registered
    [    1.372124] bounce: pool size: 64 pages
    [    1.372149] io scheduler noop registered
    [    1.372156] io scheduler deadline registered
    [    1.372224] io scheduler cfq registered (default)
    [    1.372234] io scheduler mq-deadline registered
    [    1.372240] io scheduler kyber registered
    [    1.373752] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [    1.375406] Serial: 8250/16550 driver, 48 ports, IRQ sharing enabled
    [    1.390784] omap_uart 44e09000.serial: no wakeirq for uart0
    [    1.390836] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@44e09000[0]'
    [    1.390973] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
    [    1.973849] console [ttyO0] enabled
    [    1.978036] omap_uart 48022000.serial: no wakeirq for uart1
    [    1.983888] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48022000[0]'
    [    1.984037] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
    [    1.994462] omap_uart 481a8000.serial: no wakeirq for uart4
    [    2.000354] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a8000[0]'
    [    2.000447] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 32, base_baud = 3000000) is a OMAP UART4
    [    2.012135] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    2.019897] random: crng init done
    [    2.037952] brd: module loaded
    [    2.051455] loop: module loaded
    [    2.055311] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    2.068475] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    [    2.077597] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    2.077609] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    2.077617] mdio_bus fixed-0: No GPIO consumer reset found
    [    2.077639] libphy: Fixed MDIO Bus: probed
    [    2.096798] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    2.096808] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    2.096829] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    2.096842] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    2.096851] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    2.096858] mdio_bus 4a101000.mdio: No GPIO consumer reset found
    [    2.130045] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 12500000
    [    2.138169] libphy: 4a101000.mdio: probed
    [    2.148836] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@0[0]'
    [    2.154408] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@1[0]'
    [    2.154724] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Broadcom BCM54210S
    [    2.164127] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Broadcom BCM54210S
    [    2.174141] cpsw 4a100000.ethernet: Missing dual_emac_res_vlan in DT.
    [    2.180887] cpsw 4a100000.ethernet: Using 1 as Reserved VLAN for 0 slave
    [    2.187908] cpsw 4a100000.ethernet: Missing dual_emac_res_vlan in DT.
    [    2.194630] cpsw 4a100000.ethernet: Using 2 as Reserved VLAN for 1 slave
    [    2.201620] cpsw 4a100000.ethernet: Detected MACID = f4:b8:98:88:04:78
    [    2.209326] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    2.216014] cpsw 4a100000.ethernet: ALE Table size 1024
    [    2.222378] cpsw 4a100000.ethernet: cpsw: Detected MACID = f4:b8:98:88:04:7a
    [    2.230661] PPP generic driver version 2.4.2
    [    2.237427] PPP MPPE Compression module registered
    [    2.242477] NET: Registered protocol family 24
    [    2.247158] PPTP driver version 0.8.5
    [    2.251757] usbcore: registered new interface driver cdc_ether
    [    2.257926] usbcore: registered new interface driver cdc_eem
    [    2.263895] usbcore: registered new interface driver smsc95xx
    [    2.269939] usbcore: registered new interface driver rndis_host
    [    2.276165] usbcore: registered new interface driver cdc_ncm
    [    2.282102] usbcore: registered new interface driver qmi_wwan
    [    2.288445] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    2.295280] ehci-omap: OMAP-EHCI Host Controller driver
    [    2.300883] usbcore: registered new interface driver cdc_wdm
    [    2.306854] usbcore: registered new interface driver usb-storage
    [    2.313225] usbcore: registered new interface driver ftdi_sio
    [    2.319256] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    2.326913] usbcore: registered new interface driver option
    [    2.332757] usbserial: USB Serial support registered for GSM modem (1-port)
    [    2.340041] usbcore: registered new interface driver pl2303
    [    2.345890] usbserial: USB Serial support registered for pl2303
    [    2.353537] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [    2.353546] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [    2.353570] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.353583] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.353592] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [    2.353599] am335x-phy-driver 47401300.usb-phy: No GPIO consumer reset found
    [    2.353606] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [    2.353611] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [    2.353622] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.353633] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.353639] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [    2.353644] am335x-phy-driver 47401300.usb-phy: No GPIO consumer vbus-detect found
    [    2.353756] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [    2.364175] am335x-phy-driver 47401300.usb-phy: Linked as a consumer to regulator.0
    [    2.378342] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [    2.378353] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [    2.378379] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.378393] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.378402] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [    2.378409] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer reset found
    [    2.378416] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [    2.378420] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [    2.378431] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.378442] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.378448] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [    2.378453] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer vbus-detect found
    [    2.378560] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [    2.388980] am335x-phy-driver 47401b00.usb-phy: Linked as a consumer to regulator.0
    [    2.405404] udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers
    [    2.422106] omap_rtc 44e3e000.rtc: registered as rtc0
    [    2.427800] i2c /dev entries driver
    [    2.432452] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    2.432461] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    2.432499] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
    [    2.432583] gpio gpiochip0: Persistence not supported for GPIO 29
    [    2.432596] omap_gpio 44e07000.gpio: Could not set line 29 debounce to 200000 microseconds (-22)
    [    2.441806] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    2.446633] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    2.446638] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    2.446655] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [    2.446667] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [    2.446675] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    2.446683] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
    [    2.447202] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
    [    2.480404] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer wp
    [    2.480416] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
    [    2.480439] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@481d8000[0]'
    [    2.480450] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@481d8000[0]'
    [    2.480458] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
    [    2.480465] omap_hsmmc 481d8000.mmc: No GPIO consumer wp found
    [    2.480841] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.1
    [    2.514083] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/run_led[0]' - status (0)
    [    2.514159] gpio gpiochip2: Persistence not supported for GPIO 24
    [    2.514163] no flags found for gpios
    [    2.514323] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/gnss_led[0]' - status (0)
    [    2.514334] gpio gpiochip2: Persistence not supported for GPIO 23
    [    2.514337] no flags found for gpios
    [    2.514424] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/alm_led[0]' - status (0)
    [    2.514434] gpio gpiochip2: Persistence not supported for GPIO 22
    [    2.514437] no flags found for gpios
    [    2.515655] remoteproc remoteproc0: wkup_m3 is available
    [    2.521769] oprofile: using arm/armv7
    [    2.526682] xt_time: kernel timezone is -0000
    [    2.531470] gre: GRE over IPv4 demultiplexor driver
    [    2.536568] ip_gre: GRE over IPv4 tunneling driver
    [    2.543153] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
    [    2.549885] Initializing XFRM netlink socket
    [    2.554506] NET: Registered protocol family 10
    [    2.563826] Segment Routing with IPv6
    [    2.568086] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.575663] NET: Registered protocol family 17
    [    2.580369] NET: Registered protocol family 15
    [    2.585065] Bridge firewalling registered
    [    2.590240] 8021q: 802.1Q VLAN Support v1.8
    [    2.594730] Key type dns_resolver registered
    [    2.599418] ThumbEE CPU extension supported.
    [    2.603907] Registering SWP/SWPB emulation handler
    [    2.608916] omap_voltage_late_init: Voltage driver support not added
    [    2.617299] Loading compiled-in X.509 certificates
    [    2.632758] at24 0-0053: GPIO lookup for consumer wp
    [    2.632769] at24 0-0053: using device tree for GPIO lookup
    [    2.632794] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/i2c@44e0b000/eeprom1@53[0]'
    [    2.632806] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/i2c@44e0b000/eeprom1@53[0]'
    [    2.632816] at24 0-0053: using lookup tables for GPIO lookup
    [    2.632823] at24 0-0053: No GPIO consumer wp found
    [    2.644347] at24 0-0053: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
    [    2.651552] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    2.659353] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
    [    2.667264] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
    [    2.676098] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    2.681690] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [    2.690508] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [    2.699167] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    2.706694] usb usb1: Product: MUSB HDRC host driver
    [    2.711873] usb usb1: Manufacturer: Linux 4.19.94 musb-hcd
    [    2.717594] usb usb1: SerialNumber: musb-hdrc.0
    [    2.723160] hub 1-0:1.0: USB hub found
    [    2.727421] hub 1-0:1.0: 1 port detected
    [    2.735387] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    2.740999] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [    2.749483] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [    2.758149] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    2.765687] usb usb2: Product: MUSB HDRC host driver
    [    2.770867] usb usb2: Manufacturer: Linux 4.19.94 musb-hcd
    [    2.776588] usb usb2: SerialNumber: musb-hdrc.1
    [    2.782122] hub 2-0:1.0: USB hub found
    [    2.786371] hub 2-0:1.0: 1 port detected
    [    2.791953] hctosys: unable to open rtc device (rtc1)
    [    2.797618] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    2.809608] mmc1: new high speed MMC card at address 0001
    [    2.818983] mmcblk1: mmc1:0001 DG4008 7.28 GiB
    [    2.824428] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
    [    2.831253] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
    [    2.845065] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    2.852565] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (249:0)
    [    2.862611] Freeing unused kernel memory: 1024K
    [    2.868137] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    2.877148] cfg80211: failed to load regulatory.db
    [    2.882731] Run /init as init process
    [    2.886892]  mmcblk1: p1
    [    2.975174] atop_wdt: loading out-of-tree module taints kernel.
    [    2.982187] Register Atop_wdt driver done.
    [    2.993772] Register xxxx_buzzer driver done.
    [    3.005935] Register xxxx_rtc driver done.
    [    3.031716] Register xxx_eeprom driver done.
    [    3.043081] Register xxxx_RST_Button driver done.
    [    3.055359] gpio-86 (alm_led): gpiod_request: status -16
    [    3.055368] request_and_set_gpio: Unable to request GPIO_ALARM_LED
    [    3.061884] Register xxxx_alarm_led driver done.
    [    3.073991] Register xxxx_cpld driver done.
    [    3.085963] Register xxxx_pps_irq driver done.
    [    3.129845] gpio gpiochip0: Persistence not supported for GPIO 7
    [    3.130681] gpio gpiochip0: Persistence not supported for GPIO 20
    [    3.156283] EXT2-fs (mmcblk1p1): warning: mounting unchecked fs, running e2fsck is recommended
    [    3.493031] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [    3.626195] usb 2-1: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 3.00
    [    3.634730] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    3.644913] smsc95xx v1.0.6
    [    3.690641] smsc95xx 2-1:1.0 eth2: register 'smsc95xx' at usb-musb-hdrc.1-1, smsc95xx USB 2.0 Ethernet, ea:a0:3c:36:c4:1e
    [    6.421308] net eth0: initializing cpsw version 1.12 (0)
    [    6.432084] Broadcom BCM54210S 4a101000.mdio:00: attached PHY driver [Broadcom BCM54210S] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
    [    6.448351] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    6.454461] 8021q: adding VLAN 0 to HW filter on device eth0
    [    6.468830] device eth0 entered promiscuous mode
    [    6.482241] net eth1: initializing cpsw version 1.12 (0)
    [    6.493571] Broadcom BCM54210S 4a101000.mdio:01: attached PHY driver [Broadcom BCM54210S] (mii_bus:phy_addr=4a101000.mdio:01, irq=POLL)
    [    6.506435] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.517747] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.527919] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [    6.534023] 8021q: adding VLAN 0 to HW filter on device eth1
    [    6.547933] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.557360] device eth1 entered promiscuous mode
    [    6.709706] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
    [   62.765303] cpsw 4a100000.ethernet eth0: Link is Up - 10Mbps/Half - flow control off
    [   62.773707] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    #

    # dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94 (ubuntu@ubuntu1604) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #77 Tue Jul 23 15:17:21 CST 2024
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: ATOP NTS8600
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] cma: Reserved 16 MiB at 0xbf000000
    [    0.000000] On node 0 totalpages: 262144
    [    0.000000]   Normal zone: 1536 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 196608 pages, LIFO batch:63
    [    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (neon)
    [    0.000000] random: get_random_bytes called from start_kernel+0x84/0x458 with crng_init=0
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
    [    0.000000] Kernel command line: console=ttyO0,115200n8 ramdisk_size=800000 root=/dev/ram0 rw rootfstype=ext2
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 994552K/1048576K available (8192K kernel code, 619K rwdata, 2496K rodata, 1024K init, 216K bss, 37640K reserved, 16384K cma-reserved, 245760K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (9184 kB)
    [    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
    [    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 620 kB)
    [    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 217 kB)
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [    0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [    0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [    0.000037] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [    0.000046] OMAP clocksource: timer1 at 24000000 Hz
    [    0.000377] timer_probe: no matching timers found
    [    0.000753] Console: colour dummy device 80x30
    [    0.000798] Calibrating delay loop... 992.25 BogoMIPS (lpj=496128)
    [    0.009255] pid_max: default: 32768 minimum: 301
    [    0.009393] Security Framework initialized
    [    0.009457] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.009475] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.010045] CPU: Testing write buffer coherency: ok
    [    0.010105] CPU0: Spectre v2: using BPIALL workaround
    [    0.010828] Setting up static identity map for 0x80100000 - 0x80100078
    [    0.012710] devtmpfs: initialized
    [    0.019075] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.019379] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.019406] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.020738] pinctrl core: initialized pinctrl subsystem
    [    0.021737] NET: Registered protocol family 16
    [    0.023793] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.043970] l4_wkup_cm:clk:0010:0: failed to disable
    [    0.096511] cpuidle: using governor ladder
    [    0.096526] cpuidle: using governor menu
    [    0.105483] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
    [    0.105610] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
    [    0.105659] OMAP GPIO hardware version 0.1
    [    0.107171] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
    [    0.107308] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
    [    0.108663] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
    [    0.108755] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
    [    0.110080] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
    [    0.110178] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
    [    0.116573] No ATAGs?
    [    0.116584] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.150084] edma 49000000.edma: TI EDMA DMA engine driver
    [    0.150726] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator@0[0]'
    [    0.151997] SCSI subsystem initialized
    [    0.152299] usbcore: registered new interface driver usbfs
    [    0.152353] usbcore: registered new interface driver hub
    [    0.152422] usbcore: registered new device driver usb
    [    0.153453] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [    0.164346] clocksource: Switched to clocksource timer1
    [    0.231521] NET: Registered protocol family 2
    [    0.232167] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
    [    0.232194] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.232264] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.232371] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.232520] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [    0.232545] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [    0.232687] NET: Registered protocol family 1
    [    0.234332] RPC: Registered named UNIX socket transport module.
    [    0.234400] RPC: Registered udp transport module.
    [    0.234405] RPC: Registered tcp transport module.
    [    0.234411] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.235859] Trying to unpack rootfs image as initramfs...
    [    0.265368] random: fast init done
    [    1.362051] Freeing initrd memory: 15340K
    [    1.362964] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [    1.364587] Initialise system trusted keyrings
    [    1.366590] workingset: timestamp_bits=30 max_order=18 bucket_order=0
    [    1.367309] NFS: Registering the id_resolver key type
    [    1.367409] Key type id_resolver registered
    [    1.367417] Key type id_legacy registered
    [    1.367460] jffs2: version 2.2. (NAND) (SUMMARY)  c 2001-2006 Red Hat, Inc.
    [    1.367625] fuse init (API version 7.27)
    [    1.372559] Key type asymmetric registered
    [    1.372576] Asymmetric key parser 'x509' registered
    [    1.372639] bounce: pool size: 64 pages
    [    1.372664] io scheduler noop registered
    [    1.372671] io scheduler deadline registered
    [    1.372739] io scheduler cfq registered (default)
    [    1.372748] io scheduler mq-deadline registered
    [    1.372754] io scheduler kyber registered
    [    1.374248] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [    1.375899] Serial: 8250/16550 driver, 48 ports, IRQ sharing enabled
    [    1.391494] omap_uart 44e09000.serial: no wakeirq for uart0
    [    1.391547] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@44e09000[0]'
    [    1.391672] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a OMAP UART0
    [    1.975346] console [ttyO0] enabled
    [    1.979532] omap_uart 48022000.serial: no wakeirq for uart1
    [    1.985404] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@48022000[0]'
    [    1.985522] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31, base_baud = 3000000) is a OMAP UART1
    [    1.995966] omap_uart 481a8000.serial: no wakeirq for uart4
    [    2.001876] of_get_named_gpiod_flags: can't parse 'rts-gpio' property of node '/ocp/serial@481a8000[0]'
    [    2.001963] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 32, base_baud = 3000000) is a OMAP UART4
    [    2.013675] omap_rng 48310000.rng: Random Number Generator ver. 20
    [    2.021532] random: crng init done
    [    2.039448] brd: module loaded
    [    2.052885] loop: module loaded
    [    2.056737] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    2.070008] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    [    2.079134] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    2.079146] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    2.079154] mdio_bus fixed-0: No GPIO consumer reset found
    [    2.079177] libphy: Fixed MDIO Bus: probed
    [    2.098315] mdio_bus 4a101000.mdio: GPIO lookup for consumer reset
    [    2.098326] mdio_bus 4a101000.mdio: using device tree for GPIO lookup
    [    2.098415] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    2.098429] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@4a100000/mdio@4a101000[0]'
    [    2.098439] mdio_bus 4a101000.mdio: using lookup tables for GPIO lookup
    [    2.098447] mdio_bus 4a101000.mdio: No GPIO consumer reset found
    [    2.132395] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 12500000
    [    2.140516] libphy: 4a101000.mdio: probed
    [    2.151122] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@0[0]'
    [    2.156935] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@4a100000/mdio@4a101000/ethernet-phy@1[0]'
    [    2.157251] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Broadcom BCM54210S
    [    2.166665] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Broadcom BCM54210S
    [    2.176678] cpsw 4a100000.ethernet: Missing dual_emac_res_vlan in DT.
    [    2.183435] cpsw 4a100000.ethernet: Using 1 as Reserved VLAN for 0 slave
    [    2.190465] cpsw 4a100000.ethernet: Missing dual_emac_res_vlan in DT.
    [    2.197197] cpsw 4a100000.ethernet: Using 2 as Reserved VLAN for 1 slave
    [    2.204204] cpsw 4a100000.ethernet: Detected MACID = f4:b8:98:88:04:78
    [    2.211908] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [    2.218597] cpsw 4a100000.ethernet: ALE Table size 1024
    [    2.224944] cpsw 4a100000.ethernet: cpsw: Detected MACID = f4:b8:98:88:04:7a
    [    2.233226] PPP generic driver version 2.4.2
    [    2.239977] PPP MPPE Compression module registered
    [    2.245050] NET: Registered protocol family 24
    [    2.249739] PPTP driver version 0.8.5
    [    2.254369] usbcore: registered new interface driver cdc_ether
    [    2.260521] usbcore: registered new interface driver cdc_eem
    [    2.266498] usbcore: registered new interface driver smsc95xx
    [    2.272538] usbcore: registered new interface driver rndis_host
    [    2.278776] usbcore: registered new interface driver cdc_ncm
    [    2.284731] usbcore: registered new interface driver qmi_wwan
    [    2.291082] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    2.297926] ehci-omap: OMAP-EHCI Host Controller driver
    [    2.303537] usbcore: registered new interface driver cdc_wdm
    [    2.309514] usbcore: registered new interface driver usb-storage
    [    2.315898] usbcore: registered new interface driver ftdi_sio
    [    2.321955] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    2.329625] usbcore: registered new interface driver option
    [    2.335476] usbserial: USB Serial support registered for GSM modem (1-port)
    [    2.342776] usbcore: registered new interface driver pl2303
    [    2.348632] usbserial: USB Serial support registered for pl2303
    [    2.356272] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer reset
    [    2.356283] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [    2.356308] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.356322] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.356389] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [    2.356399] am335x-phy-driver 47401300.usb-phy: No GPIO consumer reset found
    [    2.356406] am335x-phy-driver 47401300.usb-phy: GPIO lookup for consumer vbus-detect
    [    2.356411] am335x-phy-driver 47401300.usb-phy: using device tree for GPIO lookup
    [    2.356426] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.356437] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401300[0]'
    [    2.356444] am335x-phy-driver 47401300.usb-phy: using lookup tables for GPIO lookup
    [    2.356449] am335x-phy-driver 47401300.usb-phy: No GPIO consumer vbus-detect found
    [    2.356561] am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
    [    2.366963] am335x-phy-driver 47401300.usb-phy: Linked as a consumer to regulator.0
    [    2.380943] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer reset
    [    2.380954] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [    2.380980] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.380992] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.381001] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [    2.381009] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer reset found
    [    2.381014] am335x-phy-driver 47401b00.usb-phy: GPIO lookup for consumer vbus-detect
    [    2.381019] am335x-phy-driver 47401b00.usb-phy: using device tree for GPIO lookup
    [    2.381030] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpios' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.381041] of_get_named_gpiod_flags: can't parse 'vbus-detect-gpio' property of node '/ocp/usb@47400000/usb-phy@47401b00[0]'
    [    2.381047] am335x-phy-driver 47401b00.usb-phy: using lookup tables for GPIO lookup
    [    2.381052] am335x-phy-driver 47401b00.usb-phy: No GPIO consumer vbus-detect found
    [    2.381159] am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
    [    2.391615] am335x-phy-driver 47401b00.usb-phy: Linked as a consumer to regulator.0
    [    2.408022] udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers
    [    2.424774] omap_rtc 44e3e000.rtc: registered as rtc0
    [    2.430515] i2c /dev entries driver
    [    2.435146] omap_hsmmc 48060000.mmc: GPIO lookup for consumer cd
    [    2.435155] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    2.435193] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@48060000[0]' - status (0)
    [    2.435276] gpio gpiochip0: Persistence not supported for GPIO 29
    [    2.435291] omap_gpio 44e07000.gpio: Could not set line 29 debounce to 200000 microseconds (-22)
    [    2.444527] omap_hsmmc 48060000.mmc: Got CD GPIO
    [    2.449361] omap_hsmmc 48060000.mmc: GPIO lookup for consumer wp
    [    2.449367] omap_hsmmc 48060000.mmc: using device tree for GPIO lookup
    [    2.449384] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@48060000[0]'
    [    2.449395] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@48060000[0]'
    [    2.449403] omap_hsmmc 48060000.mmc: using lookup tables for GPIO lookup
    [    2.449411] omap_hsmmc 48060000.mmc: No GPIO consumer wp found
    [    2.449892] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
    [    2.483086] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer wp
    [    2.483097] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
    [    2.483117] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@481d8000[0]'
    [    2.483130] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@481d8000[0]'
    [    2.483138] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
    [    2.483146] omap_hsmmc 481d8000.mmc: No GPIO consumer wp found
    [    2.483596] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.1
    [    2.515094] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/run_led[0]' - status (0)
    [    2.515173] gpio gpiochip2: Persistence not supported for GPIO 24
    [    2.515177] no flags found for gpios
    [    2.515397] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/gnss_led[0]' - status (0)
    [    2.515410] gpio gpiochip2: Persistence not supported for GPIO 23
    [    2.515413] no flags found for gpios
    [    2.515514] of_get_named_gpiod_flags: parsed 'gpios' property of node '/leds/alm_led[0]' - status (0)
    [    2.515525] gpio gpiochip2: Persistence not supported for GPIO 22
    [    2.515528] no flags found for gpios
    [    2.516697] remoteproc remoteproc0: wkup_m3 is available
    [    2.522839] oprofile: using arm/armv7
    [    2.527774] xt_time: kernel timezone is -0000
    [    2.532549] gre: GRE over IPv4 demultiplexor driver
    [    2.537648] ip_gre: GRE over IPv4 tunneling driver
    [    2.544194] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
    [    2.550960] Initializing XFRM netlink socket
    [    2.555587] NET: Registered protocol family 10
    [    2.565016] Segment Routing with IPv6
    [    2.569253] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    2.576860] NET: Registered protocol family 17
    [    2.581568] NET: Registered protocol family 15
    [    2.586267] Bridge firewalling registered
    [    2.591403] 8021q: 802.1Q VLAN Support v1.8
    [    2.595880] Key type dns_resolver registered
    [    2.600571] ThumbEE CPU extension supported.
    [    2.605069] Registering SWP/SWPB emulation handler
    [    2.610083] omap_voltage_late_init: Voltage driver support not added
    [    2.618434] Loading compiled-in X.509 certificates
    [    2.633874] at24 0-0053: GPIO lookup for consumer wp
    [    2.633885] at24 0-0053: using device tree for GPIO lookup
    [    2.633908] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/i2c@44e0b000/eeprom1@53[0]'
    [    2.633921] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/i2c@44e0b000/eeprom1@53[0]'
    [    2.633930] at24 0-0053: using lookup tables for GPIO lookup
    [    2.633937] at24 0-0053: No GPIO consumer wp found
    [    2.645692] at24 0-0053: 8192 byte 24c64 EEPROM, writable, 1 bytes/write
    [    2.652909] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [    2.660682] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
    [    2.668601] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
    [    2.677436] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    [    2.683045] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    [    2.691882] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [    2.700554] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    2.708095] usb usb1: Product: MUSB HDRC host driver
    [    2.713290] usb usb1: Manufacturer: Linux 4.19.94 musb-hcd
    [    2.719013] usb usb1: SerialNumber: musb-hdrc.0
    [    2.724576] hub 1-0:1.0: USB hub found
    [    2.728835] hub 1-0:1.0: 1 port detected
    [    2.736768] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    2.742376] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    [    2.750862] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [    2.759534] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    2.767077] usb usb2: Product: MUSB HDRC host driver
    [    2.772260] usb usb2: Manufacturer: Linux 4.19.94 musb-hcd
    [    2.777985] usb usb2: SerialNumber: musb-hdrc.1
    [    2.783526] hub 2-0:1.0: USB hub found
    [    2.787811] hub 2-0:1.0: 1 port detected
    [    2.793451] hctosys: unable to open rtc device (rtc1)
    [    2.799086] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [    2.811186] mmc1: new high speed MMC card at address 0001
    [    2.820503] mmcblk1: mmc1:0001 DG4008 7.28 GiB
    [    2.825903] mmcblk1boot0: mmc1:0001 DG4008 partition 1 4.00 MiB
    [    2.832730] mmcblk1boot1: mmc1:0001 DG4008 partition 2 4.00 MiB
    [    2.846580] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [    2.854039] mmcblk1rpmb: mmc1:0001 DG4008 partition 3 4.00 MiB, chardev (249:0)
    [    2.864102] Freeing unused kernel memory: 1024K
    [    2.869631] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
    [    2.878674] cfg80211: failed to load regulatory.db
    [    2.884265] Run /init as init process
    [    2.897919]  mmcblk1: p1
    [    2.977481] atop_wdt: loading out-of-tree module taints kernel.
    [    2.984494] Register Atop_wdt driver done.
    [    2.996210] Register xxxx_buzzer driver done.
    [    3.008446] Register xxxx_rtc driver done.
    [    3.034262] Register xxx_eeprom driver done.
    [    3.045698] Register xxxx_RST_Button driver done.
    [    3.058258] gpio-86 (alm_led): gpiod_request: status -16
    [    3.058267] request_and_set_gpio: Unable to request GPIO_ALARM_LED
    [    3.064820] Register xxxx_alarm_led driver done.
    [    3.077007] Register xxxx_cpld driver done.
    [    3.088982] Register xxxx_pps_irq driver done.
    [    3.133557] gpio gpiochip0: Persistence not supported for GPIO 7
    [    3.134324] gpio gpiochip0: Persistence not supported for GPIO 20
    [    3.160020] EXT2-fs (mmcblk1p1): warning: mounting unchecked fs, running e2fsck is recommended
    [    3.500377] usb 2-1: new high-speed USB device number 2 using musb-hdrc
    [    3.633556] usb 2-1: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 3.00
    [    3.642110] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    3.652317] smsc95xx v1.0.6
    [    3.698000] smsc95xx 2-1:1.0 eth2: register 'smsc95xx' at usb-musb-hdrc.1-1, smsc95xx USB 2.0 Ethernet, 36:f1:4f:ef:d1:7a
    [    6.428284] net eth0: initializing cpsw version 1.12 (0)
    [    6.439770] Broadcom BCM54210S 4a101000.mdio:00: attached PHY driver [Broadcom BCM54210S] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
    [    6.456056] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    6.462176] 8021q: adding VLAN 0 to HW filter on device eth0
    [    6.476277] device eth0 entered promiscuous mode
    [    6.489746] net eth1: initializing cpsw version 1.12 (0)
    [    6.501003] Broadcom BCM54210S 4a101000.mdio:01: attached PHY driver [Broadcom BCM54210S] (mii_bus:phy_addr=4a101000.mdio:01, irq=POLL)
    [    6.513872] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.525188] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.535402] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [    6.541514] 8021q: adding VLAN 0 to HW filter on device eth1
    [    6.555677] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode
    [    6.565128] device eth1 entered promiscuous mode
    [    6.717049] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
    [   39.278057] eth0 BCM PHY link up, media is Copper
    [   39.284774] cpsw 4a100000.ethernet eth0: Link is Up - 10Mbps/Full - flow control off
    [   39.295111] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    #

    Thanks

    Daniel

  • Hi,

    When I see messages like below usually means auto-neg is not completing as expected. 10Mbps half duplex is typically the last attempt of the PHY to establish a link.

    cpsw 4a100000.ethernet eth0: Link is Up - 10Mbps/Half - flow control off

    Do you have a TI-EVM by chance to test the setup with?

    The statement about not being able to advertise speed 10 after the ethtool setup is concerning. This may imply the hardware configure of the PHY is not setup. Please attach the results of ethtool eth0, I am looking to see what is being read from the PHY indicating what speeds are being advertised.

    Best Regards,

    Schuyler

  • Hi Schuyler

    The ethtool command to set speed must be followed by duplex full or duplex half parameter, or ethtool command will just report error.

    I follow duplex full, and the command works, but the traffic is still not be able to send in 10Mbps full.

    After issued the command, ethtool eth0 shows the advertisement is only 10baseT/Full

    Typically, the ethtool eth0 will advertise all the possible combinations, shown as below:

    And the PHY is able to detect the link speed and report to the driver.

    The issue is that why the CPU's RGMII_TXCTL is not asserted while sending out the packet.

    Other pins including clock and tx pins are all working fine per our measurements.

    Thanks

    Daniel

  • Hi,

    Apologies, I should have asked this in the previous post. Do you have access to ethtool on the link partner? Do you have a TI EVM that you could use as a link partner?

    Best Regards,

    Schuyler