• Content Count

  • Joined

  • Last visited

Everything posted by malkauns

  1. Here's my pl.dtsi: latest boot log:
  2. Thanks for the tip. I would never have known that! So it boots now (after a few seconds of delay at "bootconsole [earlycon0] disabled") but when I do a cat /proc/interrupts I get the following: CPU0 CPU1 16: 0 0 GIC 27 gt 17: 0 0 GIC 43 ttc_clockevent 18: 4942 2578 GIC 29 twd 21: 43 0 GIC 39 f8007100.adc 73: 0 0 zynq-gpio 50 btn4 74: 0 0 zynq-gpio 51 btn5 141: 8 0 GIC 57 cdns-i2c 142: 75 0 GIC 80 cdns-i2c 144: 0 0 GIC 35 f800c000.ocmc 145: 28 0 GIC 59 xuartps 146: 89 0 GIC 82 xuartps 147: 0 0 GIC 58 e0006000.spi 148: 0 0 GIC 81 e0007000.spi 149: 3 0 GIC 51 e000d000.spi 150: 0 0 GIC 54 eth0 151: 81 0 GIC 56 mmc0 152: 0 0 GIC 45 f8003000.dmac 153: 0 0 GIC 46 f8003000.dmac 154: 0 0 GIC 47 f8003000.dmac 155: 0 0 GIC 48 f8003000.dmac 156: 0 0 GIC 49 f8003000.dmac 157: 0 0 GIC 72 f8003000.dmac 158: 0 0 GIC 73 f8003000.dmac 159: 0 0 GIC 74 f8003000.dmac 160: 0 0 GIC 75 f8003000.dmac 161: 0 0 GIC 40 f8007000.devcfg 167: 0 0 GIC 53 e0002000.usb 168: 0 0 GIC 41 f8005000.watchdog 172: 0 0 GIC 62 xilinx-vdma-controller 173: 0 0 GIC 63 xilinx_vtc IPI1: 0 0 Timer broadcast interrupts IPI2: 1151 1039 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 10 40 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 0 0 IRQ work interrupts IPI7: 0 0 completion interrupts Err: 0 Aren't any AXI GPIO's with interrupts enabled supposed to be listed here?
  3. Thanks for all your help so far but now my Zybo gets stuck during boot at: bootconsole [earlycon0] disabled For reference these are the commands I am using on Ubuntu 16.04 to build after installing Vivado 2014.4. sudo apt-get install tofrodos iproute tftpd-hpa gawk gcc git-core make net-tools libncurses5-dev zlib1g-dev libssl-dev flex bison lib32z1 lib32ncurses5 lib32stdc++6 libselinux1 sudo dpkg-reconfigure dash #select No sudo mkdir /opt/PetaLinux cd /opt/PetaLinux download: ./ and follow instructions to install cd ~/ git clone source /opt/Xilinx/SDK/2014.4/ source /opt/Petalinux/petalinux-v2015.4-final/ petalinux-create -t project -s ~/petalinux-bsps/releases/Digilent-Zybo-Linux-BD-v2015.4.bsp cd ~/Digilent-Zybo-Linux-BD-v2015.4 petalinux-config petalinux-config -c kernel #.. save and exit menu petalinux-config -c u-boot #.. save and exit menu petalinux-config -c rootfs #.. save and exit menu petalinux-build git clone cp ~/ZYBO/Projects/linux_bd/sdk/linux_bd_wrapper_hw_platform_0/system.hdf ~/Digilent-Zybo-Linux-BD-v2015.4 cd ~/Digilent-Zybo-Linux-BD-v2015.4 petalinux-config --get-hw-description=./ #exit menu petalinux-build petalinux-package --boot --force --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/linux_bd_wrapper.bit --u-boot -o ./images/linux/BOOT.bin I have pasted a full Zybo boot log here: Appreciate any response. Am I using the correct system.hdf file?
  4. I can see the following 2 interrupts but they always remain zero after loading my bitfile: 73: 0 0 zynq-gpio 50 btn4 74: 0 0 zynq-gpio 51 btn5 I guess these are mapped only to the physical buttons. I also periodically get the following messages after loading my bitfile. Not before: cdns-i2c e0005000.i2c: timeout waiting on completion Really need help on this one please!
  5. Hi, I've switched to PetaLinux. After creating a new project based on Digilent-Zybo-Linux-BD-v2015.4.bsp I have added the node with address 41200000 that you suggested above to the following DTS files: ./build/linux/kernel/download/linux-digilent/arch/arm/boot/dts/zynq-zybo.dts ./build/linux/u-boot/download/u-boot-digilent/arch/arm/dts/zynq-zybo.dts I didn't know which one was relevant so added to both. After the build I copied BOOT.BIN and image.ub to the SD card and booted. However, I am still not able to see anything new listed in /proc/interrupts. I know I must be missing something. Please help. Also how do I get PetaLinux to generate my DTS based on my Vivado project?
  6. Hi, Thanks for replying. I followed your instructions above but when I run dtc -I dts -O dtb -o devicetree.dtb zynq-zybo.dts I get the following error message: ERROR (phandle_references): Reference to non-existent node or label "intc" If I use "-f to force output" I do not see the interrupt listed in /proc/interrupts. Please advise.
  7. I am trying to create an interrupt handler using Zynq. I am using the Zybo board and am using the Linux kernel from the following link: I have searched the Internet and I think I have everything set up properly but my handler never gets called in my driver. Here is my block design: ... and my interrupts set up in vivado: My dts file (attached here) contains the following: ps7_gpio_0: ps7-gpio@e000a000 { #gpio-cells = <2>; clocks = <&clkc 42>; compatible = "xlnx,zynq-gpio-1.0"; emio-gpio-width = <64>; gpio-controller ; gpio-mask-high = <0xc0000>; gpio-mask-low = <0xfe81>; interrupt-parent = <&ps7_scugic_0>; interrupts = <0 59 4>; reg = <0xe000a000 0x1000>; } ; I am trying to hook interrupt 91 on the PS that is triggered from PL using AXI GPIO. I have subtracted 32 from 91 hence the <0 59 4> in the dts file. My interrupt_v1_0 IP simply creates a 10ns pulse every second. I expect to see my interrupt function being called in the driver every second once I load my bitstream and driver but this does not happen. Can someone please check and tell me what I am doing wrong? I have attached my driver, dts and code for my interrupt IP here. Thanks. zynq-zybo.dts interrupt.vhd driver.c
  8. malkauns

    Zybo board 1.8V logic

    Thanks for your quick answer. Would you use a level shifter in this case then?
  9. malkauns

    Zybo board 1.8V logic

    I have a quick question. I am trying to interface my Zybo board with a camera module (Arducam OV5640). The datasheet says that it uses 1.8/2.8V logic. In my XDC file do I simply use IOSTANDARD LVCMOS18 for each pin? I have tried this using the pmod connectors on the Zybo board and setting one pin high but when I check the voltage with a multimeter it reads 3.3V.