[Letux-kernel] build log :) - towards working OMAP3 + SGX530
H. Nikolaus Schaller
hns at goldelico.com
Sun Oct 30 20:46:31 CET 2016
Hi,
interesting news...
> Am 29.10.2016 um 22:56 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>
>
>> 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 ..."
I have doe some experiments with the merge on top of linus/v4.3
and the version manually rebased to linus/v4.9.rc2.
After adding some letux_defconfig I was able to compile both.
The v4.3 boots while the v4.9-rc2 hangs as described.
So there is something incompatible to rebasing... Anyways this is good news. Basically it is
possible to bisect the bug between v4.9-rc2 and the merged patches.
If anyone finds time to look into it:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/test/omap/reset-cont-v4.9
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/test/omap/reset-cont-v4.3
BR,
Nikolaus
>
> 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