Reviving an old i.MX6 based tablet with Etnaviv
Martin Fuzzey
martin.fuzzey at flowbird.group
Mon Oct 15 08:59:15 UTC 2018
Hi bero,
> Hi,
> I just got hold of an old i.MX6 based Fastwel ONYX-08 tablet (seems to be fairly close to an imx6q-sabresd) with a prehistoric SW stack (based on kernel 3.14.52) that has apparently never seen a source release.
>
> I think getting that up and running on a current stack with Etnaviv would be fun (even though a bit of a challenge primarily because boot messages aren't visible -- if there's any way to attach a serial port to this device, I haven't found it yet), but so far my attempts to get the display up haven't worked. I'm assuming Etnaviv doesn't see the GPU because the devicetree file is configured for the binary driver, but I'm not an expert on devicetree.
>
> I've uploaded the tablet's devicetree file (unfortunately, a decompiled one -- looks like the source was never released, but I could locate the dtb in the boot partition) to http://lindev.ch/onyx08.dts
>
> Does anyone have any pointers to help get me started on this?
>
> Thanks!
> bero
>
> I've uploaded the tablet's devicetree file (unfortunately, a decompiled one -- looks like the source was never released, but I could locate the dtb in the boot partition) to http://lindev.ch/onyx08.dts
>
> Does anyone have any pointers to help get me started on this?
etnaviv is only involved with 3D acceleration, not the actual display.
It's the i.MX IPU driver that handles display.
You should get basic display working before worrying about the GPU.
Indeed the DT you posted doesn't have the right nodes for etnaviv but
you'll also need a modern kernel.
I think your priority for the moment should be getting read / write root
console access and a way of loading an arbitary kernel.
What boot device is the board using? Do you know what bootloader it is
using?
The i.MX6 can boot from multiple sources, I guess it's probably booting
from eMMC in your case.
I would try to hook up a serial port and force it to boot from SD.
If you can boot u-boot from SD you can then netboot the kernel and
userspace over ethernet which gives you a nice environment to work in
without actually modifying any of the current software on the device.
The i.MX6 has GPIO pins that can be used to select boot load, if you're
lucky there may be jumpers or pads for them.
If you're unlucky fuses may have been blown locking the boot mode.
If you're really unlucky the device is using secure boot and you're
pretty much stuck without being able to replace the bootloader or the
kernel.
A hack that may be useful if you can't replace the current kernel and/or
bootloader, and if the current kernel supports it, is "kexec", basically
you boot the existing kernel and use it as a bootloader asking it to
replace itself with another kernel.
The good news is that modern upstream kernel and userspace should
basically just work today on i.MX6.
The tricky part is getting them on it.
Good luck!
Martin
More information about the etnaviv
mailing list