We have encountered a strange problem on our customiezed board based on i.mx6q platform.
The LTIB package is L3.0.35_12.05.01.01_GA_source.tar.gz
Steps to reproduce the problem are listed below
1. Build the GPU driver ( galcore.ko ) in module way.
2. Poweron the board.
3. insmod the driver module (galcore.ko ) into kernel from usb disk.
4. The driver probe process is halted forever.
After added some debug infor in to kernel source code, we found the probe process is halted in _ResetGPU() function which is located in
../drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c
Then we checked why the _ResetGPU can't work. We found that GPU idle register value and control register value are always 0x0. Below is the code.
for(;;)
/* Disable clock gating. */
gcmkONERROR(gckOS_WriteRegisterEx(Os,
Core,
Hardware->powerBaseAddress +
0x00104,
0x00000000));
......
gcmkONERROR(gckOS_ReadRegisterEx(Os,
Core,
0x00004,
&idle));
printk("@@GPU idle_reg: 0x%x\n",idle);
gcmkONERROR(gckOS_ReadRegisterEx(Os,
Core,
0x00000,
&control));
printk("@@GPU control_reg: 0x%x\n",control);
......
Solved! Go to Solution.
You don´t have to use the driver generated by the source code. Instead, you use the driver built in kernel. The only things you get from the gpu source is the libraries... the .ko comes from kernel.
is it only happening on the sololite board?
regards,
Andre
Yes, only on the sololite. What is the sequence to enable and access the GPU registers from u-boot?
Thanks,
-John
Hi John,
I´m going to search for this information and let you know soon as Possible.
regards,
Andre
Thanks Andre. I appreciate it! Cheers, -John