diff mbox

[RFC,4/7] ARM: DaVinci: DM646x Video: Defintions for standards supported by display

Message ID 1236934897-32160-1-git-send-email-chaithrika@ti.com (mailing list archive)
State RFC
Headers show

Commit Message

chaithrika@ti.com March 13, 2009, 9:01 a.m. UTC
From: Chaithrika U S <chaithrika@ti.com>

Add defintions for Digital TV Standards supported by display driver

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
---
Applies to v4l-dvb repository located at
http://linuxtv.org/hg/v4l-dvb/rev/1fd54a62abde

 include/linux/videodev2.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

Comments

Hans Verkuil March 14, 2009, 1:27 p.m. UTC | #1
On Friday 13 March 2009 10:01:37 chaithrika@ti.com wrote:
> From: Chaithrika U S <chaithrika@ti.com>
> 
> Add defintions for Digital TV Standards supported by display driver
> 
> Signed-off-by: Chaithrika U S <chaithrika@ti.com>
> ---
> Applies to v4l-dvb repository located at
> http://linuxtv.org/hg/v4l-dvb/rev/1fd54a62abde
> 
>  include/linux/videodev2.h |   12 ++++++++++++
>  1 files changed, 12 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 7a8eafd..df4a622 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -704,6 +704,18 @@ typedef __u64 v4l2_std_id;
>  #define V4L2_STD_ALL            (V4L2_STD_525_60	|\
>  				 V4L2_STD_625_50)
>  
> +#define V4L2_STD_720P_60        ((v4l2_std_id)(0x0001000000000000ULL))
> +#define V4L2_STD_1080I_30       ((v4l2_std_id)(0x0002000000000000ULL))
> +#define V4L2_STD_1080I_25       ((v4l2_std_id)(0x0004000000000000ULL))
> +#define V4L2_STD_480P_60        ((v4l2_std_id)(0x0008000000000000ULL))
> +#define V4L2_STD_576P_50        ((v4l2_std_id)(0x0010000000000000ULL))
> +#define V4L2_STD_720P_25        ((v4l2_std_id)(0x0020000000000000ULL))
> +#define V4L2_STD_720P_30        ((v4l2_std_id)(0x0040000000000000ULL))
> +#define V4L2_STD_720P_50        ((v4l2_std_id)(0x0080000000000000ULL))
> +#define V4L2_STD_1080P_25       ((v4l2_std_id)(0x0100000000000000ULL))
> +#define V4L2_STD_1080P_30       ((v4l2_std_id)(0x0200000000000000ULL))
> +#define V4L2_STD_1080P_24       ((v4l2_std_id)(0x0400000000000000ULL))
> +
>  struct v4l2_standard {
>  	__u32		     index;
>  	v4l2_std_id          id;

This requires an RFC. I'm not convinced that using v4l2_std_id is the best
approach. If you look at the CEA-861-D you see a lot more standards (and E
adds even more). Not to mention that when the DM646x is used in combination
with e.g. an FPGA then it should be possible to supply the driver with
custom timings as well. The v4l2_std_id type was never designed for that.

My gut feeling is that v4l2_std_id should be effectively frozen and used for
the old TV broadcast standards only, and that a new API should be created
to setup these digital formats.

I've discussed this with Manju in the past, and I suggest that TI should make
a proposal in the form of an RFC that we can then discuss on the mailinglists.
One of the disadvantages of being the first who needs these HDTV formats. The
advantage of being the first is that you can design it yourself, of course!

Regards,

	Hans
Hans Verkuil March 18, 2009, 10:35 p.m. UTC | #2
Hi Chaithrika,

Just a quick note: getting these digital TV standards sorted out is the main 
blocking issue for the DM646x. Without this nothing can get merged. In 
addition, extending the V4L2 API will take time and usually takes several 
review cycles. So I recommend that this gets a high priority.

I'm not sure if the importance of this came across in my initial review. My 
apologies if that wasn't clear.

Regards,

	Hans

On Saturday 14 March 2009 14:27:09 Hans Verkuil wrote:
> On Friday 13 March 2009 10:01:37 chaithrika@ti.com wrote:
> > From: Chaithrika U S <chaithrika@ti.com>
> >
> > Add defintions for Digital TV Standards supported by display driver
> >
> > Signed-off-by: Chaithrika U S <chaithrika@ti.com>
> > ---
> > Applies to v4l-dvb repository located at
> > http://linuxtv.org/hg/v4l-dvb/rev/1fd54a62abde
> >
> >  include/linux/videodev2.h |   12 ++++++++++++
> >  1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> > index 7a8eafd..df4a622 100644
> > --- a/include/linux/videodev2.h
> > +++ b/include/linux/videodev2.h
> > @@ -704,6 +704,18 @@ typedef __u64 v4l2_std_id;
> >  #define V4L2_STD_ALL            (V4L2_STD_525_60	|\
> >  				 V4L2_STD_625_50)
> >
> > +#define V4L2_STD_720P_60        ((v4l2_std_id)(0x0001000000000000ULL))
> > +#define V4L2_STD_1080I_30       ((v4l2_std_id)(0x0002000000000000ULL))
> > +#define V4L2_STD_1080I_25       ((v4l2_std_id)(0x0004000000000000ULL))
> > +#define V4L2_STD_480P_60        ((v4l2_std_id)(0x0008000000000000ULL))
> > +#define V4L2_STD_576P_50        ((v4l2_std_id)(0x0010000000000000ULL))
> > +#define V4L2_STD_720P_25        ((v4l2_std_id)(0x0020000000000000ULL))
> > +#define V4L2_STD_720P_30        ((v4l2_std_id)(0x0040000000000000ULL))
> > +#define V4L2_STD_720P_50        ((v4l2_std_id)(0x0080000000000000ULL))
> > +#define V4L2_STD_1080P_25       ((v4l2_std_id)(0x0100000000000000ULL))
> > +#define V4L2_STD_1080P_30       ((v4l2_std_id)(0x0200000000000000ULL))
> > +#define V4L2_STD_1080P_24       ((v4l2_std_id)(0x0400000000000000ULL))
> > +
> >  struct v4l2_standard {
> >  	__u32		     index;
> >  	v4l2_std_id          id;
>
> This requires an RFC. I'm not convinced that using v4l2_std_id is the
> best approach. If you look at the CEA-861-D you see a lot more standards
> (and E adds even more). Not to mention that when the DM646x is used in
> combination with e.g. an FPGA then it should be possible to supply the
> driver with custom timings as well. The v4l2_std_id type was never
> designed for that.
>
> My gut feeling is that v4l2_std_id should be effectively frozen and used
> for the old TV broadcast standards only, and that a new API should be
> created to setup these digital formats.
>
> I've discussed this with Manju in the past, and I suggest that TI should
> make a proposal in the form of an RFC that we can then discuss on the
> mailinglists. One of the disadvantages of being the first who needs these
> HDTV formats. The advantage of being the first is that you can design it
> yourself, of course!
>
> Regards,
>
> 	Hans
chaithrika@ti.com March 19, 2009, 1:12 p.m. UTC | #3
Hi Hans,

As of now we will provide support for SD, soon we will add support for HD too. 
I am working on the review comments and will submit the revised patches soon.
This time the patch set will be divided into two
Set 1 - support for ADV7343 and THS7303 drivers.
Set 2 - VPIF display driver related patches

Thanks,
Chaithrika
diff mbox

Patch

diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 7a8eafd..df4a622 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -704,6 +704,18 @@  typedef __u64 v4l2_std_id;
 #define V4L2_STD_ALL            (V4L2_STD_525_60	|\
 				 V4L2_STD_625_50)
 
+#define V4L2_STD_720P_60        ((v4l2_std_id)(0x0001000000000000ULL))
+#define V4L2_STD_1080I_30       ((v4l2_std_id)(0x0002000000000000ULL))
+#define V4L2_STD_1080I_25       ((v4l2_std_id)(0x0004000000000000ULL))
+#define V4L2_STD_480P_60        ((v4l2_std_id)(0x0008000000000000ULL))
+#define V4L2_STD_576P_50        ((v4l2_std_id)(0x0010000000000000ULL))
+#define V4L2_STD_720P_25        ((v4l2_std_id)(0x0020000000000000ULL))
+#define V4L2_STD_720P_30        ((v4l2_std_id)(0x0040000000000000ULL))
+#define V4L2_STD_720P_50        ((v4l2_std_id)(0x0080000000000000ULL))
+#define V4L2_STD_1080P_25       ((v4l2_std_id)(0x0100000000000000ULL))
+#define V4L2_STD_1080P_30       ((v4l2_std_id)(0x0200000000000000ULL))
+#define V4L2_STD_1080P_24       ((v4l2_std_id)(0x0400000000000000ULL))
+
 struct v4l2_standard {
 	__u32		     index;
 	v4l2_std_id          id;