[Gta04-owner] Camera and PVR/SGX patches for Kernel 3.7 - need help

Benjamin Deering ben_deering at swissmail.org
Fri Feb 8 00:08:08 CET 2013


On 01/31/2013 03:34 AM, Dr. H. Nikolaus Schaller wrote:
> Am 31.01.2013 um 05:19 schrieb Benjamin Deering:
>
>> On 01/27/2013 11:37 AM, Dr. H. Nikolaus Schaller wrote:
>>> Hi all,
>>> I have finally found some time to patch Neils 3.7 kernel to include
>>> the OV9655 and the PVR/SGX drivers like the old hw-validation kernel
>>> did.
>>>
>>> And I have added the panel driver for the OpenPhoenux 3704 device.
>>>
>>> But only the last one works.
>>>
>>> a) the OV9655 can be compiled, modprobed and shows up in
>>> lsmod - but nothing significant happens. It also loads nearly 10
>>> other modules for soc_camera and v4l2.
>>>
>>> It does neither call the driver's probe() function nor the power
>>> on/off management code that I have added to the gta04 board
>>> file.
>>>
>>> Does anyone know if the camera-soc interface really works for
>>> OMAP3? And what has to be done in addition to adding the
>>> driver structures in the board file to initialize it?
>>>
>>> Another note: the ov9655.c I have created is more or less a
>>> copy of the ov9640.c which appears to have almost the same
>>> register set - but since I have only a ov9640.h and no data
>>> sheet, the differences in detail are not clear. So it is not clear
>>> if the driver itself configures the camera correctly. But before
>>> it is probed that is a lower priority obstacle.
>>>
>>> One more note: this implementation approach is completely different
>>> from the old hw-validation kernel, where we did have a special
>>> TI image processing kernel driver and the ov9655 defined
>>> there only shares some initialization bit patterns.
>>>
>>>
>>> b) I have downloaded the latest Graphics_SDK_4_08_00_01.bin
>>> from TI, unpacked and have done the same integration approach
>>> as for the 2.6.32 kernel.
>>>
>>> After fixing the Makefile and the -D options plus some (minor?) changes
>>> to cope with kernel source changes after Linux 3.4 it finally compiled
>>> fine, but the kernel does not boot any more:
>>>
>>>
>>> Environment size: 2996/131068 bytes
>>> lcm state set to deep-standby
>>> display power off
>>> ## Booting kernel from Legacy Image at 82000000 ...
>>>    Image Name:   Linux-3.7.0-offmode-gta04
>>>    Image Type:   ARM Linux Kernel Image (uncompressed)
>>>    Data Size:    3191216 Bytes = 3 MiB
>>>    Load Address: 80008000
>>>    Entry Point:  80008000
>>>    Verifying Checksum ... OK
>>>    Loading Kernel Image ... OK
>>> OK
>>>
>>> Starting kernel ...
>>>
>>> Uncompressing Linux... done, booting the kernel.
>>>
>>> ---- here it hangs ----
>>>
>>>
>>> What I had to do is to configure video/gpudrm and PCI support to get it compiled.
>>>
>>> Especially the PCI thing is a little weird, since the TI SDK comes with a stub
>>> library that should replace everything from PCI. But that one doesn't compile.
>>>
>>> After deconfiguring SGX, DRM, PCI, it still compiles and now, the kernel boots again.
>>>
>>>
>>> The complete source tree is available here:
>>>
>>> <http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/hw-validation-3.x>
>>> <https://github.com/goldelico/gta04-kernel/commits/hw-validation-3.x>
>>>
>>> (you need to actively configure SGX530 first).
>>>
>>> Any ideas how to debug these issues? Anyone trying his/her luck?
>>>
>>> Nikolaus
>>>
>>> _______________________________________________
>>> Gta04-owner mailing list
>>> Gta04-owner at goldelico.com
>>> http://lists.goldelico.com/mailman/listinfo/gta04-owner
>>>
>> With this change, ov9655 tries to probe, but fails:
>> [ 1259.122161] ov9655 2-0030: Missing platform_data for driver
>> [ 1259.122192] ov9655: probe of 2-0030 failed with error -22
>>
>> It looks like that may be a known issue in the board file?
> Well, the board file is known to be incomplete at this location...
>
> The hw-validation kernel did have a completely separate file
> to extend the board file and this is just a first integration step.
>
> The hint for the missing platform_data is ver good. I have looked
> into the board file and found one missing initialization. Let's
> see if this solves some issues.
>
> BR,
> Nikolaus
>
>
> _______________________________________________
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
> http://lists.goldelico.com/mailman/listinfo/gta04-owner
>
I spent some more time with this during this week.  I am probably 
missing something obvious to others, but the i2c_transfers are failing 
so I can't read any registers from ov9655.

When it does the i2c_transfer, client->addr is not a value I would 
expect.  Forcing it to 0x30 still doesn't work.

If I can get some help with this, I will keep working on it, but 
otherwise I think I might leave it alone for a while.

Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: camera-progress.patch
Type: text/x-patch
Size: 7554 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20130207/c6b21058/attachment.bin>


More information about the Gta04-owner mailing list