[Letux-kernel] SGX working on BeagleBone...

H. Nikolaus Schaller hns at goldelico.com
Sat Oct 12 22:11:12 CEST 2019


Hi,
I managed to hack the SD card image that I made according to

http://blog.0xpebbles.org/PowerVR-SGX-on-the-beaglebone-black-in-2019

to run the LetuxOS kernel with the described pvr setup.

Required was:
* remove bootargs.scr and some unneeded dtbs
* rename the beaglebone.dtb and zImage to the kernel names expected by the U-Boot
* move away all /lib/firmware/*.dtbo overlays

I have even written a small script that can copy things back and forward to
switch between both kernels (ti-4.4 and our letux kernel).

Then I could boot again into the Debian system.

But now using my own pvrsrvkm built from [1] and the setup described
of the tutorial, I could successfully download the uKernel and run
gles1test1. Unfortunately without LCD cape working so I can't make
a video yet.

root at arm:~# pvrsrvctl --start --no-module
[  500.690679] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
rroot at arm:~# cat /proc/pvr/version 
Version SGX_DDK sgxddk MAIN at 3699939 (release) omap_sgx
System Version String: SGX revision = 125
root at arm:~# 

And I checked that we are really running our pvrsrvkm:

root at arm:~# lsmod|fgrep pvr
pvrsrvkm_omap_am335x_sgx530_125   290816  0
drm                   356352  4 pvrsrvkm_omap_am335x_sgx530_125,tilcdc,drm_kms_helper
root at arm:~# dmesg|fgrep pvr
[   26.928017] pvrsrvkm_omap_am335x_sgx530_125: module is from the staging directory, the quality is unknown, you have been warned.
[   27.527189] [drm] Initialized pvr 1.14.3699939 20110701 for 56000000.sgx on minor 1
root at arm:~# uname -a
Linux arm 5.4.0-rc2-letux+ #1198 SMP PREEMPT Sat Oct 12 18:20:32 CEST 2019 armv7l GNU/Linux
root at arm:~# 

This means:
* the kernel module is ok!
* the clock and reset and sysc stuff from linux-next and beyond is ok!
* there is something incompatible or broken within our user-space setup
  so that ours works only on OMAP5/Pyra for unknown reasons
* the same kernel driver tree can be used to build kernel modules for am335x and omap5
* it is no longer unlikely that this setup also works on omap3/gta04 :)

Next, I have to find the differences in user-space setup to get a better understanding
and find out if I can make a full LetuxOS build work on am335x and omap5. If that works
I can try on omap3...

BR,
Nikolaus

[1]: https://github.com/openpvrsgx-devgroup/linux_openpvrsgx/tree/letux-pvr


More information about the Letux-kernel mailing list