i.MX8QXP Video Input IMX8QXP !! Kernel Panic!! Oops Error!!

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX8QXP Video Input IMX8QXP !! Kernel Panic!! Oops Error!!

955件の閲覧回数
mosaddek_hossai
Contributor III

Hallo Nxp Community,

I am trying to run MAX9288 in i.MXQXP. Currently while configuration media_enity_pads_init. 

From V4L2 framework, creates Kernel Panic

ERROR LOG:

>[ 73.321829] mx8-img-md: Registered sensor subdevice: max9288 16-0049 (1)
>[ 73.331888] -----------[ cut here ]-----------
>[ 73.336509] kernel BUG at drivers/media/media-entity.c:158!
>[ 73.342088] Internal error: Oops - BUG: 0 1 PREEMPT SMP
>[ 73.347577] Modules linked in: max9288
>[ 73.351594] Process modprobe (pid: 2651, stack limit = 0x00000000a4f18683)

Code for V4l2 Interface:

sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;

printk ("v4l2 driver");
sd->entity.function = MEDIA_ENT_F_CAM_SENSOR
priv->pads[MIPI_CSI2_SENS_VC0_PAD_SOURCE].flags = MEDIA_PAD_FL_SOURCE;
printk("Pad Init");
ret = media_entity_pads_init(&sd->entity, MIPI_CSI2_SENS_VCX_PADS_NUM, priv->pads);
if (ret)
dev_err(dev, "pads init ret: %d\n", ret);

printk ("Entity v4l2 driver");
sd->entity.ops = &max9288_sd_media_ops;

/* TODO: more chip init and CSI source subdev registration. */

/* FL end */
printk ("Entity v4l2 driver");
ret = v4l2_async_register_subdev(&priv->subdev);
ret = v4l2_int_device_register(&sd);
if (ret) {
dev_err(dev, "async register subdev ret: %d\n", ret);
media_entity_cleanup(&sd->entity);
return ret;
}

Init Log From MAX9288

Maxim detected
[ 183.153748] Normal operation Hardware PreInit 146
[ 183.160388] max9288 16-0049: DESID: 0x92, Rev: 0x00
[ 183.165430] max9288 16-0049: In max9288_hardware_status()
[ 183.172290] reg 0x02 val 0x0f
[ 183.176705] reg 0x04 val 0x20
[ 183.196247] reg 0x04 val 0x00
[ 183.216263] reg 0x05 val 0x29
[ 183.228253] reg 0x06 val 0x00
[ 183.240252] reg 0x08 val 0x27
[ 183.252257] reg 0x09 val 0x40
[ 183.264256] reg 0x11 val 0x22
[ 183.276258] reg 0x12 val 0x00
[ 183.288286] reg 0x14 val 0x00
[ 183.300257] reg 0x15 val 0x70
[ 183.312254] reg 0x1d val 0x00
[ 183.324259] reg 0x60 val 0x30
[ 183.336234] reg 0x65 val 0x37
[ 183.339688] max9288 16-0049: Locked Status: 0x04: Rev: 0x80
[ 183.345864] max9288 16-0049: DECERR: 0x0D: Rev: 0x00
[ 183.351492] max9288 16-0049: PRBSERR: 0x0E: Rev: 0xff
[ 183.357108] max9288 16-0049: WireCheck : 0x76: Rev: 0x06
[ 183.363019] max9288 16-0049: General Tracking: 0x04: Rev: 0x0f
[ 183.369006] Start V4l2 Interface

@igorpadykov  Can you please let me know why BUG_ON cannot detect mdev for V4L2. Why is the CSI not loading the mdev? Can you explain in more details how it can be fixed.

Hoping to hear from you.

Kind Regards,

Hossain

ラベル(1)
0 件の賞賛
返信
2 返答(返信)

720件の閲覧回数
yuanke
Contributor I

i write driver for 9288,but when i test ,application blocked at DQBUF,is there someone can help me?

0 件の賞賛
返信

940件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello mosaddek,

one can use as reference max9286 driver, described in sect.6.1.7 V4L2 Capture

max9286.c\imx8\platform\media\drivers - linux-imx - i.MX Linux kernel 

AR0144 and ov9284 drivers for I.MX8QM/QXP. | NXP Community 

for debugging one can try camera unit test:

mx8_v4l2_cap_drm.c\mxc_v4l2_test\test - imx-test - i.MX Driver Test Application Software 

 

Regards

 

0 件の賞賛
返信