AnsweredAssumed Answered

Configure vivante gpu on an imx6 solo with kernel 4.9.88

Question asked by Marcos Lopez on Jun 25, 2019
Latest reply on Jun 26, 2019 by Marcos Lopez

Hi,

 

I searched in this community and internet in general but so far I don't understand how to enable the gpu vivante with a linux kernel 4.9.88.

 

My dts has this in the gpu node:

 

gpu: gpu@00130000 {
compatible = "fsl,imx6dl-gpu", "fsl,imx6q-gpu";
reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
<0x0 0x0>;
reg-names = "iobase_3d", "iobase_2d",
"phys_baseaddr";
interrupts = <0 9 0x04>, <0 10 0x04>;
interrupt-names = "irq_3d", "irq_2d";
clocks = <&clks 143>, <&clks 27>,
<&clks 121>, <&clks 122>,
<&clks 0>;
clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk",
"gpu2d_clk", "gpu3d_clk",
"gpu3d_shader_clk";
resets = <&src 0>, <&src 3>;
reset-names = "gpu3d", "gpu2d";
pu-supply = <&reg_pu>;
};

 

my .config for the kernel has activated the CONFIG_MXC_GPU_VIV=y

 

So far what I can see while I boot is this:

 

galcore: clk_get vg clock failed, disable vg!
Warning: No contiguous memory is reserverd for gpu.!
Warning: Will use default value(134217728) for the reserved memory!
Galcore version 6.2.4.150331
Galcore options:
irqLine = 21
registerMemBase = 0x00130000
registerMemSize = 0x00004000
irqLine2D = 22
registerMemBase2D = 0x00134000
registerMemSize2D = 0x00004000
contiguousSize = 0x08000000
contiguousBase = 0x00000000
externalSize = 0x00000000
externalBase = 0x00000000
bankSize = 0x00000000
fastClear = -1
compression = 15
signal = 48
powerManagement = 1
baseAddress = 0x00000000
physSize = 0x80000000
logFileSize = 0 KB
recovery = 0
stuckDump = 0
gpuProfiler = 0
irqs = -1,
-1, -1,
-1, -1,
-1, -1,
-1, -1,
-1,
registerBases = 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000,
registerSizes = 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800,
chipIDs = 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF,
Build options:
gcdGPU_TIMEOUT = 20000
gcdGPU_2D_TIMEOUT = 20000
gcdINTERRUPT_STATISTIC = 1
drv_init(734): Failed to create the GAL device: status=-16
galcore: probe of 130000.gpu failed with error -22

 

I understand that the vivante driver has problems with linux kernel newer than 4.1.

 

Please, someone may help me to understand what is missing or if I have done incorrectly?

 

The kernel 4.9.88 was pulled (with yocto) from codeaurora according to imx documentation.

 

Regards!

Outcomes