Zedboard PL audio
Motivation
To make myself more familiar with both, SoC hardware development and Linux device driver development, created the audio system on Zedboard using Xilinx audio IP cores (I2S transmitter/receiver and Audio Formatter).
There will be hardware development part, and Linux device driver development part to describe entire project.
Hardware development
This is the hardware development part of the entire story. I used Vivado 2019.2 to make this hardware, and programmed it onto Digilent Zedboard.
Details are explained here.
Zedboard Audio Hardware Design (1/2)
Zedboard Audio Hardware Design (2/2)
Linux Device driver development
This is Linux device driver development part. To make my device working, I modified “sound/soc/xilinx/xlnx_pl_snd_card.c” in Xilinx Official Linux repository. Also, I referred to Digilent device driver for Zedboard audio (this is outdated).
Linux device driver for Zedboard audio (1/2)
Linux device driver for Zedboard audio (2/2)
For the reference, my device driver is available here.