• 0
endluri.ram

Linux Driver for Audio Codec on ZYBO

Question

Hi,

 

I am trying to write a linux device driver for a project which uses audio codec. I am using the ip axi_i2s_adi codec for the project on ZYBO . I see that the functions in the demo file are written for Vivado. I mean the functions uses XIlinx header files and functions. I think I cannot use those to build device driver. If somebody has written device driver by themselves or know where i can find, please share the details with me.

 

Thank You,

Ramu

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Hi,

I have forwarded this question onto our support team. They will get back to you here on the forums.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Writing a Linux device driver is very different than writing a typical program and can be quite complicated. The best way to go about learning how to do it in my opinion is to grab a book on the subject. I used both "Linux Kernel Development" by Robert Love, and "Linux Device Drivers" from O'REILLY to learn the subject.

Beyond that, you will want to look into what are called platform drivers, which use information about the hardware provided by the device tree. I think the best way to understand these are looking at examples, such as the UIO driver provided by Xilinx.

Lastly, if you are wanting the audio codec to behave like the audio jacks on your computer, then you will need to write a driver that ties it into the ALSA subsystem. This is arguably one of the most complicated systems in the kernel, and will be a difficult task (at least that is my understanding).

Clearly this will be a long task to accomplish. Unfortunately we don't have anything yet on the audio front working in Linux on our boards, so you are on your own for now. I know ADI has done some work to get their audio codecs supported in Linux on Xilinx FPGA boards, but I have no idea if they actually accomplished this. You may want to poke around their materials and Linux community to see if they can provide any help. 

Share this post


Link to post
Share on other sites
  • 0

Hi,

 

Thank You for the reply. I have looked at the adi drivers for ssm2603 module and tried to write a driver but haven't had luck. I will post here if make something useful

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now