Jump to content

Rock 3c Based Device - Cannot attach to PHY


s1cx

Recommended Posts

Built latest image for a Rock 3c based device and am having an issue with ethernet connectivity. Boots fine. Wifi works well and it seems functional other than Eth connectivity. 

My old DTB (from 4.19) will not boot , using a rock3c DTB instead to get a 90% functional device

Showing the following for ethernet

dmesg | grep eth
[    0.000000] psci: probing for conduit method from DT.
[    3.199039] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found
[    3.199576] rk_gmac-dwmac fe010000.ethernet: clock input or output? (output).
[    3.199601] rk_gmac-dwmac fe010000.ethernet: TX delay(0x30).
[    3.199614] rk_gmac-dwmac fe010000.ethernet: RX delay(0x10).
[    3.199635] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no).
[    3.204712] rk_gmac-dwmac fe010000.ethernet: init for RGMII
[    3.208587] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51
[    3.208629] rk_gmac-dwmac fe010000.ethernet:         DWMAC4/5
[    3.208645] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported
[    3.208655] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported
[    3.208665] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported
[    3.208673] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported
[    3.208826] rk_gmac-dwmac fe010000.ethernet: TSO supported
[    3.208841] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    3.208855] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10)
[    3.208870] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled
[    3.208881] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width
[   19.363313] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   19.364568] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)
[   19.495835] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   19.497405] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)
[   19.534125] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   19.535151] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)
[   19.559774] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   19.561300] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)
[   19.585340] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   19.586439] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -19)


 

ifconfig -a


eth0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 5e:f6:2b:24:65:02  txqueuelen 1000  (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
        device interrupt 70

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 92  bytes 8013 (8.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 92  bytes 8013 (8.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.87  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::1613:33ff:fe49:f6a9  prefixlen 64  scopeid 0x20<link>
        inet6 fd74:b7a7:661b:594c:1613:33ff:fe49:f6a9  prefixlen 64  scopeid 0x0<global>
        ether 14:13:33:49:f6:a9  txqueuelen 1000  (Ethernet)
        RX packets 554  bytes 43352 (43.3 KB)
        RX errors 0  dropped 30  overruns 0  frame 0
        TX packets 153  bytes 13457 (13.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


4.19 kernel boots fine with Eth connectivity with latest u-boot, so this appears to be a kernel issue. 

Any idea where i should look in the dtb? I am basically blindly looking into it right now and could use some pointers. I've been looking around these forums for the last hour or so and really don't see anything related directly to my board/issue

Attached the old (4.19) based dtb with working ethernet and current (no ethernet)



 

rk3566-box-current.dts rk3566-box-4.19.dts

Link to comment
Share on other sites

Armbian & Khadas are rewarding contributors

Posted (edited)

Yeah. Messed with those options to match the original. Tried changing 1 line at a time, etc ,etc.


Pretty much changed that node as many ways as I could, doesn't seem to be the case. I'm assuming it's somewhere else in the dts file 
 

Edited by s1cx
Link to comment
Share on other sites

Update

i created a patch to add +CONFIG_PHY_MOTORCOMM=y to the uboot defconfig since the chip is a Motorcomm YT8512C. Changed things up a little.

 

[    0.000000] psci: probing for conduit method from DT.
[    2.670967] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found
[    2.671508] rk_gmac-dwmac fe010000.ethernet: clock input or output? (input).
[    2.671532] rk_gmac-dwmac fe010000.ethernet: TX delay(0x30).
[    2.671546] rk_gmac-dwmac fe010000.ethernet: RX delay(0x10).
[    2.671566] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no).
[    2.671622] rk_gmac-dwmac fe010000.ethernet: clock input from PHY
[    2.676655] rk_gmac-dwmac fe010000.ethernet: init for RGMII
[    2.677175] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51
[    2.677214] rk_gmac-dwmac fe010000.ethernet:         DWMAC4/5
[    2.677230] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported
[    2.677240] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported
[    2.677249] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported
[    2.677258] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported
[    2.677395] rk_gmac-dwmac fe010000.ethernet: TSO supported
[    2.677410] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    2.677424] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10)
[    2.677439] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled
[    2.677450] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width
[   13.145407] rk_gmac-dwmac fe010000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   13.147665] rk_gmac-dwmac fe010000.ethernet eth0: PHY [stmmac-0:00] driver [RTL8211E Gigabit Ethernet] (irq=POLL)
[   14.151864] rk_gmac-dwmac fe010000.ethernet: Failed to reset the dma
[   14.151894] rk_gmac-dwmac fe010000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed
[   14.151904] rk_gmac-dwmac fe010000.ethernet eth0: __stmmac_open: Hw setup failed


Here is current dts 

 

	ethernet@fe010000 {
		compatible = "rockchip,rk3568-gmac\0snps,dwmac-4.20a";
		reg = <0x00 0xfe010000 0x00 0x10000>;
		interrupts = <0x00 0x20 0x04 0x00 0x1d 0x04>;
		interrupt-names = "macirq\0eth_wake_irq";
		clocks = <0x0e 0x186 0x0e 0x189 0x0e 0x189 0x0e 0xc7 0x0e 0xc3 0x0e 0xc4 0x0e 0x189 0x0e 0xc8>;
		clock-names = "stmmaceth\0mac_clk_rx\0mac_clk_tx\0clk_mac_refout\0aclk_mac\0pclk_mac\0clk_mac_speed\0ptp_ref";
		resets = <0x0e 0xec>;
		reset-names = "stmmaceth";
		rockchip,grf = <0x1d>;
		snps,axi-config = <0x43>;
		snps,mixed-burst;
		snps,mtl-rx-config = <0x44>;
		snps,mtl-tx-config = <0x45>;
		snps,tso;
		status = "okay";
		assigned-clocks = <0x0e 0x189 0x0e 0x187 0x0e 0x186>;
		assigned-clock-parents = <0x0e 0x187 0x0e 0x186 0x46>;
		clock_in_out = "input";
		phy-supply = <0x18>;
		phy-mode = "rgmii";
		pinctrl-names = "default";
		pinctrl-0 = <0x47 0x48 0x49 0x4a 0x4b 0x4c>;
		snps,reset-gpio = <0x4d 0x01 0x01>;
		snps,reset-active-low;
		snps,reset-delays-us = <0x00 0x4e20 0x186a0>;
		tx_delay = <0x30>;
		rx_delay = <0x10>;
		phy-handle = <0x4e>;
		phandle = <0xe5>;

		mdio {
			compatible = "snps,dwmac-mdio";
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			phandle = <0xe6>;

			ethernet-phy@0 {
				compatible = "ethernet-phy-id001c.c915\0ethernet-phy-ieee802.3-c22";
				reg = <0x00>;
				status = "okay";
				phandle = <0x4e>;
			};
		};


Will continue to work on, although any insight would be great. could use a nudge 

Link to comment
Share on other sites

I've now resigned myself to the fact that using Raxda's SBCs requires external adapters, they are not able to provide even a minimal working system, as their latest Debian image demonstrates: https://github.com/radxa-build/rock-3c/releases/tag/b43.

 

So yours don't work either, or am I doing something wrong? 

 

 ____            _      _____  ____ 
|  _ \ ___   ___| | __ |___ / / ___|
| |_) / _ \ / __| |/ /   |_ \| |    
|  _ < (_) | (__|   <   ___) | |___ 
|_| \_\___/ \___|_|\_\ |____/ \____|
                                    
Welcome to Armbian_community 24.11.0-trunk.4 Bookworm with Linux 6.6.47-current-rockchip64

No end-user support: untested automated build

System load:   21%           	Up time:       0 min	
Memory usage:  5% of 1.93G  	IP:	       192.168.1.163
CPU temp:      63°C           	Usage of /:    6% of 29G    

 

uname -a

Linux rock2g 6.6.47-current-rockchip64 #1 SMP PREEMPT Mon Aug 19 04:04:32 UTC 2024 aarch64 GNU/Linux

 

sudo dmesg -l 0,1,2,3

[   11.942338] of_dma_request_slave_channel: dma-names property of node '/serial@fe650000' missing or empty

[   14.090200] Bluetooth: hci0: command 0x0c03 tx timeout

[   14.090306] Bluetooth: hci0: BCM: Reset failed (-110)

 

ip a | grep "inet "

    inet 127.0.0.1/8 scope host lo

    inet 192.168.1.163/24 metric 100 brd 192.168.1.255 scope global dynamic enxb88d1254cda3

 

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host noprefixroute

       valid_lft forever preferred_lft forever

2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

    link/ether a6:a2:b0:36:4d:8f brd ff:ff:ff:ff:ff:ff

    inet6 2a01:e11:1400:5d0:6bf9:d83d:a987:dc3f/64 scope global temporary dynamic

       valid_lft 86027sec preferred_lft 85098sec

    inet6 2a01:e11:1400:5d0:a4a2:b0ff:fe36:4d8f/64 scope global dynamic mngtmpaddr noprefixroute

       valid_lft 86027sec preferred_lft 86027sec

    inet6 fe80::a4a2:b0ff:fe36:4d8f/64 scope link

       valid_lft forever preferred_lft forever

3: enxb88d1254cda3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether b8:8d:12:54:cd:a3 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.163/24 metric 100 brd 192.168.1.255 scope global dynamic enxb88d1254cda3

       valid_lft 41689sec preferred_lft 41689sec

    inet6 fd8c:df22:1b60:a94b:8d64:46a6:bfb8:62b8/64 scope global temporary deprecated dynamic

       valid_lft 475sec preferred_lft 0sec

    inet6 fd8c:df22:1b60:a94b:ba8d:12ff:fe54:cda3/64 scope global deprecated dynamic mngtmpaddr noprefixroute

       valid_lft 475sec preferred_lft 0sec

    inet6 2a01:e11:1400:5d0:f759:2829:fa0b:ad4e/64 scope global temporary dynamic

       valid_lft 86027sec preferred_lft 84745sec

    inet6 2a01:e11:1400:5d0:ba8d:12ff:fe54:cda3/64 scope global dynamic mngtmpaddr noprefixroute

       valid_lft 86027sec preferred_lft 86027sec

    inet6 fe80::ba8d:12ff:fe54:cda3/64 scope link

       valid_lft forever preferred_lft forever

 

sudo dmesg | grep eth

[    0.000000] psci: probing for conduit method from DT.

[    4.039090] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found

[    4.042387] rk_gmac-dwmac fe010000.ethernet: clock input or output? (input).

[    4.042420] rk_gmac-dwmac fe010000.ethernet: TX delay(0x47).

[    4.042435] rk_gmac-dwmac fe010000.ethernet: RX delay(0x27).

[    4.042461] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no).

[    4.042527] rk_gmac-dwmac fe010000.ethernet: clock input from PHY

[    4.050680] rk_gmac-dwmac fe010000.ethernet: init for RGMII

[    4.055059] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51

[    4.055098] rk_gmac-dwmac fe010000.ethernet: DWMAC4/5

[    4.055113] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported

[    4.055123] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported

[    4.055133] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported

[    4.055142] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported

[    4.055276] rk_gmac-dwmac fe010000.ethernet: TSO supported

[    4.055291] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer

[    4.055305] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10)

[    4.055319] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled

[    4.055331] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width

[    4.302372] rk_gmac-dwmac fe010000.ethernet end0: renamed from eth0

[    4.656403] asix 6-1:1.0 eth0: register 'asix' at usb-fd880000.usb-1, ASIX AX88772 USB 2.0 Ethernet, b8:8d:12:54:cd:a3

[    4.664025] asix 6-1:1.0 enxb88d1254cda3: renamed from eth0

[   11.660738] rk_gmac-dwmac fe010000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0

[   11.758203] rk_gmac-dwmac fe010000.ethernet end0: PHY [stmmac-0:01] driver [RTL8211F Gigabit Ethernet] (irq=POLL)

[   11.768291] rk_gmac-dwmac fe010000.ethernet end0: No Safety Features support found

[   11.768322] rk_gmac-dwmac fe010000.ethernet end0: IEEE 1588-2008 Advanced Timestamp supported

[   11.768670] rk_gmac-dwmac fe010000.ethernet end0: registered PTP clock

[   11.769109] rk_gmac-dwmac fe010000.ethernet end0: configuring for phy/rgmii link mode

[  673.250279] rk_gmac-dwmac fe010000.ethernet end0: Link is Up - 100Mbps/Full - flow control rx/tx

 

Module                  Size  Used by
lz4hc                  12288  0
lz4                    12288  0
zram                   32768  3
binfmt_misc            20480  1
nls_iso8859_1          12288  1
hci_uart              135168  0
hantro_vpu            249856  0
v4l2_vp9               20480  1 hantro_vpu
rockchip_rga           20480  0
btqca                  20480  1 hci_uart
videobuf2_dma_contig    20480  1 hantro_vpu
btrtl                  28672  1 hci_uart
snd_soc_simple_card    20480  0
snd_soc_rk817          40960  1
snd_soc_hdmi_codec     20480  1
v4l2_h264              16384  1 hantro_vpu
snd_soc_rockchip_i2s_tdm    20480  4
v4l2_mem2mem           24576  2 hantro_vpu,rockchip_rga
videobuf2_dma_sg       16384  1 rockchip_rga
btintel                40960  1 hci_uart
snd_soc_simple_card_utils    24576  1 snd_soc_simple_card
snd_soc_core          208896  5 snd_soc_rockchip_i2s_tdm,snd_soc_hdmi_codec,snd_soc_rk817,snd_soc_simple_card_utils,snd_soc_simple_card
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_dma_sg
btbcm                  20480  1 hci_uart
videobuf2_v4l2         20480  3 hantro_vpu,rockchip_rga,v4l2_mem2mem
pwm_fan                20480  0
snd_compress           24576  1 snd_soc_core
bluetooth             663552  6 btrtl,btqca,btintel,hci_uart,btbcm
videodev              229376  4 videobuf2_v4l2,hantro_vpu,rockchip_rga,v4l2_mem2mem
panfrost               69632  0
snd_pcm_dmaengine      12288  1 snd_soc_core
display_connector      16384  0
rk_crypto2             36864  0
snd_pcm               106496  5 snd_soc_hdmi_codec,snd_compress,snd_soc_simple_card_utils,snd_soc_core,snd_pcm_dmaengine
videobuf2_common       49152  7 videobuf2_dma_contig,videobuf2_v4l2,hantro_vpu,rockchip_rga,videobuf2_dma_sg,v4l2_mem2mem,videobuf2_memops
gpu_sched              36864  1 panfrost
snd_timer              36864  1 snd_pcm
dw_hdmi_i2s_audio      12288  0
dw_hdmi_cec            12288  0
mc                     53248  5 videodev,videobuf2_v4l2,hantro_vpu,videobuf2_common,v4l2_mem2mem
drm_shmem_helper       16384  1 panfrost
sm3_generic            12288  1 rk_crypto2
snd                    77824  5 snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
sm3                    20480  1 sm3_generic
at24                   20480  0
rk817_charger          20480  0
soundcore              12288  1 snd
apple_mfi_fastcharge    16384  0
cpufreq_dt             16384  0
cfg80211              802816  0
rfkill                 24576  3 bluetooth,cfg80211
dm_mod                126976  0
ip_tables              28672  0
x_tables               36864  1 ip_tables
autofs4                40960  2
ax88796b               12288  1
realtek                32768  1
spi_rockchip_sfc       16384  0
dwmac_rk               28672  0
stmmac_platform        20480  1 dwmac_rk
stmmac                233472  3 stmmac_platform,dwmac_rk
pcs_xpcs               20480  1 stmmac
asix                   49152  0
usbnet                 40960  1 asix
Edited by Celona
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines