12:12 | mhilt | jnettlet : I have two parallel cameras now - one with an oscillator on the camera module, the other without |
12:12 | jnettlet | mhilt, okay |
12:13 | mhilt | the camera without the oscillator works, but the quality is poor because of clock noise |
12:13 | mhilt | the module with the oscillator does not load successfully |
12:13 | mhilt | but it's i2c is working |
12:19 | mhilt | [ 5.189953] camera ov5640_mipi is not found |
12:19 | mhilt | [ 5.207242] usbcore: registered new interface driver brcmfmac |
12:19 | mhilt | [ 5.349502] 2-003c supply DOVDD not found, using dummy regulator |
12:19 | mhilt | [ 5.481409] 2-003c supply DVDD not found, using dummy regulator |
12:19 | mhilt | [ 5.508293] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 25 2011 19:34:12 version 5.90.125.104 |
12:19 | mhilt | [ 5.558573] 2-003c supply AVDD not found, using dummy regulator |
12:19 | mhilt | [ 5.612093] V4L2 device 'Mxc Camera' on IPU1_CSI0 registered as video0 |
12:19 | mhilt | [ 5.659624] camera ov5642 is not found |
12:19 | mhilt | [ 5.700073] V4L2 device 'Mxc Camera' on IPU1_CSI1 registered as video1 |
12:19 | mhilt | [ 5.977962] mxc_v4l_open: Mxc Camera no sensor ipu0/csi0 |
12:19 | mhilt | [ 5.985258] mxc_v4l_open: Mxc Camera no sensor ipu0/csi1 |
12:19 | mhilt | [ 6.037900] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered |
12:19 | mhilt | [ 6.617414] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready |
12:19 | mhilt | [ 16.263471] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 16.350754] NET: Registered protocol family 23 |
12:19 | mhilt | [ 16.406050] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 16.482180] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 16.538552] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 16.624036] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 17.229465] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | [ 17.477680] imx-ipuv3 2400000.ipu: WARNING: adapt panel end blank lines |
12:19 | mhilt | I do not see much other than ov5642 is not found |
12:20 | mhilt | I tried to enable level 7 dmesg, but I would have expected to see more |
12:23 | mhilt | are there any device tree (or other) changes needed if the camera has it's own clock? |
12:25 | jnettlet | mhilt, can you post the device-tree changes you have made? |
12:27 | mhilt | &iomuxc { |
12:27 | mhilt | hummingboard2 { |
12:27 | mhilt | pinctrl_hummingboard2_parallel: hummingboard2_parallel { |
12:27 | mhilt | fsl,pins = < |
12:27 | mhilt | MX6QDL_PAD_EIM_A24__IPU1_CSI1_DATA19 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A23__IPU1_CSI1_DATA18 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A22__IPU1_CSI1_DATA17 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A21__IPU1_CSI1_DATA16 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A20__IPU1_CSI1_DATA15 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A19__IPU1_CSI1_DATA14 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A18__IPU1_CSI1_DATA13 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A17__IPU1_CSI1_DATA12 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_DA11__IPU1_CSI1_HSYNC 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_DA12__IPU1_CSI1_VSYNC 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_A16__IPU1_CSI1_PIXCLK 0x0b0b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1 |
12:27 | mhilt | MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1 |
12:27 | mhilt | // MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 |
12:27 | mhilt | >; |
12:27 | mhilt | }; |
12:27 | mhilt | }; |
12:27 | mhilt | }; |
12:27 | jnettlet | mhilt, put large pastes like that into pastebin :) thanks |
12:27 | mhilt | &i2c3 { |
12:27 | mhilt | ov5642: ov5642@3c { |
12:27 | mhilt | compatible = "ovti,ov5642"; |
12:28 | mhilt | reg = <0x3c>; |
12:28 | mhilt | clocks = <&clks 0>; |
12:28 | mhilt | clock-names = "csi_mclk"; |
12:28 | mhilt | //clocks = <&clks IMX6QDL_CLK_CKO2>; |
12:28 | mhilt | //clock-names = "csi_mclk"; |
12:28 | mhilt | //DOVDD-supply = <®_3p3v>; |
12:28 | mhilt | //AVDD-supply = <®_3p3v>; |
12:28 | mhilt | //DVDD-supply = <®_3p3v>; |
12:28 | mhilt | pwn-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>; |
12:28 | mhilt | rst-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>; |
12:28 | mhilt | ipu_id = <0>; |
12:29 | mhilt | csi_id = <1>; |
12:29 | mhilt | mclk = <24000000>; |
12:29 | mhilt | mclk_source = <0>; |
12:29 | mhilt | pinctrl-names = "default"; |
12:29 | mhilt | pinctrl-0 = <&pinctrl_hummingboard2_parallel>; |
12:29 | mhilt | }; |
12:29 | mhilt | }; |
12:29 | mhilt | in imx6dl-hummingboard2.dts |
12:29 | mhilt | oh, sorry |
12:34 | jnettlet | that looks similar to what I have here. |
12:38 | jnettlet | mhilt, and you added a video capture device entry for that camera? |
12:39 | mhilt | yes I think so: |
12:39 | mhilt | v4l2_cap_1 { |
12:39 | mhilt | compatible = "fsl,imx6q-v4l2-capture"; |
12:39 | mhilt | ipu_id = <0>; |
12:39 | mhilt | csi_id = <1>; |
12:39 | mhilt | mclk_source = <0>; |
12:39 | mhilt | status = "okay"; |
12:39 | mhilt | }; |
12:42 | mhilt | if I remove / modprobe again, I do get this: |
12:42 | mhilt | [ 1365.333771] 2-003c supply DOVDD not found, using dummy regulator |
12:42 | mhilt | [ 1365.346082] 2-003c supply DVDD not found, using dummy regulator |
12:42 | mhilt | [ 1365.364322] 2-003c supply AVDD not found, using dummy regulator |
12:42 | mhilt | [ 1365.401891] camera ov5642 is not found |
12:42 | mhilt | [ 1454.301373] PU: Power-on latency exceeded, new value 2021333 ns |
12:44 | jnettlet | mhilt, but you see it on the i2c bus? |
12:44 | mhilt | yes |
12:45 | jnettlet | sounds like power, or clock then |
12:45 | mhilt | do I need to change anything in the device tree if the clock is already on the module? |
12:53 | jnettlet | give me a bit. I will pull my module out and take a look |
12:53 | mhilt | thanks! |
14:28 | topi` | is rabeeh around? |
14:55 | jnettlet | topi`, on and off. |
16:05 | jnettlet | mhilt, can you take a picture of how you have your sensor wired? |
16:46 | mhilt | jnettlet, do you mean a picture of the actual board, or a schematic |
16:46 | mhilt | ? |
17:01 | mhilt | http://picpaste.com/20170322_114955-3HBrGOWP.jpg |
18:01 | mhilt | I rechecked all the electrical, and I can't find any issue |
18:02 | mhilt | other than the clock supplied on the module vs from imx6, the only other difference I did find is that the working board uses an actual ov5642 |
18:03 | mhilt | the other board has an ov5640 |
18:05 | jnettlet | so the ov5642 just has a bad picture, and the ov5640 doesn't work at all? |
18:05 | mhilt | correct |
18:05 | mhilt | actually, I've improved the ov5642 -- not perfect, but okay. I believe the issues are only clock stability |
18:06 | mhilt | I was under the impression the ov5642 driver could be used for parallel ov5640 ... |
18:06 | jnettlet | and that is being driven by pclk, or has its own oscillator? |
18:06 | jnettlet | mhilt, I don't know about that. I have never tried. I have only used the ov5640 in mipi csi mode |
18:07 | mhilt | the ov5642 that I'm using is getting it's clock from the board, not it's own oscillator |
18:08 | mhilt | that module is: http://www.uctronics.com/mega-pixel-camera-module-ov5642-1080p-jpeg-output-p-1420l.html |
18:08 | mhilt | the 5640 module is: http://www.friendlyarm.com/index.php?route=product/product&product_id=155 |
18:25 | jnettlet | mhilt, have you measured the pixclock pin? are you getting a 24Mhz wave? |
18:33 | bencoh | mhilt: parallel ov5640 has a driver of its own |
21:09 | mhilt | jnettlet: yes I have looked at the clock, and it is fine |
21:10 | mhilt | bencoh: thanks, yes I am looking for it in Yocto -- have you used it before? |
21:30 | mhilt | there is a ov5640_camera module in /kernel/drivers/media/platform/mxc/subdev/ |
21:31 | mhilt | I assume this is the right driver, but I cannot load the module |
22:12 | mhilt | I modified the device tree to reflect ov5640 vs ov5642, and the camera is now detected and the module loads |
22:13 | mhilt | however, it does not appear to be recognized as a v4l2 device |