Hi Stan, On Fri, Dec 2, 2011 at 7:32 AM, Stanimir Varbanov <svarbanov@xxxxxxxxxx> wrote: > Hi, Sergio > > This change in interface is not used from the omap4iss driver. > > You could drop it from the patch set, if so. Oops, yes... I used to depend on this for my soc_camera implementation before... You're absolutely right, i'll remove it in the next iteration. Merci! > > On 12/01/2011 02:14 AM, Sergio Aguirre wrote: >> From: Stanimir Varbanov <svarbanov@xxxxxxxxxx> >> >> Introduce g_interface_parms sensor operation for getting sensor >> interface parameters. These parameters are needed from the host side >> to determine it's own configuration. >> >> Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> >> --- >> include/media/v4l2-subdev.h | 42 ++++++++++++++++++++++++++++++++++++++++++ >> 1 files changed, 42 insertions(+), 0 deletions(-) >> >> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h >> index f0f3358..0d322ed 100644 >> --- a/include/media/v4l2-subdev.h >> +++ b/include/media/v4l2-subdev.h >> @@ -362,6 +362,42 @@ struct v4l2_subdev_vbi_ops { >> int (*s_sliced_fmt)(struct v4l2_subdev *sd, struct v4l2_sliced_vbi_format *fmt); >> }; >> >> +/* Which interface the sensor use to provide it's image data */ >> +enum v4l2_subdev_sensor_iface { >> + V4L2_SUBDEV_SENSOR_PARALLEL, >> + V4L2_SUBDEV_SENSOR_SERIAL, >> +}; >> + >> +/* Each interface could use the following modes */ >> +/* Image sensor provides horizontal and vertical sync signals */ >> +#define V4L2_SUBDEV_SENSOR_MODE_PARALLEL_SYNC 0 >> +/* BT.656 interface. Embedded sync */ >> +#define V4L2_SUBDEV_SENSOR_MODE_PARALLEL_ITU 1 >> +/* MIPI CSI1 */ >> +#define V4L2_SUBDEV_SENSOR_MODE_SERIAL_CSI1 2 >> +/* MIPI CSI2 */ >> +#define V4L2_SUBDEV_SENSOR_MODE_SERIAL_CSI2 3 >> + >> +struct v4l2_subdev_sensor_serial_parms { >> + unsigned char lanes; /* number of lanes used */ >> + unsigned char channel; /* virtual channel */ >> + unsigned int phy_rate; /* output rate at CSI phy in bps */ >> + unsigned int pix_clk; /* pixel clock in Hz */ >> +}; >> + >> +struct v4l2_subdev_sensor_parallel_parms { >> + unsigned int pix_clk; /* pixel clock in Hz */ >> +}; >> + >> +struct v4l2_subdev_sensor_interface_parms { >> + enum v4l2_subdev_sensor_iface if_type; >> + unsigned int if_mode; >> + union { >> + struct v4l2_subdev_sensor_serial_parms serial; >> + struct v4l2_subdev_sensor_parallel_parms parallel; >> + } parms; >> +}; >> + >> /** >> * struct v4l2_subdev_sensor_ops - v4l2-subdev sensor operations >> * @g_skip_top_lines: number of lines at the top of the image to be skipped. >> @@ -371,10 +407,16 @@ struct v4l2_subdev_vbi_ops { >> * @g_skip_frames: number of frames to skip at stream start. This is needed for >> * buggy sensors that generate faulty frames when they are >> * turned on. >> + * @g_interface_parms: get sensor interface parameters. The sensor subdev should >> + * fill this structure with current interface params. These >> + * interface parameters are needed on host side to configure >> + * it's own hardware receivers. >> */ >> struct v4l2_subdev_sensor_ops { >> int (*g_skip_top_lines)(struct v4l2_subdev *sd, u32 *lines); >> int (*g_skip_frames)(struct v4l2_subdev *sd, u32 *frames); >> + int (*g_interface_parms)(struct v4l2_subdev *sd, >> + struct v4l2_subdev_sensor_interface_parms *parms); >> }; >> >> /* > > > -- > best regards, > Stan -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html