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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

678 Views
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

0 Kudos
2 Replies

443 Views
yuanke
Contributor I

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

0 Kudos

663 Views
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 Kudos