I am working on ADRV-9361 eval board. I have booted the board using Petalinux. I want to add AD9361 drivers on Petalinux. I am an amateur in embedded domain. I have gone through the solution provided in the following links https://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/ad9361 and https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynq_2014r2 , but that is anbiguous. Is there a detailed approach of how to do the same.
Thanks in advance
We don't have any guides for Petalinux yet.
We will have something in the coming months.
In the meantime you can use our basic guides to build the kernel for the system:
Or you could try to pull the AD9361 patches from this branch and add them on top of the Xilinx tree, via Petalinx:
I should add AD9361 drivers on Petalinux. I have created BOOT.bin and image.ub files without adding AD9361 drivers. The image created is working fine.
I tried adding external kernel provided by you : https://github.com/analogdevicesinc/linux/tree/ad9361-xilinx-4.9
by doing the following steps:
1. I executed petalinux-config command
2. Selected Linux Components.
3. I added external kernel by specifying the path where the folder downloaded from the above website is saved.
4. I selected auto config options and specified to add a manual device tree. The path for the same is from the kernel downloaded from the above website i.e ad9361-xilinx-4.9->arch->arm64->boot->dts->include
5. After following the above steps, I executed petalinux-config -c kernel, where I selected Device drivers->Industrial IO support->Analog to Digital Coverters->AD9361 drivers
6. Later i executed petalinux-build command.
After doing all these steps, I encountered few errors such as DMA_SG not declared in DMAENGINE file downloaded from the above website and no .dts file is found in plnx-workspace in my project directory.
I tried resolving this issue and created images, but when I executed the following command on the console using UART port:
cd /sys/bus/iio/devices/, instead of device1, device2 , I am only finding device0 which is for Xilinx xadcI am trying to follow the steps provided in the following websites to add AD9361 drivers on Petalinuxhttps://wiki.analog.com/resources/tools-software/linux-drivers/iio-transceiver/ad9361https://forums.xilinx.com/t5/Embedded-Linux/Petalinux-external-kernel/td-p/761024I am an amateur in embedded domain. I hope that the steps that I am following is appropriate.I need your guidance in the same regard
It may be worth having a look at this thread too: https://ez.analog.com/linux-device-drivers/linux-software-drivers/f/q-a/106645/ad9361-driver-integration-into-petalinux-2017-4
Thanks for your response
I have followed the steps specified in UG1144 to add external kernel module and also followed all the steps mentioned in the above thread specified, but when I try to observe AD9361 drivers on the console while booting by using the following command cd /sys/bus/iio/devices/, only device0 is available which is Xilinx ADC and not the AD devices.
Can you please guide how to add AD drivers on petalinux because I am of the opinion that the steps I am following which I have mentioned in my above question may be incorrect.
We have a new Yocto/Petalinux layer.
It's work in progress.
The code is here:
It will be merged in the next 1-2 days.
We will add more things to it to support AD9361 and other things.