This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM437X: Working with OV2640

Part Number: PROCESSOR-SDK-AM437X
Other Parts Discussed in Thread: AM4378

Hello,

I have a custom board with AM4378 connected to OV2640. I'm using SDK5.3 and am not able to get the camera working. When I start a gstreamer pipeline or the dual_camera demo, I get the error -

vpfe 48328000.vpfe: Error in attaching interrupt handle

I see this print in the vpfe_start_streaming function. What could be causing this issue?

The device tree entries and the hardware schematic for the camera portion are very similar to the GP EVM. The relevant extracts -

// Under am43xx_pinmux
cam1_pins_default: cam1_pins_default {
	pinctrl-single,pins = <
		0x1dc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE21) cam1_pclk.cam1_pclk */
		0x1d4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD25) cam1_hsync.cam1_hsync */
		0x1d8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AC23) cam1_vsync.cam1_vsync */
		0x1e8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AB20) cam1_data0.cam1_data0 */
		0x1ec ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AC21) cam1_data1.cam1_data1 */
		0x1f0 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD21) cam1_data2.cam1_data2 */
		0x1f4 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE22) cam1_data3.cam1_data3 */
		0x1f8 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD22) cam1_data4.cam1_data4 */
		0x1fc ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE23) cam1_data5.cam1_data5 */
		0x200 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AD23) cam1_data6.cam1_data6 */
		0x204 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (AE24) cam1_data7.cam1_data7 */
	>;
};

// Under i2c0
ov2640: camera@30 {
		compatible = "ovti,ov2640";
		reg = <0x30>;
  status = "okay";
		resetb-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
		clocks = <&audio_mstrclk>;
		clock-names = "xvclk";
		port {
			ov2640_0: endpoint {
				remote-endpoint = <&vpfe1_ep>;
			};
		};
};

&vpfe1 {
	 status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&cam1_pins_default>;

	port {
		vpfe1_ep: endpoint {
			remote-endpoint = <&ov2640_0>;
			ti,am437x-vpfe-interface = <0>;
			bus-width = <8>;
			hsync-active = <0>;
			vsync-active = <0>;
		};
	};
};