http://cafe.naver.com/embeddedcrazyboys
http://www.mangoboard.com/
Mango310 | Community > Downloads > Mango310 |
[Android] [S5PV310 Mango310] TV5150 드라이버 포팅 (Android ICS404 버전 ) | 2013-07-11 |
첨부파일 : diff_m310_ics404_tvp5150-patch.zip | |
커널
버전 : 3.0.15
base
소스 :
에서
소스를 받은 후 kernel 소스를 수정하면 됩니다.
diff
파일 첨부합니다.
링크 (http://cafe.naver.com/embeddedcrazyboys/29922 )
(망고310 ) AndroidICS ,
kernel 3.0.15 버전에 tvp5150 포팅 가이드
[ 37.807081] acc_open
[ 37.807120] acc_release
[ 39.998594] mtp_open
[ 50.286769] s3c-fimc-0 : FIMC0 1
opened.
[ 50.306055] tvp5150 0-005c: chip found @ 0xb8
(s3c2410-i2c)
[ 50.306538] CRZ tvp5150_port_a_power_en()
onoff=1
[ 50.750201] tvp5150 0-005c: tvp5150am1
detected.
[ 50.887991] Mali: M200: HW/SW Watchdog
triggered, checking for progressin 500 ms
[ 51.060206] tvp5150 0-005c: tvp5150am1
detected.
[ 51.220285] s3c-fimc-2 : FIMC2 1
opened.
[ 51.450186] tvp5150 0-005c: tvp5150am1
detected.
[ 51.680230] s3c-fimc-0 :
fimc_s_fmt_vid_private: fail to s_mbus_fmt
[ 51.683136] s3c-fimc s3c-fimc.0:
fimc_streamon_capture: s_stream failed
위의 문제는
static const struct
v4l2_subdev_video_opstvp5150_video_ops = {
.s_routing=
tvp5150_s_routing,
.s_mbus_fmt =
tvp5150_s_fmt,
.s_parm= tvp5150_s_parm,
.enum_framesizes=
tvp5150_enum_framesizes,
};
수정하면 해결이 됩니다.
[ 34.041390] s3c-fimc-0 : FIMC0 1
opened.
[ 34.042724] tvp5150 0-005c: chip found @ 0xb8
(s3c2410-i2c)
[ 34.045709] CRZ tvp5150_port_a_power_en()
onoff=1
[ 34.360136] tvp5150 0-005c: *** unknown
tvp8081 chip detected.
[ 34.360324] tvp5150 0-005c: *** Rom ver is
130.131
[ 34.391920] Mali: M200: HW/SW Watchdog
triggered, checking for progressin 500 ms
[ 34.450120] tvp5150 0-005c: *** unknown
tvp8081 chip detected.
[ 34.450306] tvp5150 0-005c: *** Rom ver is
130.131
[ 34.481211] s3c-fimc-2 : FIMC2 1
opened.
[ 35.060114] tvp5150 0-005c: *** unknown
tvp8081 chip detected.
[ 35.060296] tvp5150 0-005c: *** Rom ver is
130.131
[ 35.096090] other type
[ 35.098410] s3c-fimc s3c-fimc.0:
fimc_streamon_capture: s_stream failed
위의 에러는 아래와 같이 처리하면 됩니다.
//by crazyboy
tvp5150.c 파일에서
static inttvp5150_s_stream(struct v4l2_subdev *sd, int enable)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
int err=0;
printk("CRZ %s(%d) \n", __func__, enable);
switch (enable) {
case STREAM_MODE_CAM_ON:
printk("%s STREAM_MODE_CAM_ON\n",__func__);
break;
case STREAM_MODE_CAM_OFF:
//initialized=0;
printk("%s STREAM_MODE_CAM_OFF\n",__func__);
break;
default:
break;
}
return err;
}
static conststruct v4l2_subdev_video_ops tvp5150_video_ops =
{
.s_routing = tvp5150_s_routing,
//.s_fmt = tvp5150_s_fmt,
.s_mbus_fmt = tvp5150_s_fmt,
.s_parm = tvp5150_s_parm,
.enum_framesizes = tvp5150_enum_framesizes,
.s_stream = tvp5150_s_stream,//by crazyboy
};
하면 preview 됩니다.
|
댓글 없음:
댓글 쓰기