I am using jetson tx1 P2597 to develop my imx258 driver.I have successfully driven my IMX258 device (1280720@60Hz mode 2LANE), the clock and data can be seen using the oscilloscope when I open the cheese software, but the terminal always prints "
[ 130.140156] video4linux video0: frame start syncpt timeout!0
[131.876151] video4linux video0: frame start syncpt timeout!0
[ 133.612154] video4linux video0: frame start syncpt timeout!0
[ 135.348152] video4linux video0: frame start syncpt timeout! 0", did not see the image, why?
The following is the configuration of my device tree:
i2c@0 {
imx258_a@1a {
compatible = “nvidia,imx258”;
/ I2C device address */
reg = <0x1a>;
devnode = “video1”;
/* Physical dimensions of sensor */
physical_w = "3.674";
physical_h = "2.738";
/* Define any required hw resources needed by driver */
/* ie. clocks, io pins, power sources */
avdd-reg = "vana";
iovdd-reg = "vif";
dvdd-reg = "vdig";
/* Defines number of frames to be dropped by driver internally after applying */
/* sensor crop settings. Some sensors send corrupt frames after applying */
/* crop co-ordinates */
/*post_crop_frame_drop = "0";*/
/* if true, delay gain setting by one frame to be in sync with exposure */
delayed_gain = "true";
mode0 { // IMX274_MODE_1280X720
mclk_khz = "24000";
num_lanes = "2";
tegra_sinterface = "serial_a";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
active_w = "1280";
active_h = "720";
pixel_t = "bayer_bggr";//"bayer_rggb";
readout_orientation = "0";//"90";
line_length = "1664";//"1752";
inherent_gain = "1";
mclk_multiplier = "3.1";
pix_clk_hz = "74250000";
min_gain_val = "1.0";
max_gain_val = "22.2";
min_hdr_ratio = "1";
max_hdr_ratio = "64";
min_framerate = "1.462526";
max_framerate = "60";
min_exp_time = "16.165";
max_exp_time = "165770";
embedded_metadata_height = "1";
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
liimx258_imx258_out1: endpoint {
csi-port = <1>;
bus-width = <2>;
remote-endpoint = <&liimx258_csi_in1>;
};
};
};
};
};
vi_base: vi {
ports {
vi_port0: port@0 {
status = "okay";
vi_in0: endpoint {
status = "okay";
};
};
vi_port1: port@1 {
status = "disabled";
vi_in1: endpoint {
status = "disabled";
};
};
vi_port2: port@2 {
status = "disabled";
vi_in2: endpoint {
status = "disabled";
};
};
vi_port3: port@3 {
status = "disabled";
vi_in3: endpoint {
status = "disabled";
};
};
vi_port4: port@4 {
status = "disabled";
vi_in4: endpoint {
status = "disabled";
};
};
vi_port5: port@5 {
status = "disabled";
vi_in5: endpoint {
status = "disabled";
};
};
};
};
csi_base: nvcsi {
csi_chan0: channel@0 {
status = "okay";
ports {
csi_chan0_port0: port@0 {
status = "okay";
csi_in0: endpoint@0 {
status = "okay";
};
};
csi_chan0_port1: port@1 {
status = "okay";
csi_out0: endpoint@1 {
status = "okay";
};
};
};
};
csi_chan1: channel@1 {
status = "okay";
ports {
csi_chan1_port0: port@0 {
status = "okay";
csi_in1: endpoint@2 {
status = "okay";
};
};
csi_chan1_port1: port@1 {
status = "disabled";
csi_out1: endpoint@3 {
status = "disabled";
};
};
};
};
csi_chan2: channel@2 {
status = "okay";
ports {
csi_chan2_port0: port@0 {
status = "okay";
csi_in2: endpoint@4 {
status = "okay";
};
};
csi_chan2_port1: port@1 {
status = "disabled";
csi_out2: endpoint@5 {
status = "disabled";
};
};
};
};
csi_chan3: channel@3 {
status = "okay";
ports {
csi_chan3_port0: port@0 {
status = "okay";
csi_in3: endpoint@6 {
status = "okay";
};
};
csi_chan3_port1: port@1 {
status = "disabled";
csi_out3: endpoint@7 {
status = "disabled";
};
};
};
};
csi_chan4: channel@4 {
status = "okay";
ports {
csi_chan4_port0: port@0 {
status = "okay";
csi_in4: endpoint@8 {
status = "okay";
};
};
csi_chan4_port1: port@1 {
status = "disabled";
csi_out4: endpoint@9 {
status = "disabled";
};
};
};
};
csi_chan5: channel@5 {
status = "okay";
ports {
csi_chan5_port0: port@0 {
status = "okay";
csi_in5: endpoint@10 {
status = "okay";
};
};
csi_chan5_port1: port@1 {
status = "disabled";
csi_out5: endpoint@11 {
status = "disabled";
};
};
};
};
};