Hi, Sergio

This change in interface is not used from the omap4iss driver.

You could drop it from the patch set, if so.

On 12/01/2011 02:14 AM, Sergio Aguirre wrote:
> From: Stanimir Varbanov <svarba...@mm-sol.com>
> 
> 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 <svarba...@mm-sol.com>
> ---
>  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-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to