Thanks for the tips. I modified kvim3c as suggested.
Yes, I’m modifying the code based on IMX415
I got some interesting stuff like:
[ 1402.872685@2]
[ 1403.019657@2] sensors 4-000e: set sensor poll time to 66ms
[ 1410.179586@2] isp_v4l2_stream_try_format@:1322 GENERIC(CRIT) :[Stream#0] format 0x00000000 is not supported, setting default format 0x59455247.
[ 1410.187070@4]
[ 1410.194863@4] isp_v4l2_stream_try_format@:1322 GENERIC(CRIT) :[Stream#0] format 0x00000000 is not supported, setting default format 0x59455247.
[ 1410.202194@4]
[ 1410.231364@4] isp_v4l2_s_fmt_vid_cap@:384 GENERIC(CRIT) :isp_v4l2_s_fmt_vid_cap sid:0
[ 1410.233610@4] fw_intf_stream_set_resolution@:643 GENERIC(CRIT) :Leaving same sensor settings resolution : width = 1280, height = 800 (preset idx = 0)
[ 1410.249977@3] AM_MIPI: am_mipi_init:Success mipi init
[ 1410.251927@3] AM_ADAP: inject_data_flag = 0, dump_data_flag = 0
[ 1410.259051@4] AM_ADAP: frontend : width = 1280, val = 80
[ 1410.319964@4] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1410.430932@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1410.631524@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1410.784826@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1410.900573@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1410.925632@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.006791@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.050475@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.136044@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.189183@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.215385@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1411.297648@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.242692@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 1, skip this frame.
[ 1412.324683@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.346747@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.381079@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.449790@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.491936@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.522245@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1412.628130@0] acamera_interrupt_handler@:577 GENERIC(CRIT) :DMA is not finished, cfg: 0, meter: 0, skip this frame.
[ 1552.707777@0] [dhd-wlan0] wl_run_escan : LEGACY_SCAN sync ID: 11, bssidx: 0
[ 1827.873172@0] [dhd-wlan0] wl_run_escan : LEGACY_SCAN sync ID: 12, bssidx: 0
[ 1987.873200@0] [dhd-wlan0] wl_run_escan : LEGACY_SCAN sync ID: 13, bssidx: 0
[ 2147.873951@0] [dhd-wlan0] wl_run_escan : LEGACY_SCAN sync ID: 14, bssidx: 0
[ 2231.488226@2] input input2: key 116 down.
[ 2231.756190@2] input input2: key 116 up.
[ 2232.334819@2] sensors 4-000e: set sensor poll time to 66ms
[ 2232.336230@4] sensors 4-000e: set sensor poll time to 200ms
[ 2232.351079@4] AM_MIPI: am_mipi_deinit:Success mipi deinit
and
[ 14.135556@2] sensor_get_id@:373 GENERIC(CRIT) :sensor_get_id: Failed to read sensor imx415 id
[ 14.143297@2]
[ 14.145766@2] sensor_get_id@:373 GENERIC(CRIT) :sensor_get_id: Failed to read sensor imx415 id
[ 14.153521@2]
[ 14.155162@2] sensor_detect_imx415 id:0xff
[ 14.159267@2] arm_sensor_i2c_remove: remove i2c sensor
[ 14.298340@5] arm_isp ff140000.isp: assigned reserved memory node linux,isp_cma
[ 14.300029@5] AM_SC: am_sc_parse_dt: rs idx info: name: isp_sc
[ 14.305866@5] AM_SC: am_sc_parse_dt:rs info: irq: 59
[ 14.315981@0] interrupt comes in (irq = 60) without app handler, status: 0x200, pusle mode:0
[ 14.323271@0] acamera_fw_init@:106 GENERIC(CRIT) :seamless:0
[ 14.338886@2] init clock is 24 MHZ
[ 14.380543@2] arm_sensor_i2c_probe: start to probe
[ 14.380616@2] arm_sensor_i2c_probe: success get link device:phy-csi
[ 14.386052@2] AM_MIPI: am_mipi_parse_dt:Success to get link device: isp-adapter
[ 14.393294@2] platform ff650000.isp-adapter: assigned reserved memory node linux,adapt_cma
[ 14.401460@2] AM_ADAP: adapter alloc 24M memory
[ 14.406050@2] system_i2c_init:success to add i2c driver
[ 14.517549@2] sensor_get_id@:373 GENERIC(CRIT) :sensor_get_id: Failed to read sensor imx415 id
[ 14.520517@2]
Please note the “format 0x00000000 is not supported” - thatś because I disabled the I2C line of Khadas and using another board.
So I’m forcing the pixel format on isp_v4l2-stream.c
#define ISP_DEFAULT_FORMAT V4L2_PIX_FMT_NV12
I’m not sure yet if it is NV12. What I know for sure is that it is 8 bit pixel.
On imx415_drv.c I also made some modifications:
static sensor_mode_t supported_modes[] = {
{
//Outros modos
/*
wdr:
WDR_MODE_LINEAR
WDR_MODE_NATIVE
WDR_MODE_FS_LIN
WDR_MODE_COUNT
dol type
DOL_NON = 0,
DOL_VC,
DOL_LINEINFO,
bayer:
BAYER_GBRG
BAYER_GRBG
*/
.wdr_mode = WDR_MODE_NATIVE , //WDR_MODE_FS_LIN, //WDR_MODE_LINEAR,
.fps = 30 * 256,
.resolution.width = 1280, //3840,
.resolution.height = 800, //2160,
.bits = 8, //10,
.exposures = 1,
.lanes = 1, //era 4,
.bps = 360, //720,
.bayer = BAYER_GBRG,
.dol_type = DOL_VC, //DOL_NON,
.num = 0,
},
{
.wdr_mode = WDR_MODE_FS_LIN,
.fps = 30 * 256,
.resolution.width = 1280, //era 3840,
.resolution.height = 800, //era 2160,
.bits = 8, //10,
.exposures = 2,
.lanes = 1, //era 4,
.bps = 1440,
.bayer = BAYER_GBRG,
.dol_type = DOL_VC,
.num = 7,
},
{
.wdr_mode = WDR_MODE_LINEAR,
.fps = 30 * 256,
.resolution.width = 1280, //1920,
.resolution.height = 800, //1080,
.bits = 8, //10,
.exposures = 1,
.lanes = 1, //era 4,
.bps = 720,
.bayer = BAYER_GBRG,
.dol_type = DOL_NON,
.num = 2,
},
{
.wdr_mode = WDR_MODE_FS_LIN,
.fps = 30 * 256,
.resolution.width = 1280, //1920,
.resolution.height = 800, //1080,
.bits = 8, //10,
.exposures = 2,
.lanes = 1, //era 4,
.bps = 1440,
.bayer = BAYER_GBRG,
.dol_type = DOL_VC,
.num = 3,
},
};