Hi,
Sorry for the late answer (holiday in France).
Related to your questions:
#1. In your log file, I saw the message "omap3_init_camera
successful!", but I doubt about this message because if it is really
successful then you should able to register the sub i2c subdevice with
V4l2 device driver. Narrow down the problem by just comment out all the
v4l2 staffs in the platform layer, BUT make sur that all th Camera's ID
information are set correctly to see if the Device driver will be loaded
(because in your log, I don(t see any message from the camera device
driver) by the system and the probe function is called (add as much the
printk to check).
There might have 2 potential reasons for your fails:
a. the Camera's gpios are incorrectly set.
Check the gpios settings.
Check the i2c has been configured appropriately for your
camera device (e.g type, index, clock, etc ...)
b. the Camera has been initialized too early VS the v4l2 core
layer within the plat-form driver.
If this is the case then all the v4l2 registrations need to
be done in the Camara's "device driver" initialization and not in the
platform.
#2. my comments are in the answer #1-b
#3. The reason that you can't read/write is because the Device Driver
has not been loaded and initialized (check answer #1).
#4. All your problems lead to the answer in #1.
Tips:
Don't hesitate to add as much printk in your code (on only just for the
status success/failed).
Hope this help.
Chinda
Le 21/10/2014 02:30, Việt Hoàng a écrit :
Thanks for your reply,
I have attached files include: hi253.c driver and hi253_log,
board-omap3beagle.c (file board config) and board-omap3beagle-camera.c
(file init camera).
1. My log give error: isp_register_subdev_group: Unable to register
subdev hi253
In isp.c file check board_info and give me this error:
subdev = v4l2_i2c_new_subdev_board(&isp->v4l2_int_device, adapter,
board_info->board_info, NULL, 1);
if (subdev == NULL) {
printk(KERN_ERR "%s: Unable to register subdev %s\n",
__func__, board_info->board_info->type);
continue;
}
if (first)
sensor = subdev;
2. hi253 driver use struct v4l2_int_device, i think convert to
v4l2_subdev. is it should done?
3. in hi253_write_reg function and hi253_read_reg, i can't read or
write to register of hi253. I don't have any solution for this. Please
help me.
4. When i can sue i2c_tool get, set, dump, detect hi253 camera ? Only
support power and clock( MCLK=24Mhz), that i done but i don't use
i2cdump, i2cget, i2cset. It give error: Device bussy.
Thanks,
Viet.
2014-10-20 17:38 GMT+07:00 ckkeo <[email protected] <mailto:[email protected]>>:
In order to help, Please provide more details and attach logs file???
Meanwhile, you can check these below points:
1 - Does the platform layer apply the correct power level to all
sections of the Camera HW?
2 - Are all appropriated ID information (of the camera) being
added to the Device Driver, in order, for the "probe" routine to
correctly detecte and intialize the HW.
3 - Does the Firmeware (if any) have been downloaded
successfully into the HW.
4 - And finally check if the Device Drive has been successfully
loaded by the kernel and the driver has initialized the HW without
any errors.
Chinda
Le 19/10/2014 10:24, Việt Hoàng a écrit :
Hi cckeo,
I have tried to use i2c-tool for detect, get, set register on
hi253 camera but it not work. I use this patch for add hi253
Camera on kernel configure:
https://gitorious.org/angstrom/angstrom-linux/commit/046dac666301c0df22679424169675045c70defd
Why i can't detect Camera sensor although i have supported Power
sequence, MCLK (24MHz) for it ?
Vào 21:27:52 UTC+7 Thứ năm, ngày 18 tháng chín năm 2014, ckkeo đã
viết:
Check the 3 points below:
a- Your camera driver source code came from hi253 and have
been patched against <kernel>/drivers/media/<where, which file>?
You have to look for the "device node" in this code, the
HAL layer will need it to open and access to the Hi253 device
driver.
b- Your plateform driver (in
<kernel>/arch/arm/mach-omap2/xxxxx.c) has been patched:
Check all gpios are correctly mapped for the Hi253.
Based on your Ti doc for the panther plateform, the i2c
should be OK, but you have to check the schematic for the //
bus part.
c - You can start implementing the Hi253 HAL layer inspiring
from mt9v113 source code:
- Open the correct V4L2 device node (check how the
device driver (#a) is set for it).
- Open/Close/Read/Write on V4L2 are quite standard, but
NOT the ops (ioctl) which should be handle according to the
Hi253 specifications in the camera HAL interface.
Hope this point you to the right direction.
Chinda
Le jeudi 18 septembre 2014 03:42:52 UTC+2, Việt Hoàng a écrit :
Hi cckeo,
I don't have hi253 HAL code. I am editing Camera HAL code
that supported by TI (or Jorjin, i uncertain):
http://59.124.231.13/index.php/JAJ_1.0.DEV04_AP_Module_AM37_Jelly_Bean_Release_Notes.
On folder <panther-bsp>/hardware/ti/omap3/camera.
But i am stucking in here. I am reading and trying to
understand code but it is difficult with me. Thanks for
your share.
Do you have other idea?
Thanks,
Do your best, the rest you come!
Hoang Quoc Viet.
Vào 21:47:10 UTC+7 Thứ tư, ngày 17 tháng chín năm 2014,
chinda keodouangsy đã viết:
OK, your hi253 driver seems to intialize and drive
correctly the i2c and the // data bus.
Can you show me your hi253 HAL code? Do you have it?
Le 16/09/2014 05:07, Việt Hoàng a écrit :
<https://lh3.googleusercontent.com/-wyyLIhgNriU/VBel5J7DGlI/AAAAAAAAAFs/UOuw9H1deCU/s1600/cameraConnecttor.jpg>
Thanks for your reply!
1. Here this connector I used. Hi253 Camera connect
with DM3730 AP Module through I2C Bus and Parallel
Interface (CAM D2,...,CAM D9) as above image.
2. Here Source code Hi253 Driver that I use:
https://github.com/allwinner-ics/lichee_linux-3.0/blob/master/drivers/media/video/sun4i_csi/device/hi253.c
Have you give me any advise?
Vào 10:00:55 UTC+7 Thứ hai, ngày 15 tháng chín năm
2014, chinda keodouangsy đã viết:
That's lead to the question I've asked before,
as there are some Hardware dependencies:
- *** How do you connect the hi253
camera to your board?
Check the vendor document to know on
which bus (USB, PCI or i2c) the hi253 used to
connect to the system.
Normally the hi253 code should help
you to identify the bus used to connect to the
system.
What is for sure is that the mt9v113 does use
i2c bus to connect to the system (e.g. your board).
Le 12/09/2014 09:50, Việt Hoàng a écrit :
I have checked existing HAL camera on Link that
I posted. But on file: V4L2camera.cpp only
support 3 sensor camera: mt9v113, mt9t111,
tvp514x.
1 - On hi253 driver, it register with v4l2
interface with funtion:
-
v4l2_int_device_register(&hi253_int_device);
2 - On mt9v113 driver, it register with v4l2
inter with 2 functions:
- /*
* Register as a subdev
*/
v4l2_i2c_subdev_init(&mt9v113->subdev, client,
&mt9v113_ops);
mt9v113->subdev.flags |=
V4L2_SUBDEV_FL_HAS_DEVNODE;
/*
* Register as media entity
*/
mt9v113->pad.flags = MEDIA_PAD_FLAG_OUTPUT;
ret =
media_entity_init(&mt9v113->subdev.entity, 1,
&mt9v113->pad, 0); f
I don't understand about this different. I am
stucking here. Can you show me a solution?
Vào 23:35:40 UTC+7 Thứ ba, ngày 09 tháng chín
năm 2014, ckkeo đã viết:
I just answered your other thread!
Did you have any camera comes with your
board today?
Check and locate your existing HAL camera
source code. (i.e. Did you see any camera
folder within the <panther-bsp>/hardware
folder ?)
Sure that it's better if you can get the
HAL code from the vendor. (make sure that
the HAL can drive the V4L2 driver).
Chinda
Le 09/09/2014 11:04, Việt Hoàng a écrit :
Thank you verry much!
I am clearly steps in integrate process.
I was success re-build kernel that add
hi-253 driver. But i don't understand about:
1 - Is Hi-253 driver compatibility with
HAL camera at patch:
http://processors.wiki.ti.com/images/6/6c/0001-HAL-camera-support-added-for-beagleboard.patch.gz
or i have to contact with vendors for HAL
camera?
Thank you!
Regards,
VietHQ
Do your best, the rest you come!
Vào 04:04:40 UTC+7 Thứ ba, ngày 09 tháng
chín năm 2014, ckkeo đã viết:
In clear you have to do these below steps:
-------------------------
The kernel part
------------------------
1 - Integrate the hi253 device driver
into your Panther board kernel
a - Add the driver source code
to your kernel
b - Configure OMAP to recognize
your hi253 camera
c - Enable the Camera Module to
your kernel config
The patch for these steps have
been provided in the TI's porting
guide at this link :
http://processors.wiki.ti.com/images/a/aa/0001-camera-sensor-support-mt9v113-for-beagleboard.patch.gz
All you have to do is apply the
patch to your kernel.
2 - Re-build your kernel
You can refer to this link for How
to build the kernel :
http://processors.wiki.ti.com/index.php/TI-Android-FroYo-DevKit-V2_UserGuide#Kernel
----------------------
android part
---------------------
3 - Add the Camera HAL interface to
your android plateform
Per TI's porting Guide, the patch is
here :
http://processors.wiki.ti.com/images/6/6c/0001-HAL-camera-support-added-for-beagleboard.patch.gz
Also per TI's porting guide for Froyo
release the patch should be applied at
<ANDROID_ROOT>/hardware/ti/omap3/camera,
to check on your android plateform
development source code the V4L2 part.
4 - Re-build the android system and
give a try
Hope this clarified a little bit for you.
Chinda
Le 08/09/2014 08:57, Việt Hoàng a écrit :
i was stuck there. But i can'n find
who help me. haizzzz. So sad.
Vào 17:15:55 UTC+7 Thứ hai, ngày 23
tháng sáu năm 2014, Hao Nguyen đã viết:
I am working on panther board and
i want to use hi253 camera module
in my board. I've read porting
guide on
http://processors.wiki.ti.com/index.php/TI-Android-DevKit-Camera_Porting_Guide
but i didn't still understand.
Can anyone give me some
infomation relate to my problems?
I have recenty worked on embedded
kit so i don't have much
knowledge about it. Thanks for
reading!!
--
--
unsubscribe:
[email protected]
website:
http://groups.google.com/group/android-porting
---
You received this message because you
are subscribed to the Google Groups
"android-porting" group.
To unsubscribe from this group and
stop receiving emails from it, send
an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.
------------------------------------------------------------------------
<http://www.avast.com/>
Ce courrier électronique ne contient
aucun virus ou logiciel malveillant
parce que la protection Antivirus
avast! <http://www.avast.com/> est
active.
--
--
unsubscribe: [email protected]
website:
http://groups.google.com/group/android-porting
---
You received this message because you are
subscribed to the Google Groups
"android-porting" group.
To unsubscribe from this group and stop
receiving emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.
------------------------------------------------------------------------
<http://www.avast.com/>
Ce courrier électronique ne contient aucun
virus ou logiciel malveillant parce que la
protection Antivirus avast!
<http://www.avast.com/> est active.
--
--
unsubscribe: [email protected]
website:
http://groups.google.com/group/android-porting
---
You received this message because you are
subscribed to the Google Groups
"android-porting" group.
To unsubscribe from this group and stop
receiving emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.
------------------------------------------------------------------------
<http://www.avast.com/>
Ce courrier électronique ne contient aucun virus
ou logiciel malveillant parce que la protection
Antivirus avast! <http://www.avast.com/> est
active.
--
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
---
You received this message because you are subscribed
to the Google Groups "android-porting" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.
------------------------------------------------------------------------
<http://www.avast.com/>
Ce courrier électronique ne contient aucun virus ou
logiciel malveillant parce que la protection
Antivirus avast! <http://www.avast.com/> est active.
--
--
unsubscribe: [email protected]
<mailto:[email protected]>
website: http://groups.google.com/group/android-porting
---
You received this message because you are subscribed to the
Google Groups "android-porting" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
------------------------------------------------------------------------
<http://www.avast.com/>
Ce courrier électronique ne contient aucun virus ou logiciel
malveillant parce que la protection Antivirus avast!
<http://www.avast.com/> est active.
--
--
unsubscribe: [email protected]
<mailto:android-porting%[email protected]>
website: http://groups.google.com/group/android-porting
---
You received this message because you are subscribed to a topic in
the Google Groups "android-porting" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/android-porting/_QdxW2HACK8/unsubscribe.
To unsubscribe from this group and all its topics, send an email
to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
---
You received this message because you are subscribed to the Google
Groups "android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce
que la protection avast! Antivirus est active.
http://www.avast.com
--
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
---
You received this message because you are subscribed to the Google Groups "android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.