Part Number: AM623
Hi team,
The customer are using the am6234 custom board, debugging the CSI imx219 camera with SDK 8.6 and using the imx219 driver that comes with the SDK kernel.
The /dev/video* device node already appears after the drive is loaded, but data cannot be collected. The program gets stuck at wait_event_interruptible of the __vb2_wait_for_done_vb function in drivers/media/common/videobuf2/videobuf2-core.c file.
The debug information is printed as shown in the following figure:


It is found through printing that the DMA callback function ti_csi2rx_DMA_callback in the drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c driver has never been called, resulting in the stuck when acquiring data.

It was also found that DMA initialization in the drivers/media/platform/ti/j721e-csi2Rx/j721e-csi2Rx.c driver only sets the width of DMA and does not set the source address of DMA:

The device tree is configured as follows:
&main_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
imx219_0: imx219_0@10 {
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&clk_mipi_csi_fixed>;
clock-names = "xclk";
pinctrl-names = "default";
pinctrl-0 = <&imx219_reset_gpio>;
reset-gpios = <&mcu_gpio0 11 GPIO_ACTIVE_HIGH>;
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
&csi0_port0 {
status = "okay";
csi2rx0_in_sensor: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
Could you help check this case? Thanks.
Best Regards,
Cherry
