Hi ,
I am trying to build a linux distribution from scratch, using the kernel source branch “ubuntu” from the Kahadas github
I have built a minimal distribution with the ubuntu base , the linux kernel, the wifi driver, the framebuffer, and all seems working.
I have installed all into the emmc, I am using the uImage into the kernel / partition without ramdisk, booting directly to the rootfs partition.
Now I am trying to integrate the same Mali driver that Khadas is using for the LibreELEC, but looking into the LibreELEC sources I have some difficult to understand what is the release that is used about the Mali kernel driver.
There are two patch the first one:
https://github.com/khadas/LibreELEC.tv/blob/Vim-devel/projects/Khadas_Vim/patches/linux/li04-add-mali-gpu.patch
with a blob driver
the second one with the source:
diff -Naur linux-7f42343.orig/drivers/gpu/arm/Kconfig linux-7f42343/drivers/gpu/arm/Kconfig
--- linux-7f42343.orig/drivers/gpu/arm/Kconfig 1970-01-01 08:00:00.000000000 +0800
+++ linux-7f42343/drivers/gpu/arm/Kconfig 2016-07-22 19:08:51.205018015 +0800
@@ -0,0 +1 @@
+source "drivers/gpu/arm/mali/Kconfig"
diff -Naur linux-7f42343.orig/drivers/gpu/arm/Makefile linux-7f42343/drivers/gpu/arm/Makefile
--- linux-7f42343.orig/drivers/gpu/arm/Makefile 1970-01-01 08:00:00.000000000 +0800
+++ linux-7f42343/drivers/gpu/arm/Makefile 2016-07-22 19:08:51.205018015 +0800
@@ -0,0 +1 @@
+obj-$(CONFIG_MALI400) += mali/
\ No newline at end of file
diff -Naur linux-7f42343.orig/drivers/gpu/arm/mali/clean.sh linux-7f42343/drivers/gpu/arm/mali/clean.sh
--- linux-7f42343.orig/drivers/gpu/arm/mali/clean.sh 1970-01-01 08:00:00.000000000 +0800
+++ linux-7f42343/drivers/gpu/arm/mali/clean.sh 2016-07-22 19:08:51.205018015 +0800
@@ -0,0 +1,7 @@
+#!/bin/sh
+# rm *.o, *.cmd, *~
+find . -name "*.o" -o -name "*.cmd" -o -name "*~" | xargs rm -rf
+rm Module.symvers
+rm mali.ko
This file has been truncated. show original
The first one seems to be blob r6p1-01rel0 , the patch with the sources contains the same version ?
for the user-space is used this
gxbb-r5p1-01rel0
Is possible to know exactly what mali driver version is used for the libreELEC and maybe the link to the sources or the binaries ?
(possibly for the driver space the sources)
I have found the source for the driver into the amlogic buildroot , the problem is that when I load the driver I get an error
[ 3692.196990] mali-utgard d00c0000.mali: max pp is 3
[ 3692.197008] mali-utgard d00c0000.mali: set min pp to default 1
[ 3692.197016] mali-utgard d00c0000.mali: min pp is 1
[ 3692.197024] mali-utgard d00c0000.mali: set min clk default to 0
[ 3692.197031] mali-utgard d00c0000.mali: min clk is 0
[ 3692.197098] mali-utgard d00c0000.mali: hiu io source 0xffffff800327e000
[ 3692.197115] mali-utgard d00c0000.mali: hiu io source 0xffffff8003a76000
[ 3692.197124] mali-utgard d00c0000.mali: num of pp used most of time 3
[ 3692.197132] mali-utgard d00c0000.mali: clock dvfs table size is 7
[ 3692.197140] mali-utgard d00c0000.mali: max clk set 5
[ 3692.197147] mali-utgard d00c0000.mali: max clk is 5
[ 3692.197154] mali-utgard d00c0000.mali: turbo clk set to 6
[ 3692.197161] mali-utgard d00c0000.mali: turbo clk is 6
[ 3692.197169] mali-utgard d00c0000.mali: default clk set to 2
[ 3692.197176] mali-utgard d00c0000.mali: default clk is 2
[ 3692.197257] mali-utgard d00c0000.mali: ====================0====================
clk_freq= 125000000, clk_parent=fclk_div4, voltage=1150, keep_count=5, threshod=<30 250>, clk_sample=125
[ 3692.197270] mali-utgard d00c0000.mali: ====================1====================
clk_freq= 285000000, clk_parent=fclk_div7, voltage=1150, keep_count=5, threshod=<100 250>, clk_sample=285
[ 3692.197283] mali-utgard d00c0000.mali: ====================2====================
clk_freq= 400000000, clk_parent=fclk_div5, voltage=1150, keep_count=3, threshod=<168 250>, clk_sample=400
[ 3692.197297] mali-utgard d00c0000.mali: ====================3====================
clk_freq= 500000000, clk_parent=fclk_div4, voltage=1150, keep_count=2, threshod=<190 250>, clk_sample=500
[ 3692.197310] mali-utgard d00c0000.mali: ====================4====================
clk_freq= 666000000, clk_parent=fclk_div3, voltage=1150, keep_count=1, threshod=<177 250>, clk_sample=666
[ 3692.197323] mali-utgard d00c0000.mali: ====================5====================
clk_freq= 744000000, clk_parent= gp0_pll, voltage=1150, keep_count=1, threshod=<213 255>, clk_sample=744
[ 3692.197336] mali-utgard d00c0000.mali: ====================6====================
clk_freq= 744000000, clk_parent= gp0_pll, voltage=1150, keep_count=1, threshod=<213 255>, clk_sample=744
[ 3692.200010] gpu cooling register okay with err=0
[ 3692.200234] gpu core cooling register okay with err=0
[ 3692.200707] Mali: Mali device driver loaded
[ 3692.200894] Unable to handle kernel paging request at virtual address ffffffc0cb7f0608
[ 3692.203621] pgd = ffffffc053cf2000
[ 3692.207079] [ffffffc0cb7f0608] *pgd=0000000000000000
maybe I have to define the mali resources into the dts/dtb ?
Terry
March 1, 2017, 6:08am
#3
where is the mali.ko from ? did you build the source code for mali driver ?