Interface ov5647 mipi camera module with IMX.8QM

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

Interface ov5647 mipi camera module with IMX.8QM

829 Views
kiran0472
Contributor I

Hi ,

I am trying to integrate OV5647 Camera module with IMX.8QM custom board using MIPI CSI Communication. But, kernel is getting Crashed when it is trying to create media link.

Please find the below logs & Device tree Enabled syntax.

Crash Logs:

[ 10.151174] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
] Listening on dropbear.socket.
[ 10.163941] mx8-img-md: Registered mxc_isi.0.capture as /dev/video1
[ 10.172387] mxc-md bus@58000000:camera: Entity type for entity ov5647_mipi 5-0036 was not initialized!
[ 10.181159] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 10.183859] mx8-img-md: Registered sensor subdevice: ov5647_mipi 5-0036 (1)
[ 10.188561] [drm] No driver support for vblank timestamp query.
[ 10.195763] mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]
[ 10.202232] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.2 (ops dpu_bliteng_ops)
[ 10.208886] mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0]
[ 10.216612] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.5 (ops dpu_bliteng_ops)
[ 10.224224] ------------[ cut here ]------------
[ 10.233378] mxs_phy 5b100000.usbphy: 5b100000.usbphy supply phy-3p0 not found, using dummy regulator
[ 10.234501] imx-drm display-subsystem: bound imx-dpu-crtc.0 (ops dpu_crtc_ops)
[ 10.235285] kernel BUG at drivers/media/mc/mc-entity.c:666!
[ 10.236300] imx-drm display-subsystem: bound imx-dpu-crtc.1 (ops dpu_crtc_ops)
[ 10.236599] imx-drm display-subsystem: bound imx-dpu-crtc.3 (ops dpu_crtc_ops)
[ 10.239182] imx-drm display-subsystem: bound imx-dpu-crtc.4 (ops dpu_crtc_ops)
[ 10.243489] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 10.243496] [drm] No driver support for vblank timestamp query.
[ 10.243622] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.2 (ops dpu_bliteng_ops)
[ 10.243692] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.5 (ops dpu_bliteng_ops)
[ 10.244405] usb_phy_generic bus@5b000000:usb3-phy: bus@5b000000:usb3-phy supply vcc not found, using dummy regulator
[ 10.244981] imx-drm display-subsystem: bound imx-dpu-crtc.0 (ops dpu_crtc_ops)
[ 10.251641] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[ 10.251645] Modules linked in: phy_mxs_usb(+) usbmisc_imx phy_generic(+) roles spi_fsl_lpspi imx8_media_dev(C+) edt_ft5x06(+) galcore ipv6
[ 10.261852] imx-drm display-subsystem: bound imx-dpu-crtc.1 (ops dpu_crtc_ops)
[ 10.264451] CPU: 1 PID: 348 Comm: systemd-udevd Tainted: G C 5.4.70-g356af5f152f2-dirty #7
[ 10.272674] imx-drm display-subsystem: bound imx-dpu-crtc.3 (ops dpu_crtc_ops)
[ 10.278892] Hardware name: PHYTEC i.MX8QM RDK (DT)
[ 10.278898] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 10.278910] pc : media_create_pad_link+0x144/0x168
[ 10.278922] lr : subdev_notifier_complete+0x4b4/0x6a0 [imx8_media_dev]
[ 10.278928] sp : ffff800011f5b780
[ 10.286547] imx-drm display-subsystem: bound imx-dpu-crtc.4 (ops dpu_crtc_ops)
[ 10.291453] x29: ffff800011f5b780 x28: ffff000879000080
[ 10.291459] x27: 0000000000000001 x26: ffff0008797a3480
[ 10.291463] x25: ffff0008797a3480 x24: 0000000000000001
[ 10.291468] x23: ffff800010f01c90 x22: ffff0008797a34d0
[ 10.291473] x21: 0000000000000000 x20: 0000000000000000
[ 10.301843] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 10.307656] x19: ffff0008797a3080 x18: 0000000000000000
[ 10.307661] x17: 0000000000000000 x16: 0000000000000000
[ 10.307665] x15: 0000000000000000 x14: 0000000000000000
[ 10.307669] x13: 0000000000000001 x12: 0000000000000000
[ 10.307673] x11: 0000000000000038 x10: 0101010101010101
[ 10.307677] x9 : ffff800011f5b4e0 x8 : 7f7f7f7f7f7f7f7f
[ 10.318214] [drm] No driver support for vblank timestamp query.
[ 10.325422] x7 : ff2f2d316872622c x6 : 0000000000000080
[ 10.331033] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.2 (ops dpu_bliteng_ops)
[ 10.343350] x5 : 0000000000000000 x4 : 0000000000000003
[ 10.343357] x3 : 0000000000000000 x2 : ffff000879000080
[ 10.343361] x1 : 0000000000000000 x0 : ffff800010f01c90
[ 10.343367] Call trace:
[ 10.343379] media_create_pad_link+0x144/0x168
[ 10.343388] subdev_notifier_complete+0x4b4/0x6a0 [imx8_media_dev]
[ 10.343400] v4l2_async_notifier_try_complete.part.4+0x44/0x60
[ 10.350748] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.5 (ops dpu_bliteng_ops)
[ 10.360184] __v4l2_async_notifier_register+0x138/0x150
[ 10.360191] v4l2_async_notifier_register+0x3c/0x60
[ 10.367691] imx-drm display-subsystem: bound imx-dpu-crtc.0 (ops dpu_crtc_ops)
[ 10.372202] mxc_md_probe+0x5a0/0x8a8 [imx8_media_dev]
[ 10.372212] platform_drv_probe+0x50/0xa0
[ 10.377136] imx-drm display-subsystem: bound imx-dpu-crtc.1 (ops dpu_crtc_ops)
[ 10.381779] really_probe+0x108/0x360
[ 10.381784] driver_probe_device+0x58/0x100
[ 10.381790] device_driver_attach+0x6c/0x90
[ 10.388772] imx-drm display-subsystem: bound imx-dpu-crtc.3 (ops dpu_crtc_ops)
[ 10.391624] __driver_attach+0x84/0xc8
[ 10.400769] imx-drm display-subsystem: bound imx-dpu-crtc.4 (ops dpu_crtc_ops)
[ 10.404152] bus_for_each_dev+0x74/0xc8
[ 10.593772] driver_attach+0x20/0x28
[ 10.593776] bus_add_driver+0x148/0x1f0
[ 10.593782] driver_register+0x60/0x110
[ 10.605014] __platform_driver_register+0x40/0x48
[[ 10.609727] mxc_md_driver_init+0x1c/0x1000 [imx8_media_dev]

Device Tree :

&i2c_mipi_csi0 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c_mipi_csi0>;
clock-frequency = <100000>;
status = "okay";

ov5647_mipi_0: ov5647_mipi@36 {
compatible = "ovti,ov5647_mipi";
reg = <0x36>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_csi0>;
pwn-gpios = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
rst-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_LOW>;
DOVDD-supply = <&reg_vref_3v3>;
AVDD-supply = <&reg_vref_3v3>;
DVDD-supply = <&reg_vref_1v8>;
clocks = <&cam2_clk>;
clock-names = "csi_mclk";
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
status = "okay";
port {
ov5647_mipi_0_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
data-lanes = <1 2>;
clocks-lanes = <0>;
};
};
};
/delete-node/max9286_mipi@6a;
};

&mipi_csi_0 {
#address-cells = <1>;
#size-cells = <0>;
virtual-channel;
status = "okay";
/delete-property/virtual-channel;

/* Camera 0 MIPI CSI-2 (CSIS0) */
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {
remote-endpoint = <&ov5647_mipi_0_ep>;
data-lanes = <1 2>;
bus-type = <4>;
};
};
};

Please kindly provide me some solution. 

 

0 Kudos
1 Reply

801 Views
jimmychan
NXP TechSupport
NXP TechSupport

Which version of BSP are you using?

Could you send me your board dts file to me for double check?

How the camera connect on your board?

 

 

0 Kudos