I think you should have sent these patches to linux-me...@vger.kernel.org
as well.

> -----Original Message-----
> From: davinci-linux-open-source-boun...@linux.davincidsp.com
> [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf
> Of santiago.nu...@ridgerun.com
> Sent: Thursday, August 27, 2009 8:17 PM
> To: Karicheri, Muralidharan
> Cc: davinci-linux-open-source@linux.davincidsp.com;
> clark.bec...@ridgerun.com; Santiago Nunez-Corrales;
> todd.fisc...@ridgerun.com
> Subject: [PATCH 1/6] Support for TVP7002 in v4l2 definitions
> 
> From: Santiago Nunez-Corrales <santiago.nu...@ridgerun.com>
> 
> This patch provides required std and control definitions in TVP7002
> within v4l2.
> 
> Signed-off-by: Santiago Nunez-Corrales <santiago.nu...@ridgerun.com>
> ---
>  include/linux/videodev2.h       |   87
> +++++++++++++++++++++++++++++++++++++-
>  include/media/v4l2-chip-ident.h |    3 +
>  2 files changed, 87 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 74f1687..5a735be 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -704,11 +704,66 @@ typedef __u64 v4l2_std_id;
>                                V4L2_STD_PAL_Nc        |\
>                                V4L2_STD_SECAM)
>  #define V4L2_STD_ATSC           (V4L2_STD_ATSC_8_VSB    |\
> -                              V4L2_STD_ATSC_16_VSB)
> +                                                              
> V4L2_STD_ATSC_16_VSB)
> 
> +/* Frequency for HD (i.e. 60 vs 50) */
> +#define V4L2_STD_HDTV_50     ((v4l2_std_id)0x04000000)
> +#define V4L2_STD_HDTV_60     ((v4l2_std_id)0x00000000)
> +
> +/* interlaced vs progressive for HD */
> +#define V4L2_STD_HDTV_I              ((v4l2_std_id)0x08000000)
> +#define V4L2_STD_HDTV_P              ((v4l2_std_id)0x00000000)
> +
> +/* 720 vs 1080 HD modes */
> +#define V4L2_STD_HDTV_720    ((v4l2_std_id)0x08000000)
> +#define V4L2_STD_HDTV_1080   ((v4l2_std_id)0x10000000)
> +
> +/* FIXME:
> + *
> + * Definitions equal to zero are listed for clarity. In general,
> + * definitions of standards should be improved by using bits to
> + * denote properties, not specific standards and forcing the use
> + * of unnatural combinatorics tricks. Otherwise, as such is the
> + * current case, the descriptor bit space gets exhausted very
> + * rapidly.
> + */
> +
> +/* some standards for SDTV and HDTV */
> +#define V4L2_STD_480P_60     (V4L2_STD_525_60        |\
> +                              V4L2_STD_HDTV_P)
> +#define V4L2_STD_480I_60     (V4L2_STD_525_60        |\
> +                              V4L2_STD_HDTV_I)
> +#define V4L2_STD_576P_50     (V4L2_STD_625_50        |\
> +                              V4L2_STD_HDTV_P)
> +#define V4L2_STD_576I_50     (V4L2_STD_625_50        |\
> +                              V4L2_STD_HDTV_I)
> +#define V4L2_STD_720P_50     (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_50       |\
> +                              V4L2_STD_HDTV_P        |\
> +                              V4L2_STD_HDTV_720)
> +#define V4L2_STD_720P_60     (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_60       |\
> +                              V4L2_STD_HDTV_P        |\
> +                              V4L2_STD_HDTV_720)
> +#define V4L2_STD_1080I_50    (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_50       |\
> +                              V4L2_STD_HDTV_I        |\
> +                              V4L2_STD_HDTV_1080)
> +#define V4L2_STD_1080I_60    (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_60       |\
> +                              V4L2_STD_HDTV_I        |\
> +                              V4L2_STD_HDTV_1080)
> +#define V4L2_STD_1080P_50    (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_50       |\
> +                              V4L2_STD_HDTV_P        |\
> +                              V4L2_STD_HDTV_1080)
> +#define V4L2_STD_1080P_60    (V4L2_STD_ATSC          |\
> +                              V4L2_STD_HDTV_60       |\
> +                              V4L2_STD_HDTV_P        |\
> +                              V4L2_STD_HDTV_1080)
> +
> +
>  #define V4L2_STD_UNKNOWN        0
> -#define V4L2_STD_ALL            (V4L2_STD_525_60     |\
> -                              V4L2_STD_625_50)
> 
>  struct v4l2_standard {
>       __u32                index;
> @@ -808,6 +863,7 @@ struct v4l2_ext_controls {
>  #define V4L2_CTRL_CLASS_USER 0x00980000      /* Old-style 'user' controls */
>  #define V4L2_CTRL_CLASS_MPEG 0x00990000      /* MPEG-compression controls */
>  #define V4L2_CTRL_CLASS_CAMERA 0x009a0000    /* Camera class controls
> */
> +#define V4L2_CTRL_CLASS_DECODER 0x009c0000   /* Decoder class controls
> */
> 
>  #define V4L2_CTRL_ID_MASK              (0x0fffffff)
>  #define V4L2_CTRL_ID2CLASS(id)    ((id) & 0x0fff0000UL)
> @@ -1147,6 +1203,31 @@ enum  v4l2_exposure_auto_type {
> 
>  #define V4L2_CID_PRIVACY                     (V4L2_CID_CAMERA_CLASS_BASE+16)
> 
> +
> +/* tvp7002 control IDs*/
> +#define V4L2_CID_TVP7002_BASE                        V4L2_CTRL_CLASS_DECODER
> +#define V4L2_CID_TVP7002_COARSE_GAIN_R               (V4L2_CID_TVP7002_BASE +
> 1)
> +#define V4L2_CID_TVP7002_COARSE_GAIN_G               (V4L2_CID_TVP7002_BASE +
> 2)
> +#define V4L2_CID_TVP7002_COARSE_GAIN_B               (V4L2_CID_TVP7002_BASE +
> 3)
> +#define V4L2_CID_TVP7002_FINE_GAIN_R         (V4L2_CID_TVP7002_BASE +
> 4)
> +#define V4L2_CID_TVP7002_FINE_GAIN_G         (V4L2_CID_TVP7002_BASE +
> 5)
> +#define V4L2_CID_TVP7002_FINE_GAIN_B         (V4L2_CID_TVP7002_BASE +
> 6)
> +#define V4L2_CID_TVP7002_B_CLAMP             (V4L2_CID_TVP7002_BASE + 7)
> +#define V4L2_CID_TVP7002_G_CLAMP             (V4L2_CID_TVP7002_BASE + 8)
> +#define V4L2_CID_TVP7002_R_CLAMP             (V4L2_CID_TVP7002_BASE + 9)
> +#define V4L2_CID_TVP7002_CLAMP_OFF_EN                (V4L2_CID_TVP7002_BASE +
> 10)
> +#define V4L2_CID_TVP7002_FCTCA                       (V4L2_CID_PRIVATE_BASE +
> 11)
> +#define V4L2_CID_TVP7002_F_CLAMP_GB          (V4L2_CID_TVP7002_BASE +
> 12)
> +#define V4L2_CID_TVP7002_F_CLAMP_R           (V4L2_CID_TVP7002_BASE + 13)
> +#define V4L2_CID_TVP7002_CLAMP_START         (V4L2_CID_TVP7002_BASE +
> 14)
> +#define V4L2_CID_TVP7002_CLAMP_W             (V4L2_CID_TVP7002_BASE + 15)
> +#define V4L2_CID_TVP7002_B_COARSE_OFF                (V4L2_CID_TVP7002_BASE +
> 16)
> +#define V4L2_CID_TVP7002_G_COARSE_OFF                (V4L2_CID_TVP7002_BASE +
> 17)
> +#define V4L2_CID_TVP7002_R_COARSE_OFF                (V4L2_CID_TVP7002_BASE +
> 18)
> +#define V4L2_CID_TVP7002_B_FINE_OFF          (V4L2_CID_TVP7002_BASE +
> 19)
> +#define V4L2_CID_TVP7002_G_FINE_OFF          (V4L2_CID_TVP7002_BASE +
> 20)
> +#define V4L2_CID_TVP7002_R_FINE_OFF          (V4L2_CID_TVP7002_BASE +
> 21)
> +
>  /*
>   *   T U N I N G
>   */
> diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-
> ident.h
> index 94e908c..b8c86d9 100644
> --- a/include/media/v4l2-chip-ident.h
> +++ b/include/media/v4l2-chip-ident.h
> @@ -129,6 +129,9 @@ enum {
>       V4L2_IDENT_SAA6752HS = 6752,
>       V4L2_IDENT_SAA6752HS_AC3 = 6753,
> 
> +     /* module tvp7002: just ident 7002 */
> +     V4L2_IDENT_TVP7002 = 7002,
> +
>       /* module adv7170: just ident 7170 */
>       V4L2_IDENT_ADV7170 = 7170,
> 
> --
> 1.6.0.4
> 
> 
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to