• Content Count

  • Joined

  • Last visited

Everything posted by yohboy

  1. Hi @bellirob, I'm happy to see someone trying to use yocto Could you explain what you've done with yocto so far ? I can't help without knowing what you've already done ! Add more details please.
  2. I'm happy it works for you, glad to help you
  3. I think your line : reg_write(ptr_axi_gpio,GPIO_GLOBAL_IRQ,0x1); is false. See page 13 of sbobrowicz link in Global Interrupt Enable Register (GIER), you must set to 1 the bit 31, so it is 0x80000000 and not 0x1.
  4. Oh I didn't notice that too, sbobrowicz is right, you forgot to configure your GPIO. There is also an example in my answer that you link in your first message !
  5. Since you have 3 cells in interrupt, it should be 3 : #interrupt-cells = <3>;
  6. Hi, I guess you have the option "uio_pdrv_genirq.of_id=generic-uio" in your bootargs too since you catch the /dev/uio*. In your device tree, it seems that you missed the interrupt-cells. You may try to add it ! https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt Regards, Yohan
  7. @nickwh, I'm not familiar with Petalinux since I use directly Yocto, so I can't tell you where are those files. Maybe you can try something like "petalinux-config -c uboot". But I think it will allow you to only choose the uboot version. This link is old, but maybe will do the trick https://www.xilinx.com/support/answers/59349.html regards, Yohan
  8. @nickwh Yes, your method set MAC address in u-boot. My method set it directly in linux kernel. But if you want to read it before boot in EEPROM it is different. I don't know if you're using uboot-xlnx or directly u-boot, but in u-boot it seems CONFIG_ZYNQ_EEPROM is not set by default. See http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/zynq-common.h;h=4b6b08885134125187fb38a82a4e4a983c6483e5;hb=HEAD and : http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/zynq_zybo.h;h=808967cee331dd78380dc61e60f72c6643ea9e36;hb=HEAD I never done this before,
  9. Hi @nickwh, I remember I changed my zybo MAC address with the device-tree. In your system.dts (or system-top.dts) you should find "&ǵem0" with local-mac-address = [your address]; If this field is empty I assume you'll get a random MAC address. Let me know if it works for you ! regards, Yohan
  10. Thank you for answer. I already ordered the wilink from TI and the adaptor from avnet. It's more expensive than the PMOD wifi but it supports wifi and BLE. Yohan
  11. Hi Ciprian, I'm booting from SD, and load all the files to boot on ramdisk. So i'm not sure QSPI will be the problem, am I right ? Here the uenv.txt I use to boot : uenvcmd=set serverip && set ipaddr && tftpboot 0x2000000 uImage&& tftpboot 0x3000000 core-image-minimal-zybo-gateway.rootfs.cpio.gz.u-boot && tftpboot 0x2A00000 system.dtb && bootm 0x2000000 0x3000000 0x2A00000 But the problem seems to be before, when the spl try to load the bitstream from SD. regards, Yohan
  12. Hi, I had a problem yesterday with my zybo, I'm unable to load bitstream and boot linux on it. It was working very well. As I was not sure the problem was hardware, I took a new zybo and try to load bitstream and boot on linux. It is working. So I don't know what's the problem with my old zybo. Do you know what could be the cause ? This is the error when I try to boot: U-Boot SPL 2016.03 (May 04 2017 - 11:40:33) mmc boot
  13. Hi, Thank you for answers, the Pmod WIFI IP will help me a lot to put it on zybo without linux I guess. But I dug a little into the IP driver source code and if I want to port it on linux, it seems it will be much painful. Maybe I'm wrong. Perhaps the best solution is to change the WIFI module before it costs a lot of development time. Yohan
  14. You can find them in zynq datasheet, and also in example code for interrupt UIO. This one for example : https://forums.xilinx.com/xlnx/attachments/xlnx/ELINUX/12938/1/gpio_uio_app.c
  15. Hi sg4036, I'm sorry, I forgot to give you the define :/ #define GPIO_DATA_OFFSET 0x00 #define GPIO_TRI_OFFSET 0x04 #define GPIO_DATA2_OFFSET 0x08 #define GPIO_TRI2_OFFSET 0x0C #define GPIO_GLOBAL_IRQ 0x11C #define GPIO_IRQ_CONTROL 0x128 #define GPIO_IRQ_STATUS 0x120 Maybe you won't need all the define but you'll have. Let me know if it works ! Yohan
  16. Hello, I recently received a PMOD wifi (the digilent one). I want to connect it to my zybo, already running linux-yocto with spi interface etc ... So I don't think I need the IP pmod wifi, I can make the connection myself. My question is, is there a getting started to make work the PMOD wifi ? e.g. some code to comminucate with the module. regards, Yohan
  17. Hi @sg4036, First of all the module for axi_gpio from xilinx contains bugs. So use the generic-uio module to manage interrupt is a good choice. I think you forgot to mmap the UIO device, then configure it as a GPIO as interrupt. So first of all you can mmap the UIO with : gpio_size = get_memory_size("/sys/class/uio/uio0/maps/map0/size"); /* mmap the UIO devices */ ptr_axi_gpio = mmap(NULL, gpio_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd_int, 0); with function get_memory_size = unsigned int get_memory_size(char *sysfs_path_file) { FILE *size_fp; unsigne
  18. I can't help you about a DTS or DTB already done, sorry.
  19. Please attach your file when it is too big. How did you have generate your DTS ? There is a good tutorial to follow to generate full dts for zybo with your hdf file from vivado. http://www.wiki.xilinx.com/Build+Device+Tree+Blob Did you try export/unexport method ? If you are able to see gpiochip in /sys/class/gpio, you should be able to access your gpio too. regards, Yohan
  20. Hi, you should at least upload your actual DTS file. But it looks like there is already one AXi_GPIO (just one ?) declared in your design. So you can find the address of the leds, let's say leds1 address is 906. echo 906 > /sys/class/gpio/export ----> export to be able to use it in userspace echo out > /sys/class/gpio/gpio906/direction ----> give it a direction (out for a led) echo 1 > /sys/class/gpio/gpio906/value ----> led on echo 0 > /sys/class/gpio/gpio906/value ----> led off echo 906 >
  21. Hi ! I'm still working to add a RF module (MRF24J40) on my zybo. The SPI communication works fine, but I have some trouble with interrupt. I'm using linux-yocto as kernel. Here is the design in vivado : The AXI_GPIO 0 and 1 are to use leds, buttons and swtichs on zybo. The AXI_SPI is used to communicate with MRF24J40. And the AXi_GPIO 2 is 3bits wide, one for wake, one for reset, and one for interrupt (for MRF24J40). The interrupts are enable on the AXI_GPIO2. I don't know if it is a good practice to enable interrupt for wake and reset too ? Here is the interrupt enab
  22. Hi ! Just a quick answer to thank for help ! I'm now able to use yocto with layers/recipes to manage my project and all files needed to boot on linux, and use vivado to create hdf and DTS. It is working very well :=) Next step is to add a RF module with my zybo, with SPI communication and interrupt !
  23. I think I'm close to the solution ! Thank you for help ! The DTS/DTSI begin to be clear in my mind. I still don't want to use petalinux I'll try to finish my recipe in yocto in the next few day and add my own project to test PL/PS with the DTS.
  24. Thank you for information about hdf, and fun trick about the zip I begin to understand the link between yocto and vivado. I don't want to use Petalinux, sure it is easier to use with documentation etc, but in the future, I'll need yocto. Moreover I have time to understand step by step Maybe I should create a new topic for this question, I don't know, so : think it's the same for petalinux and yocto, we have to generate a DTS. The DTSI file are DTS file that can be included in the DTS master, right ? The DTB is the result of the DTS/DTSI compiled (with DTC), right too ? This file (DTB
  25. Hi jpeyron, thank you for your answer ! And thank you for the docs, it helped me to understand a little more some part. The part I don't really understand is what is necessary to use the layers meta-xilinx-tools ? the .hdf is enough ? or do I need also the DTS ? or DTSI ? I didn't catch the difference between them. Do I need to create myself the Boot.bin ? the DTC ? As you see it's not clear in my mind. Also, what exactly the difference between the .hdf and the bitstream (.bit) ? best regards, Yohan