08-11-2021, 04:05 AM
Hello PINE friends,
as you may have heard, the Quartz64 has an eInk interface. This allows for high-speed (relatively speaking) operation of a 10.3 inch eInk panel. The controller for this is referred to as "EBC".
The problem, however, is that the downstream driver for this is... a GPL-2.0 licensed assembly dump. Yeah. Thankfully it comes with debug symbols though, so we're actually very lucky in that regard.
Here's where you can come in and help: we need to reverse engineer the driver struct by struct, function by function, allowing us to write an upstream-ready EBC driver. Not only will this allow us to run the driver on mainline kernels (or rather, at all, since it currently doesn't build even on the downstream kernel), but we can also then make it faster, as there seemingly are some math heavy functions.
For more information, check the wiki article on the matter, which includes links to the repositories and some further information. People have also reported good results from assembling the .S into a binary and then running Ghidra on it.
Thank you for your attention and your interest.
as you may have heard, the Quartz64 has an eInk interface. This allows for high-speed (relatively speaking) operation of a 10.3 inch eInk panel. The controller for this is referred to as "EBC".
The problem, however, is that the downstream driver for this is... a GPL-2.0 licensed assembly dump. Yeah. Thankfully it comes with debug symbols though, so we're actually very lucky in that regard.
Here's where you can come in and help: we need to reverse engineer the driver struct by struct, function by function, allowing us to write an upstream-ready EBC driver. Not only will this allow us to run the driver on mainline kernels (or rather, at all, since it currently doesn't build even on the downstream kernel), but we can also then make it faster, as there seemingly are some math heavy functions.
For more information, check the wiki article on the matter, which includes links to the repositories and some further information. People have also reported good results from assembling the .S into a binary and then running Ghidra on it.
Thank you for your attention and your interest.
Occasional Linux Kernel Contributor, Avid Wiki Updater, Ask Me About Quartz64
Open Hardware Quartz64 Model A TOSLink Adapter
Pi-bus GPIO Extender For ROCKPro64 And Quartz64 Model A
Plebian GNU/Linux