[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.
BR,
Nikolaus
More information about the Gta04-owner
mailing list