Leaderboard


Popular Content

Showing content with the highest reputation on 06/18/16 in all areas

  1. 1 point
    a.gamez

    Ethernet on ARTY with Linux

    Hi! I've implemented a Microblaze system on the ARTY board, which includes a Texas Instruments DP83848 PHY chip to manage ethernet communications. Xilkernel and example program 'echo server' works wonderfully, so any hardware issue is discarded. However, on linux (using both mainstream and xilinx' github repo), I can't get ethernetlite core to work. This is the info I can provide: axi_ethernetlite_0: ethernet@40e00000 { compatible = "xlnx,xps-ethernetlite-1.00.a"; device_type = "network"; interrupt-parent = <&microblaze_0_axi_intc>; interrupts = <1 0>; reg = <0x40e00000 0x10000>; xlnx,duplex = <0x1>; xlnx,include-global-buffers = <0x1>; xlnx,include-internal-loopback = <0x0>; xlnx,include-mdio = <0x1>; xlnx,rx-ping-pong = <0x1>; xlnx,s-axi-id-width = <0x1>; xlnx,tx-ping-pong = <0x1>; xlnx,use-internal = <0x0>; axi_ethernetlite_0_mdio: mdio { #address-cells = <1>; #size-cells = <0>; phy0: phy@0 { device_type = "ethernet-phy"; reg = <0>; }; }; }; phy0 section was written by me, as it was not provided by dts creation utility for the SDK. dmesg output: xilinx_emaclite 40e00000.ethernet: Device Tree Probing xilinx_emaclite 40e00000.ethernet: Failed to register mdio bus. xilinx_emaclite 40e00000.ethernet: error registering MDIO bus xilinx_emaclite 40e00000.ethernet: MAC address is now 00:0a:35:00:00:00 xilinx_emaclite 40e00000.ethernet: Xilinx EmacLite at 0x40E00000 mapped to 0xF0140000, irq=2 Relevant kernel config: CONFIG_NET_VENDOR_XILINX=y CONFIG_XILINX_EMACLITE=y CONFIG_PHYLIB=y CONFIG_DP83848_PHY=y CONFIG_XILINX_PHY=y eth0 interface appears, and ifconfig eth0 192.168.1.222 doesn't produce any error. However, no other host on the network can reach the ARTY nor viceversa, not by ping, nor by poking at any random port. Any ideas? Thanks!
  2. 1 point
    I did notice that this petalinux project sources a remote kernel from Digilent, and the configuration shows this. So the kernel source is downloaded to {$PROJECT/build/linux/kernel/download/linux-digilent} before being built. However, during project level petalinux-config, I noticed the autoconfig directory for device tree points to the default {/opt/petalinux-v2015.4-final/components//linux-kernel/xlnx-4.0/include} directory. My understanding is that both kernels are 4.0.0, so this will work until someone tries to build with a PMOD device that needs special drivers from the remote kernel...should the device tree autoconfig include directory be changed to point to the remote kernel code source directory, or does petalinux figure this out on it's own? I'd also like to modify the kernel source. Do you recommend I copy the Digilent kernel into $PROJECT/components/kernel first? Or should changes be made within build/linux/kernel/download? I'm not sure how the scripts and makefiles grab the source code for the kernel, and whether changes go into "download" or if they go into the linux-digilent directory. I'll go through the makefiles, but your help could save me some time. Thanks!
  3. 1 point
    Apologies for the long delay. I did get the Zybo Base demo working, and audio seems to be working OK. I think at this point I had a mix of petalinux not updating the BOOT.BIN with the correct .bit file (despite using the documented methods of forcing this rebuilt), but still using the expected system.dtb, so hardware and software were not aligned. So, I made some (more) petalinux projects, based solely on the default files found in the petalinux quick-start found here: https://github.com/Digilent/petalinux-bsps/wiki/Quick-start-guide I can use the prebuilt image and boot via jtag, or build my own (from all default configs), and boot that via SD card. I haven't been able to boot custom images via JTAG, unless I package them as a prebuilt image first. I'm not sure why, but I won't use JTAG for very long, once I get my rootfs back on line anyway. Next I'll try to get back to where I was...patch the linux kernel with preempt_RT, get a rootfs with all the software I am using (tigerVNC and a plethora of audio software), and then modify the hardware image to ditch the video hardware and free up the PL for custom logic. tigerVNC allows me to operate in a headless configuration, but still have command line and X programs, and using fluxbox as a window manager, it's fairly light on these processors and memory. Thanks for the updated quick start guides, and the BSP releases. I will migrate to a custom Yocto build eventually, but petalinux + Linaro as rootfs has the advantage of script builds and apt-get for the moment. Hopefully I don't get ".bit" again with hardware changes.
  4. 1 point
    a.gamez

    Ethernet on ARTY with Linux

    Hi! I think I may have solved this! It seems that etherlite won't work under Linux if Enable Internal Loopback is unchecked. At least that's what's happening to me now Now I have a different problem, which is that before lots of changes, LEDs worked for me using gpio-led module, but now they don't. I guess I have screwed something up, but in a way it's funny that I got ethernet to work but broke something as simple as the LEDs... Best regards!