On 12/17/19, Gregory Nutt <spudan...@gmail.com> wrote: > Thanks. I understand better now. > > This is very specific to this hardware. I don't think this should > involve the graphics system in such a device-specific way since this is > a hardware interfacing issue that has nothing to with graphics other > than a graphics device is involved. There are easy hacks or complex > architectural changes to accomplish what you want to do. > > For easy hacks, I would suggest a minimal, trivial device driver that > just supports the the FBIO_UPDATE command (and any other command unique > to the hardware). This driver would have to lie in the board-specific > logic or else have an SPI interface passed to it during initialization. > Or maybe a boardctl(BOARDIOC_IOCTL) command. > > If you wanted to support a graphics driver interface via NX, that is > okay too. But we would have to do that right, that is, in a > device-independent, platform-independent, general way. > > A better functional partitioning would be to have this hardware-specific > functionality implemented inside of the LCD driver, rather than in some > hack character driver or BOARDIOC_IOCTL. There is, however, no LCD > driver interface exposed to the application; the LCD driver interface is > only available to NX. I suppose it would be possible to add to an > ioctl() method to every LCD (or FB) driver and and nx_ioctl() method to > communicate and device-specific commands with the driver. But that > would be a pretty big effort (but a worthwhile contribution). I would > help on that one; the other, simpler ideas are basically hacks that > could give you the functionality you need. A generic graphics hardware > IOCTL command would besystematic and general and common to all graphics > devices. >
Let's to follow the usual steps: how does Linux kernel implement the e-Ink/ePaper driver? Amazon developed the Kindle (their Lab126) more than 10 years ago and it uses Linux since its inception. So I think there is a well defined way to do it. Well, I didn't find much information about it, but only an old instruction to this subject: https://www.networkworld.com/article/2289160/kernel-space--e-paper-support-for-linux.html BR, Alan