GSoC 2020: Port am335x_pru_package to remoteproc

Hey, I am Vedant from India, I am an electronics engineering sophomore in VJTI, Mumbai. I am interested in porting pru_package to use remoteproc, I read up the documentation provided in the reference, I had certain queries. So, currently prussdrv uses /sys/class/uio to communicate, so end goal of this project should be to use /sys/class/remoteproc to load firmware, am i right?

If so, where could i find necessary documentation for remoteproc other than that kernel.org docs.

I have developed embedded application over my second year, I have decent experience in C++, C and Python. I have done several projects involving embedded systems like ESP32, I well-versed with freeRTOS. I recently did a project on ESP32, in which I used ESP to control and plot PID loop running on the embedded device, plotting the values on a python GUI. Other than that I have developed firmware for a 3 DOF arm based on a ESP32 custom board.

Regards,

Vedant Paranjape

Hey, I am Vedant from India, I am an electronics engineering sophomore in VJTI, Mumbai. I am interested in porting pru_package to use remoteproc, I read up the documentation provided in the reference,

Make sure to checkout updates in PRU software from TI: https://git.ti.com/cgit/?q=pru
Also, consider what fixes need to be addressed in the issues list in addition to updating it with code from the latest TI work: https://github.com/beagleboard/am335x_pru_package/issues

I had certain queries. So, currently prussdrv uses /sys/class/uio to communicate, so end goal of this project should be to use /sys/class/remoteproc to load firmware, am i right?

For loading, yes.

Check out:
https://github.com/beagleboard/cloud9-examples/tree/v2020.01/PocketBeagle/pru

https://markayoder.github.io/PRUCookbook/

https://beagleboard.org/pru

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-remoteproc

For shared memory, UIO can continue to be used.

If so, where could i find necessary documentation for remoteproc other than that kernel.org docs.

Well, that is the main place, but do look all over the materials above.