When the kernel for BeagleLogic was initially written in 2014, it was based on the 3.8.13 kernel that featured first-class support for device tree overlays and BeagleBone capes.
The cape manager disappeared in later kernel versions, only to reappear in kernel version 4.0 and above. However the API for controlling the PRUs had changed too much and it made BeagleLogic incompatible with those kernel versions. Thus BeagleLogic had to stick to the 3.8.13 kernel version, even though nicer things were happening in future kernel versions.
The API for the PRUs became stable enough starting with kernel version 4.4 (there were official TI examples) so that I could look at porting BeagleLogic to this version. Ultimately, by end of May I sat down and rewrote parts of the PRU firmware (GitHub link to commit history) and by mid-June the kernel module was ready. I was advised to use the 4.9 kernel instead of 4.4 I was originally planning to port it to, and as a result it is up-to-date with the latest TI kernel as of now. It's already submitted to and included in the BeagleBoard's kernel repository (4.9 branch).
I hope that keeping it in sync with upcoming kernel releases will be easier and something I will actively do for BeagleLogic.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.