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

Dr. H. Nikolaus Schaller hns at goldelico.com
Thu Jan 31 09:34:28 CET 2013

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.


More information about the Gta04-owner mailing list