Hacker News new | ask | show | jobs
by linuxkerneldev 3358 days ago
> the most challenging bits to liberate will be the EPDC firmware

Could you clarify exactly what you mean by "EPDC firmware"?

afaik, it is already published so what needs to be "liberated"?

The devices you're talking about, eg: on your github, are the i.mx series of SoCs have an on-chip EPDC which is open source (the datasheets show all the registers) and the driver is also GPL. Eg: https://github.com/UDOOboard/Kernel_Unico/blob/master/driver...

In case you mean the .fw file used in that driver, that's a misnomer. There is no CPU inside the EPDC. That .fw file is a plain voltage waveform file that defines voltage vs time waveforms to get pixels to appropriate graylevels. "Liberating" that would be akin to "liberating" the content of a .wav file. ie: just use hexdump -C.

1 comments

> In case you mean the .fw file used in that driver, that's a misnomer. There is no CPU inside the EPDC. That .fw file is a plain voltage waveform file that defines voltage vs time waveforms to get pixels to appropriate graylevels. "Liberating" that would be akin to "liberating" the content of a .wav file. ie: just use hexdump -C.

I meant the waveform data at offset 0x700000 on the internal storage of the Kobo devices (which is similar but not the same as the .fw files in firmware/imx/). It's not clear whether distribution is allowed.

> I meant the waveform data at offset 0x700000 on the internal storage of the Kobo devices

Waveform data is unique to each batch of panels and there are also tuning parameters for each batch of power management circuitry in a board. A Kobo with a 2015 panel will have different waveform data than a 2016 panel. More expensive panels contain the waveform in a flash on the panel which can be read by the host. Cheaper vendors will try to cut cost and just store the waveform in main flash. But that has caused some problem because end user accidentally flashes wrong firmware with a waveform that doesn't match the panel and bam, the panel quality is degraded, maybe even permanently.