cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cavo
Visitor
Visitor
1,367 Views
Registered: ‎06-10-2018

Petalinux ZynqMP : AXI-ethernet driver open.. hangover

Hi,

I am attempting to use the AXI Ethernet Subsystem IP block using Marvell 88e1512 PHY and petalinux2018.2, vivado2018.2.

AXI Ethernet works on u-boot.(ping test is ok, kernel image(image.ub) download is ok using by tftp server).

 

But axi ethernet driver is hang over when kernel opens the axi ethernet driver(axienet_open() -> axienet_mii_init()), not in axienet_probe().

I tried to read 0x0500 register of AXI Ethernet IP, can read the register in axienet_probe(), but can't read the register in axienet_mii_init().

And when I read the register in axienet_mii_init(), also kernel hangover.

 

When kernel booting I get following messages :

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

Hit any key to stop autoboot:  0
MPSoC> run netboot
Using ethernet@80000000 device
TFTP from server 192.168.0.4; our IP address is 192.168.0.140
Filename 'image.ub'.
Load address: 0x10000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #######################
         86.9 KiB/s
done
Bytes transferred = 14640640 (df6600 hex)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@system-top.dtb' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  gzip compressed
....................................................................................................
Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0 (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #19 SMP Sat Dec 29 09:00:53 KST 2018
....................................................................................................
[    2.314117] Key type id_legacy registered
[    2.318103] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.324773] jffs2: version 2.2. (NAND) (SUMMARY)  ⓒ 2001-2006 Red Hat, Inc.
[    2.371015] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    2.378231] io scheduler noop registered
[    2.382134] io scheduler deadline registered
[    2.386371] io scheduler cfq registered (default)
[    2.391024] io scheduler mq-deadline registered
[    2.395520] io scheduler kyber registered
[    2.401057] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    2.408039] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    2.415010] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    2.421970] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    2.428932] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    2.435898] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    2.442857] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    2.449828] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    2.456866] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    2.463823] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    2.470789] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    2.477752] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    2.484713] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    2.491677] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    2.498643] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    2.505619] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    2.567108] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.577434] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.589180] brd: module loaded
[    2.596649] loop: module loaded
[    2.600545] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.608078] m25p80 spi0.0: found n25q256a, expected n25q512a
[    2.614143] m25p80 spi0.0: n25q256a (65536 Kbytes)
[    2.618773] 3 ofpart partitions found on MTD device spi0.0
[    2.624215] Creating 3 MTD partitions on "spi0.0":
[    2.628965] 0x000000000000-0x000000100000 : "boot"
[    2.634278] 0x000000100000-0x000000140000 : "bootenv"
[    2.639708] 0x000000140000-0x000001740000 : "kernel"
[    2.645276] libphy: Fixed MDIO Bus: probed
[    2.649569] tun: Universal TUN/TAP device driver, 1.6
[    2.654561] CAN device driver interface
[    2.659083] axienet_probe:1, start 0x80000000, end 0x8003FFFF <- axi ethernet memory map(physical)
[    2.664645] axienet_probe:1, 0x00000000(addr:0x0ADC0000) <- axi ethernet virtual address
[    2.669917] axienet_probe:1, 0x0000005D(addr:0x0ADC0500) <- read 0x500 register
[    2.675206] xilinx_axienet 80000000.ethernet: TX_CSUM 2
[    2.680386] xilinx_axienet 80000000.ethernet: RX_CSUM 2
[    2.685908] libphy: Xilinx Axi Ethernet MDIO: probed
[    2.690727] axienet_mdio_read(phy_id=1, reg=2) == 141 <- 88e1512 PHY read by axi ethernet mdio
[    2.695730] axienet_mdio_read(phy_id=1, reg=3) == dd1
[    2.703014] m88e1510_probe
[    2.705548] marvell_probe
[    2.708132] m88e1510_hwmon_probe
[    2.712020] usbcore: registered new interface driver asix
[    2.717289] usbcore: registered new interface driver ax88179_178a
[    2.723319] usbcore: registered new interface driver cdc_ether
[    2.729113] usbcore: registered new interface driver net1080
[    2.734735] usbcore: registered new interface driver cdc_subset
[    2.740616] usbcore: registered new interface driver zaurus
[    2.746169] usbcore: registered new interface driver cdc_ncm
[    2.752112] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    2.758805] usbcore: registered new interface driver uas
[    2.763968] usbcore: registered new interface driver usb-storage
[    2.770522] rtc_zynqmp ffa60000.rtc: rtc core: registered ffa60000.rtc as rtc0
[    2.777607] i2c /dev entries driver
[    2.781294] IR NEC protocol handler initialized
[    2.785638] IR RC5(x/sz) protocol handler initialized
[    2.790652] IR RC6 protocol handler initialized
[    2.795149] IR JVC protocol handler initialized
[    2.799647] IR Sony protocol handler initialized
[    2.804231] IR SANYO protocol handler initialized
[    2.808902] IR Sharp protocol handler initialized
[    2.813573] IR MCE Keyboard/mouse protocol handler initialized
[    2.819369] IR XMP protocol handler initialized
[    2.825159] usbcore: registered new interface driver uvcvideo
[    2.830716] USB Video Class driver (1.1.1)
[    2.835238] Bluetooth: HCI UART driver ver 2.3
[    2.839506] Bluetooth: HCI UART protocol H4 registered
[    2.844603] Bluetooth: HCI UART protocol BCSP registered
[    2.849906] Bluetooth: HCI UART protocol LL registered
[    2.854983] Bluetooth: HCI UART protocol ATH3K registered
[    2.860344] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.866618] Bluetooth: HCI UART protocol Intel registered
[    2.871937] Bluetooth: HCI UART protocol QCA registered
[    2.877166] usbcore: registered new interface driver bcm203x
[    2.882785] usbcore: registered new interface driver bpa10x
[    2.888320] usbcore: registered new interface driver bfusb
[    2.893774] usbcore: registered new interface driver btusb
[    2.899184] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[    2.904865] usbcore: registered new interface driver ath3k
[    2.910422] EDAC MC: ECC not enabled
[    2.914012] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    2.926551] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 799999 KHz
[    2.933730] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[    2.942504] sdhci: Secure Digital Host Controller Interface driver
[    2.948490] sdhci: Copyright(c) Pierre Ossman
[    2.952813] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.001364] mmc0: SDHCI controller on ff170000.sdhci [ff170000.sdhci] using ADMA 64-bit
[    3.015169] ledtrig-cpu: registered to indicate activity on CPUs
[    3.021229] usbcore: registered new interface driver usbhid
[    3.026618] usbhid: USB HID core driver
[    3.032959] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    3.041165] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    3.050665] Netfilter messages via NETLINK v0.30.
[    3.055394] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.060694] Initializing XFRM netlink socket
[    3.064898] NET: Registered protocol family 10
[    3.069756] Segment Routing with IPv6
[    3.073281] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    3.078785] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.084929] NET: Registered protocol family 17
[    3.089209] NET: Registered protocol family 15
[    3.093618] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.106492] Ebtables v2.0 registered
[    3.112498] can: controller area network core (rev 20170425 abi 9)
[    3.118531] NET: Registered protocol family 29
[    3.122913] can: raw protocol (rev 20170425)
[    3.127140] can: broadcast manager protocol (rev 20170425 t)
[    3.132765] can: netlink gateway (rev 20170425) max_hops=1
[    3.138319] Bluetooth: RFCOMM TTY layer initialized
[    3.143062] Bluetooth: RFCOMM socket layer initialized
[    3.148171] Bluetooth: RFCOMM ver 1.11
[    3.151881] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.154426] mmc0: error -110 whilst initialising SD card
[    3.162430] Bluetooth: BNEP filters: protocol multicast
[    3.167624] Bluetooth: BNEP socket layer initialized
[    3.172552] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.178439] Bluetooth: HIDP socket layer initialized
[    3.183494] 9pnet: Installing 9P2000 support
[    3.187617] Key type dns_resolver registered
[    3.192290] registered taskstats version 1
[    3.196626] Btrfs loaded, crc32c=crc32c-generic
[    3.208363] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 36, base_baud = 6249999) is a ?   3.217308] console [ttyPS0] enabled
[    3.217308] console [ttyPS0] enabled
[    3.224272] bootconsole [cdns0] disabled
[    3.224272] bootconsole [cdns0] disabled
[    3.234434] rtc_zynqmp ffa60000.rtc: setting system clock to 2105-06-03 11:24:30 UTC (4273471470)
[    3.243855] PLL: shutdown
[    3.247533] ALSA device list:
[    3.250429]   No soundcards found.
[    3.255081] Freeing unused kernel memory: 512K
INIT: version 2.88 booting
Starting udev
[    3.399290] udevd[1515]: starting version 3.2.2
[    3.411035] udevd[1516]: starting eudev-3.2.2
Starting internet superserver: inetd.
Configuring packages on first boot....
 (This may take several minutes. Please do not power off the machine.)
Running postinst /etc/rpm-postinsts/100-sysvinit-inittab...
update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)
 Removing any system startup links for run-postinsts ...
  /etc/rcS.d/S99run-postinsts
INIT: Entering runlevel: 5
Configuring network interfaces... [    4.628879] axienet_open()~~~~~
[    4.632029] axienet_mii_init():2 <- when read 0x500 register
[   25.641334] INFO: rcu_sched detected stalls on CPUs/tasks:
[   25.646748]  0-...: (1 GPs behind) idle=1ae/140000000000000/0 softirq=1628/1638 fqs=2625
[   25.654900]  (detected by 1, t=5252 jiffies, g=-11, c=-12, q=192)
[   25.660977] Task dump for CPU 0:
[   25.664189] ip              R  running task        0  1895   1887 0x00000002
[   25.671219] Call trace:
[   25.673661] [<ffffff8008085878>] __switch_to+0x98/0xb0
[   25.678777] [<ffffff80087bd260>] sockfd_lookup_light+0x18/0x90
[   25.684590] [<ffffff80087c0c10>] __sys_sendmsg+0x20/0xa0
[   25.689885] [<ffffff80087c0ca0>] SyS_sendmsg+0x10/0x20
[   25.695004] Exception stack(0xffffff800af5bec0 to 0xffffff800af5c000)
[   25.701428] bec0: 0000000000000003 0000007fdca24f28 0000000000000000 0000007fac9a9000
[   25.709241] bee0: 0000007fdca2cf60 0000000000000004 0000000030687465 0000000030687465
[   25.717053] bf00: 00000000000000d3 7f7f7f7f7f7f7f7f 0101010101010101 0000000000000000
[   25.724864] bf20: 0101010101010101 0000000000000020 0000007fac869d98 0000007fac85cd00
[   25.732676] bf40: 0000007fac926588 0000000000475198 00000000000005db 0000000000000003
[   25.740488] bf60: 00000000feb7ffef 0000007fdca2d700 0000007fdca24f28 0000000000000000
[   25.748300] bf80: 0000007fdca24f60 0000007fdca2d710 0000000000475468 0000000000000000
[   25.756113] bfa0: 0000000000000000 0000007fdca24e60 0000000000443204 0000007fdca24e60
[   25.763925] bfc0: 0000007fac9265b4 0000000080000000 0000000000000003 00000000000000d3
[   25.771736] bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   25.779548] [<ffffff80080837b0>] el0_svc_naked+0x24/0x28
[   88.661333] INFO: rcu_sched detected stalls on CPUs/tasks:
[   88.666741]  0-...: (1 GPs behind) idle=1ae/140000000000000/0 softirq=1628/1638 fqs=10485
[   88.674981]  (detected by 1, t=21007 jiffies, g=-11, c=-12, q=192)

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

 

and DTS settings below(file : projet/build/tmp/work/................/build/system-top.dts)

---------------------------------------------------------------------------------------------------------------

  dma@80040000 {
   #dma-cells = <0x1>;
   clock-names = "s_axi_lite_aclk";
   clocks = <0x3 0x47>;
   compatible = "xlnx,eth-dma";
   interrupt-names = "mm2s_introut", "s2mm_introut";
   interrupt-parent = <0x4>;
   interrupts = <0x0 0x59 0x4 0x0 0x5a 0x4>;
   reg = <0x0 0x80040000 0x0 0x4000>;
   xlnx,include-dre;
   linux,phandle = <0x33>;
   phandle = <0x33>;
  };

  ethernet@80000000 {
   axistream-connected = <0x33>;
   axistream-control-connected = <0x33>;
   clock-frequency = <0x5f5e100>;
   compatible = "xlnx,axi-ethernet-1.00.a";
   device_type = "network";
   interrupt-names = "mac_irq", "interrupt";
   interrupt-parent = <0x4>;
   interrupts = <0x0 0x5c 0x1 0x0 0x5b 0x4>;
   phy-mode = "rgmii-rxid";
   reg = <0x0 0x80000000 0x0 0x40000>;
   xlnx = <0x0>;
   xlnx,axiliteclkrate = <0x0>;
   xlnx,axisclkrate = <0x0>;
   xlnx,clockselection = <0x0>;
   xlnx,enableasyncsgmii = <0x0>;
   xlnx,gt-type = <0x0>;
   xlnx,gtinex = <0x0>;
   xlnx,gtlocation = <0x0>;
   xlnx,gtrefclksrc=<0x0>;
   xlnx,include-dre;
   xlnx,instantiatebitslice0 = <0x0>;
   xlnx,phy-type = <0x3>;
   xlnx,phyaddr = <0x1>;
   xlnx,rable = <0x0>;
   xlnx,rxcsum = <0x2>;
   xlnx,rxlane0-placement = <0x0>;
   xlnx,rxlane1-placement = <0x0>;
   xlnx,rxmem = <0x4000>;
   xlnx,rxnibblebitslice0used = <0x0>;
   xlnx,tx-in-upper-nibble = <0x1>;
   xlnx,txcsum = <0x2>;
   xlnx,txlane0-placement = <0x0>;
   xlnx,txlane1-placement = <0x0>;
   local-mac-address = [00 0a 35 00 01 22];
   phy-handle = <0x34>;
   xlnx,has-mdio = <0x1>;

   mdio {
    #address-cells = <0x1>;
    #size-cells = <0x0>;

    phy@1 {
     device_type = "ethernet-phy";
     reg = <0x1>;
     linux,phandle = <0x34>;
     phandle = <0x34>;
    };
   };
  };

 aliases {
  ethernet0 = "/amba_pl@0/ethernet@80000000";
  serial0 = "/amba/serial@ff000000";
  spi0 = "/amba/spi@ff0f0000";
 };

-----------------------------------------------------------------------------------------

0 Kudos
1 Reply
ahira
Observer
Observer
1,105 Views
Registered: ‎10-15-2018

Were you able to resolve this problem? 

I have a similar issue while trying to bootup my design. Help would be greatly appreciated.

 


[ 11.594924] sdhci: Secure Digital Host Controller Interface driver
[ 11.600663] sdhci: Copyright(c) Pierre Ossman
[ 11.604986] sdhci-pltfm: SDHCI platform and OF driver helper
[ 11.653073] mmc0: SDHCI controller on ff160000.mmc [ff160000.mmc] using ADMA 64-bit
[ 11.655111] PLL: shutdown
[ 11.657739] PLL: enable
[ 11.709073] mmc1: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[ 11.717025] ledtrig-cpu: registered to indicate activity on CPUs
[ 11.717577] usbcore: registered new interface driver usbhid
[ 11.722923] usbhid: USB HID core driver
[ 11.728700] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[ 11.734536] usbcore: registered new interface driver snd-usb-audio
[ 32.749057] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 32.749099] 0-...: (1 GPs behind) idle=61a/140000000000000/0 softirq=828/829 fqs=2626
[ 32.756856] (detected by 3, t=5253 jiffies, g=430, c=429, q=187)
[ 32.762912] Task dump for CPU 0:
[ 32.766112] swapper/0 R running task 0 1 0 0x00000002
[ 32.773118] Call trace:
[ 32.775549] [<ffffff8008085878>] __switch_to+0x98/0xb0
[ 32.780646] [<ffffff8008eda000>] 0xffffff8008eda000
[ 95.769056] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 95.769096] 0-...: (1 GPs behind) idle=61a/140000000000000/0 softirq=828/829 fqs=10501
[ 95.776940] (detected by 3, t=21008 jiffies, g=430, c=429, q=198)
[ 95.783083] Task dump for CPU 0:
[ 95.786283] swapper/0 R running task 0 1 0 0x00000002
[ 95.793289] Call trace:
[ 95.795715] [<ffffff8008085878>] __switch_to+0x98/0xb0
[ 95.800816] [<ffffff8008eda000>] 0xffffff8008eda000
[ 158.789057] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 158.789097] 0-...: (1 GPs behind) idle=61a/140000000000000/0 softirq=828/829 fqs=18376
[ 158.796939] (detected by 2, t=36763 jiffies, g=430, c=429, q=198)
[ 158.803081] Task dump for CPU 0:
[ 158.806281] swapper/0 R running task 0 1 0 0x00000002
[ 158.813288] Call trace:
[ 158.815714] [<ffffff8008085878>] __switch_to+0x98/0xb0
[ 158.820815] [<ffffff8008eda000>] 0xffffff8008eda000

0 Kudos