On 03/11/16 11:00, H. Nikolaus Schaller wrote:
Hi, I have some progress but no breakthrough.
- reset-controller
using of_reset_control_get_shared() makes the driver initialize and make the OMAP3 kernel no longer panic during boot (have not tried on OMAP5).
There is still a -EBUSY issue in reset_control_deassert so that the resets are not really done.
Have you traced from where this comes? Also, have you traced what the omap reset driver itself is doing? Is the xlate being called at any point?
If you are not sure what the registers are doing, you should use some userspace memory access tool to experiment with the registers so that you can manually reset it. Missing clocks for the SGX module would be a sure way to fail doing the reset btw.
- reset-controller + SGX530/40 driver
a) compile error (missing __get_user_pages)
MM API suggests to use one of the other more specific get_user_pages functions.
The one that has the most comparable parameter list is get_user_pages_remote() and with that we get the sgx530 code compiled.
What I am not at all sure about is what "remote" means and if it is the right thing to do.
b) locating the SGX reset controller
Although I have added a "gpu" node to omap3.dtsi the new reset controller is still not found.
What do you mean not found? How are you trying to access it?
That has likely its reason in that there is no ti,hwmods = "gpu" like Jonathan has added for the SGX544. We probably have to add something similar to omap3/4 hwmods.
ti,hwmods property for reset controller purposes is only required for hwmod integration. I think it should work without it also, but you will definitely want the hwmod for the clock control etc.
c) clock setup
And what we are most likely completely missing is clock setup for the SGX530.
- code
here is the latest merged tree with SGX530/540 and 544 patches:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/letux-4...
BR, Nikolaus