[Letux-kernel] build log :) - towards working OMAP3 + SGX530

H. Nikolaus Schaller hns at goldelico.com
Sat Oct 29 22:56:05 CEST 2016


> Am 29.10.2016 um 11:25 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
>>> 
>>> Here is the tree:
>>> 
>>> http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/hns/gpu/pvr-v2
>> 
>> I have looked a little into the DM3730 TRM and it appears as if the power domain
>> and reset registers are well documented.
>> 
>> For example the PM_PWSTST_SGX @ 0x4830 6BE4 should tell something about the
>> power state of the SGX module.
>> 
>> CM_FCLKEN_SGX @ 0x4800 4B00 and CM_ICLKEN_SGX @ 0x4800 4B10 tell if the clocks are enabled.
>> 
>> CM_IDLEST_SGX @ 0x4800 4B20 should tell if theSGX is active or in standby.
>> 
>> Finally RM_RSTST_SGX @ 0x4830 6B58 should say something about the reset state.
>> 
>> And section 8.2.1.2 explicitly says:
>> 
>> "Software controls the release of SGX_RST using the PRCM.RM_RSTCTRL_SGX[0] SGX_RST bit."
>> 
>> All these registers can be inspected by devmem2. And even written...
>> 
>> I am quite sure that we have all information we need to fix the SGX reset control.
>> Then I hope the SGX starts up.
> 
> I did look a little deeper into the code and the warnings and there is a second problem.
> 
> There is no OMAP reset-controller driver but the reset-controller framework assumes
> to have properly defined device tree nodes for all resets. E.g. reset_control_get()
> looks explicitly for a "resets = " property which we likely have to define for the sgx DT
> node.
> 
> There was a patch set a while ago but it appears to have not been rejected or accepted:
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-September/372314.html
> 
> So I will ask Tero Kristo what happened to it.

In parallel I tried to apply the patch set posted in Sept 2015 but it failed.

After some experimentation I finally found that they apply well to linus/v4.3.

Then, I was able to rebase them to v4.4, v4.5 etc. and to v4.9-rc2 which I could
finally rebase to letux-base... There were only 4 merge conflicts to be manually
fixed. Only one was non-trivial but there were minor additions in mainline that
were incompatible.

Untfortunately, it compiles but hangs right after "Starting kernel ..."

Independently of this we are urgently needing one missing piece:

		WANTED!
	address and bit pattern of
	PRCM.RM_RSTCTRL_SGX[0] SGX_RST

	Is hiding somewhere...

Any hints about this register are welcome!

BR,
Nikolaus

I have pushed the branches:

http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/test/omap/reset-controller
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/hns/gpu/pvr-v3
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/letux-4.9-rc2%2Breset-controller%2Bpvr



More information about the Letux-kernel mailing list