Re: [PATCH] ov772x: add support S_CROP operation.

2009-01-30 Thread Guennadi Liakhovetski
On Fri, 30 Jan 2009, morimoto.kunin...@renesas.com wrote:

 On my opinion, not only calling set_bus_param but also
 try_fmt is important for tw9910.
 Because tw9910 needs INTERLACE mode, and sh_mobile_ceu
 sets is_interlace flag in try_fmt.

Ooh, this is wrong. As we discussed before - try_fmt shall not perform any 
configuration, it only tries, i.e., tests, whether the specified 
configuration is possible. This has to be moved to S_FMT.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] tw9910: color format check is added on set_fmt

2009-01-30 Thread Kuninori Morimoto

Signed-off-by: Kuninori Morimoto morimoto.kunin...@renesas.com
---
 drivers/media/video/tw9910.c |   13 +
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tw9910.c b/drivers/media/video/tw9910.c
index 1a9c6fd..57027c0 100644
--- a/drivers/media/video/tw9910.c
+++ b/drivers/media/video/tw9910.c
@@ -647,6 +647,19 @@ static int tw9910_set_fmt(struct soc_camera_device *icd, 
__u32 pixfmt,
struct tw9910_priv *priv = container_of(icd, struct tw9910_priv, icd);
int ret  = -EINVAL;
u8  val;
+   int i;
+
+   /*
+* check color format
+*/
+   for (i = 0 ; i  ARRAY_SIZE(tw9910_color_fmt) ; i++) {
+   if (pixfmt == tw9910_color_fmt[i].fourcc) {
+   ret = 0;
+   break;
+   }
+   }
+   if (ret  0)
+   goto tw9910_set_fmt_error;
 
/*
 * select suitable norm
-- 
1.5.6.3

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] sh_mobile_ceu: SOCAM flags are prepared at itself.

2009-01-30 Thread Kuninori Morimoto

Signed-off-by: Kuninori Morimoto morimoto.kunin...@renesas.com
Signed-off-by: Magnus Damm d...@igel.co.jp
---
 drivers/media/video/sh_mobile_ceu_camera.c |   27 +--
 include/media/sh_mobile_ceu.h  |5 +++--
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/drivers/media/video/sh_mobile_ceu_camera.c 
b/drivers/media/video/sh_mobile_ceu_camera.c
index 9cde91a..07b7b4c 100644
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@ -101,6 +101,29 @@ struct sh_mobile_ceu_dev {
const struct soc_camera_data_format *camera_fmt;
 };
 
+static unsigned long make_bus_param(struct sh_mobile_ceu_dev *pcdev)
+{
+   unsigned long flags;
+
+   flags = SOCAM_SLAVE |
+   SOCAM_PCLK_SAMPLE_RISING |
+   SOCAM_HSYNC_ACTIVE_HIGH |
+   SOCAM_HSYNC_ACTIVE_LOW |
+   SOCAM_VSYNC_ACTIVE_HIGH |
+   SOCAM_VSYNC_ACTIVE_LOW;
+
+   if (pcdev-pdata-flags  SH_CEU_FLAG_USE_8BIT_BUS)
+   flags |= SOCAM_DATAWIDTH_8;
+
+   if (pcdev-pdata-flags  SH_CEU_FLAG_USE_16BIT_BUS)
+   flags |= SOCAM_DATAWIDTH_16;
+
+   if (flags  SOCAM_DATAWIDTH_MASK)
+   return flags;
+
+   return 0;
+}
+
 static void ceu_write(struct sh_mobile_ceu_dev *priv,
  unsigned long reg_offs, u32 data)
 {
@@ -396,7 +419,7 @@ static int sh_mobile_ceu_set_bus_param(struct 
soc_camera_device *icd,
 
camera_flags = icd-ops-query_bus_param(icd);
common_flags = soc_camera_bus_param_compatible(camera_flags,
-  pcdev-pdata-flags);
+  make_bus_param(pcdev));
if (!common_flags)
return -EINVAL;
 
@@ -517,7 +540,7 @@ static int sh_mobile_ceu_try_bus_param(struct 
soc_camera_device *icd)
 
camera_flags = icd-ops-query_bus_param(icd);
common_flags = soc_camera_bus_param_compatible(camera_flags,
-  pcdev-pdata-flags);
+  make_bus_param(pcdev));
if (!common_flags)
return -EINVAL;
 
diff --git a/include/media/sh_mobile_ceu.h b/include/media/sh_mobile_ceu.h
index b5dbefe..0f3524c 100644
--- a/include/media/sh_mobile_ceu.h
+++ b/include/media/sh_mobile_ceu.h
@@ -1,10 +1,11 @@
 #ifndef __ASM_SH_MOBILE_CEU_H__
 #define __ASM_SH_MOBILE_CEU_H__
 
-#include media/soc_camera.h
+#define SH_CEU_FLAG_USE_8BIT_BUS   (1  0) /* use  8bit bus width */
+#define SH_CEU_FLAG_USE_16BIT_BUS  (1  1) /* use 16bit bus width */
 
 struct sh_mobile_ceu_info {
-   unsigned long flags; /* SOCAM_... */
+   unsigned long flags;
 };
 
 #endif /* __ASM_SH_MOBILE_CEU_H__ */
-- 
1.5.6.3

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] soc_camera: Add FLDPOL flags

2009-01-30 Thread Kuninori Morimoto

Signed-off-by: Kuninori Morimoto morimoto.kunin...@renesas.com
---
 include/media/soc_camera.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index 7440d92..2c7ecdf 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -231,6 +231,8 @@ static inline struct v4l2_queryctrl const 
*soc_camera_find_qctrl(
 #define SOCAM_PCLK_SAMPLE_FALLING  (1  13)
 #define SOCAM_DATA_ACTIVE_HIGH (1  14)
 #define SOCAM_DATA_ACTIVE_LOW  (1  15)
+#define SOCAM_FLDPOL_ACTIVE_HIGH   (1  16)
+#define SOCAM_FLDPOL_ACTIVE_LOW(1  17)
 
 #define SOCAM_DATAWIDTH_MASK (SOCAM_DATAWIDTH_4 | SOCAM_DATAWIDTH_8 | \
  SOCAM_DATAWIDTH_9 | SOCAM_DATAWIDTH_10 | \
-- 
1.5.6.3

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] sh_mobile_ceu: Add FLDPOL operation

2009-01-30 Thread Kuninori Morimoto

Signed-off-by: Kuninori Morimoto morimoto.kunin...@renesas.com
---
 drivers/media/video/sh_mobile_ceu_camera.c |7 +++
 include/media/sh_mobile_ceu.h  |2 ++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/sh_mobile_ceu_camera.c 
b/drivers/media/video/sh_mobile_ceu_camera.c
index 07b7b4c..366e5f5 100644
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@ -118,6 +118,12 @@ static unsigned long make_bus_param(struct 
sh_mobile_ceu_dev *pcdev)
if (pcdev-pdata-flags  SH_CEU_FLAG_USE_16BIT_BUS)
flags |= SOCAM_DATAWIDTH_16;
 
+   if (pcdev-pdata-flags  SH_CEU_FLAG_USE_FLDPOL_HIGH)
+   flags |= SOCAM_FLDPOL_ACTIVE_HIGH;
+
+   if (pcdev-pdata-flags  SH_CEU_FLAG_USE_FLDPOL_LOW)
+   flags |= SOCAM_FLDPOL_ACTIVE_LOW;
+
if (flags  SOCAM_DATAWIDTH_MASK)
return flags;
 
@@ -474,6 +480,7 @@ static int sh_mobile_ceu_set_bus_param(struct 
soc_camera_device *icd,
icd-current_fmt-fourcc == V4L2_PIX_FMT_NV61)
value ^= 0x0100; /* swap U, V to change from NV1x-NVx1 */
 
+   value |= common_flags  SOCAM_FLDPOL_ACTIVE_LOW ? 1  16 : 0;
value |= common_flags  SOCAM_VSYNC_ACTIVE_LOW ? 1  1 : 0;
value |= common_flags  SOCAM_HSYNC_ACTIVE_LOW ? 1  0 : 0;
value |= buswidth == 16 ? 1  12 : 0;
diff --git a/include/media/sh_mobile_ceu.h b/include/media/sh_mobile_ceu.h
index 0f3524c..1549401 100644
--- a/include/media/sh_mobile_ceu.h
+++ b/include/media/sh_mobile_ceu.h
@@ -3,6 +3,8 @@
 
 #define SH_CEU_FLAG_USE_8BIT_BUS   (1  0) /* use  8bit bus width */
 #define SH_CEU_FLAG_USE_16BIT_BUS  (1  1) /* use 16bit bus width */
+#define SH_CEU_FLAG_USE_FLDPOL_HIGH(1  2) /* top field if FLD is high */
+#define SH_CEU_FLAG_USE_FLDPOL_LOW (1  3) /* top field if FLD is low */
 
 struct sh_mobile_ceu_info {
unsigned long flags;
-- 
1.5.6.3

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] bttv driver improvements

2009-01-30 Thread Trent Piepho
On Thu, 29 Jan 2009, Devin Heitmueller wrote:
 On Thu, Jan 29, 2009 at 8:19 PM, Trent Piepho xy...@speakeasy.org wrote:
  I haven't been able to test this code.  It seems my bt848 card doesn't work
  with my SATA controller and I sort of need the latter to access the
  harddrive.  But I think everything should work.  It cuts the the bttv
  driver to less than half its current size.
 
  A number of the changes are for specialized cards that likely have few if
  any users left.  I'm pretty sure some have been broken for quite a while 
  now.
 
  Please pull from http://linuxtv.org/hg/~tap/bttv
 
   bttv-cards.c  | 1323 
  ++
   bttv-driver.c |   90 +--
   bttv-i2c.c|6
   bttv-if.c |   18
   bttv-risc.c   |4
   bttv-vbi.c|2
   bttv.h|   84 ++-
   bttvp.h   |   19
   8 files changed, 640 insertions(+), 906 deletions(-)

 Perhaps I am misunderstanding what you said in this email, but are you
 submitting a PULL request for 1500 lines of code that have had no
 testing?

Bugs?!  In my code?  I think not!

If you look at the patches you'll see it's not nearly as large as it might
seem.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ov772x: add support S_CROP operation.

2009-01-30 Thread Guennadi Liakhovetski
On Fri, 30 Jan 2009, morimoto.kunin...@renesas.com wrote:

 
 Dear Guennadi
 
   On my opinion, not only calling set_bus_param but also
   try_fmt is important for tw9910.
   Because tw9910 needs INTERLACE mode, and sh_mobile_ceu
   sets is_interlace flag in try_fmt.
  
  Ooh, this is wrong. As we discussed before - try_fmt shall not perform any 
  configuration, it only tries, i.e., tests, whether the specified 
  configuration is possible. This has to be moved to S_FMT.
 
 Indeed.
 But set_fmt doesn't called with filed now.
 Can I fix it ?

Hm, ok, I was thinking about this several times, to use struct 
v4l2_format *fmt instead of __u32 pixfmt as a second parameter to 
set_fmt in both host and device structs. The disadvantage of this is, that 
then the information in the third parameter struct v4l2_rect *rect 
becomes redundant in case of S_FMT... I think, it might be better to 
finally separate S_FMT and S_CROP, i.e., add new set_crop methods to both 
host and device structs and switch all drivers to use them... Looks like 
this would be a cleaner solution than keeping them together and struggling 
to differentiate between the two... Specific drivers can then decide to 
implement them using the same function internally, like, e.g., mt9m001 
which doesn't use pixfmt at all, or mt9v022, which only uses it to check 
validity.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[linux-dvb] saa716x: HC82 does not work

2009-01-30 Thread Martin Pauly
hey,
i have a avermedia hc82. This one should be working with the saa716x
driver, but it isnt. Im trying to get it working on a 64bit Ubuntu
System. I installed the latest driver and loaded kernel moduls
saa716x_core and saa716x_hybrid, but there still is no /dev/dvb
directory. 
The output of  lsmod | grep saa716x is: 
saa716x_hybrid 19464  0 
tda1004x   26244  1 saa716x_hybrid
saa716x_core   67892  1 saa716x_hybrid
dvb_core  113324  2 saa716x_hybrid,saa716x_core
i2c_core   36128  2 tda1004x,saa716x_core
so the modules are loaded.
Any ideas? Anything I can do to make it work?

Thanks,
Martin


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Howto obtain sysfs-pathes for DVB devices?

2009-01-30 Thread Carsten Meier
Am Fri, 30 Jan 2009 03:07:07 +0100
schrieb hermann pitton hermann-pit...@arcor.de:

 Hi,
 
 Am Mittwoch, den 28.01.2009, 16:46 +0100 schrieb Carsten Meier:
  Hello again,
  
  now I've managed to obtain syfs-pathes for v4l2-devices. But what
  about dvb? I haven't found something like bus_info in the
  dvb-api-docs. (I'm new to it) Any hints for this?
  
  Thanks,
  Carsten
 
 I'm also still new on it ...
 
 Maybe anything useful here?
 
 cat /sys/class/dvb/dvb0.frontend0/uevent
 MAJOR=212
 MINOR=0
 PHYSDEVPATH=/devices/pci:00/:00:08.0/:01:07.0
 PHYSDEVBUS=pci
 PHYSDEVDRIVER=saa7134
 
 Cheers,
 Hermann
 
Hi,

IMHO there is no other way (not counting other daemons) than scanning
the dvb-device-files, stat() them, and compare major and minor numbers
with sysfs-contents. Anyway, I think I'll switch to HAL for that...

Cheers,
Carsten
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Howto obtain sysfs-pathes for DVB devices?

2009-01-30 Thread Matthias Schwarzott
On Freitag, 30. Januar 2009, Carsten Meier wrote:
 Am Fri, 30 Jan 2009 03:07:07 +0100

 schrieb hermann pitton hermann-pit...@arcor.de:
  Hi,
 
  Am Mittwoch, den 28.01.2009, 16:46 +0100 schrieb Carsten Meier:
   Hello again,
  
   now I've managed to obtain syfs-pathes for v4l2-devices. But what
   about dvb? I haven't found something like bus_info in the
   dvb-api-docs. (I'm new to it) Any hints for this?
  
   Thanks,
   Carsten
 
  I'm also still new on it ...
 
  Maybe anything useful here?
 
  cat /sys/class/dvb/dvb0.frontend0/uevent
  MAJOR=212
  MINOR=0
  PHYSDEVPATH=/devices/pci:00/:00:08.0/:01:07.0
  PHYSDEVBUS=pci
  PHYSDEVDRIVER=saa7134
 
  Cheers,
  Hermann

 Hi,

 IMHO there is no other way (not counting other daemons) than scanning
 the dvb-device-files, stat() them, and compare major and minor numbers
 with sysfs-contents. Anyway, I think I'll switch to HAL for that...


One way of asking udev is this:
udevadm info -q path -n /dev/dvb/adapter0/frontend0

Regards
Matthias
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Howto obtain sysfs-pathes for DVB devices?

2009-01-30 Thread Carsten Meier
Am Fri, 30 Jan 2009 12:51:03 +0100
schrieb Matthias Schwarzott z...@gentoo.org:

 On Freitag, 30. Januar 2009, Carsten Meier wrote:
  Am Fri, 30 Jan 2009 03:07:07 +0100
 
  schrieb hermann pitton hermann-pit...@arcor.de:
   Hi,
  
   Am Mittwoch, den 28.01.2009, 16:46 +0100 schrieb Carsten Meier:
Hello again,
   
now I've managed to obtain syfs-pathes for v4l2-devices. But
what about dvb? I haven't found something like bus_info in the
dvb-api-docs. (I'm new to it) Any hints for this?
   
Thanks,
Carsten
  
   I'm also still new on it ...
  
   Maybe anything useful here?
  
   cat /sys/class/dvb/dvb0.frontend0/uevent
   MAJOR=212
   MINOR=0
   PHYSDEVPATH=/devices/pci:00/:00:08.0/:01:07.0
   PHYSDEVBUS=pci
   PHYSDEVDRIVER=saa7134
  
   Cheers,
   Hermann
 
  Hi,
 
  IMHO there is no other way (not counting other daemons) than
  scanning the dvb-device-files, stat() them, and compare major and
  minor numbers with sysfs-contents. Anyway, I think I'll switch to
  HAL for that...
 
 
 One way of asking udev is this:
 udevadm info -q path -n /dev/dvb/adapter0/frontend0
 
 Regards
 Matthias

Ok, then I think I'm gonna use it... :) It's much more simple than
struggling through dbus-/hal-libs and the various unfinished c++
bindings, although I normally don't like to start system-tools from c++.
Or is there any c-api for it? I haven't found one.

Thanks,
Carsten
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Howto obtain sysfs-pathes for DVB devices?

2009-01-30 Thread Matthias Schwarzott
On Freitag, 30. Januar 2009, Carsten Meier wrote:
 Am Fri, 30 Jan 2009 12:51:03 +0100
 
  One way of asking udev is this:
  udevadm info -q path -n /dev/dvb/adapter0/frontend0
 
  Regards
  Matthias

 Ok, then I think I'm gonna use it... :) It's much more simple than
 struggling through dbus-/hal-libs and the various unfinished c++
 bindings, although I normally don't like to start system-tools from c++.
 Or is there any c-api for it? I haven't found one.


There is a in development version of libudev contained since udev-127. But its 
API is not yet stable I think.

Regards
Matthias
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PULL] http://mercurial.intuxication.org/hg/v4l-dvb-commits

2009-01-30 Thread Igor M. Liplianin
Mauro,

Please pull from 
http://mercurial.intuxication.org/hg/v4l-dvb-commits/v4l-dvb-commits

for the following changeset:

01/01: Bug fix: Restore HVR-4000 tuning.
http://mercurial.intuxication.org/hg/v4l-dvb-commits/v4l-dvb-commits?cmd=changeset;node=0d95f94028cb


 cx24116.c |7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Thanks,
Igor
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] bttv driver improvements

2009-01-30 Thread Mauro Carvalho Chehab
On Fri, 30 Jan 2009 08:27:20 -0500
Devin Heitmueller devin.heitmuel...@gmail.com wrote:

 On Fri, Jan 30, 2009 at 4:20 AM, Trent Piepho xy...@speakeasy.org wrote:
  On Thu, 29 Jan 2009, Devin Heitmueller wrote:
  On Thu, Jan 29, 2009 at 8:19 PM, Trent Piepho xy...@speakeasy.org wrote:
   I haven't been able to test this code.  It seems my bt848 card doesn't 
   work
   with my SATA controller and I sort of need the latter to access the
   harddrive.  But I think everything should work.  It cuts the the bttv
   driver to less than half its current size.
  
   A number of the changes are for specialized cards that likely have few if
   any users left.  I'm pretty sure some have been broken for quite a while 
   now.
  
   Please pull from http://linuxtv.org/hg/~tap/bttv
  
bttv-cards.c  | 1323 
   ++
bttv-driver.c |   90 +--
bttv-i2c.c|6
bttv-if.c |   18
bttv-risc.c   |4
bttv-vbi.c|2
bttv.h|   84 ++-
bttvp.h   |   19
8 files changed, 640 insertions(+), 906 deletions(-)
 
  Perhaps I am misunderstanding what you said in this email, but are you
  submitting a PULL request for 1500 lines of code that have had no
  testing?
 
  Bugs?!  In my code?  I think not!
 
  If you look at the patches you'll see it's not nearly as large as it might
  seem.
 
 When I make a five line code change for a given chipset, I won't
 submit it unless it's tested against at least three cards.  In this
 case, it's 1500 lines, and you have tested it on zero cards.  You make
 one typo or screw up one pointer and we'll have potentially hundreds
 of people reporting kernel panics.
 
 I don't care how safe you think the change is.  If it isn't tested it
 under at least one card, then it cannot be that important a change as
 to incur the risk of regressions.  This isn't a one-line change to a
 comment.
 
 I'm just one developer and my opinion doesn't count for much, but
 checking in a large body of code blindly is a colossally stupid idea.

Devin,

I have one bttv hardware installed here available for testing. This one has 4
bttv chips and uses 2 different board entries. I intend to test the changeset
before applying. Anyway, it is good if more people could test it, especially
with the exotic hardware.

Unfortunately, my other bttv hardwares are on another city, so I can't test on
them.

Cheers,
Mauro
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Support for Technisat SkyStar USB 2 HD CI (take 2)

2009-01-30 Thread Jan Kreuzer
Hi Everybody,

i realized that i did not give enough  Information in the last mail. I
added a page on the v4l-wiki about the above device, its here:
http://linuxtv.org/wiki/index.php/Technisat_SkyStar_USB_2_HD_CI
There you can find the usb-id. What should i do to get more information
of the device (eg chipset/tuner used, ...)?.

Thank you

Jan Kreuzer
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-dvb] S2API (pctv452e) artefacts in video stream

2009-01-30 Thread Rietzschel Carsten

Hi Manu,
Hello together,

in the meantime I was able to test the device on windows. It works  
without any problems for over an hour.


Also I tried again different SAT- und USB-cables.
Also with all other USB-devices dettached - the error still comes.

First I'm getting TS continuity errors
and after a while (let's say 15 minutest) ...

Jan 30 14:42:20 vdr dvb-usb: bulk message failed: -110 (8/0)
Jan 30 14:42:20 vdr ttusb2: there might have been an error during  
control message transfer. (rlen = 4, was 0)

Jan 30 14:42:20 vdr ttusb2: i2c transfer failed.
Jan 30 14:42:22 vdr dvb-usb: bulk message failed: -110 (9/0)
Jan 30 14:42:22 vdr ttusb2: there might have been an error during  
control message transfer. (rlen = 3, was 0)

Jan 30 14:42:22 vdr ttusb2: i2c transfer failed.
Jan 30 14:42:24 vdr dvb-usb: bulk message failed: -110 (8/0)
Jan 30 14:42:24 vdr ttusb2: there might have been an error during  
control message transfer. (rlen = 4, was 0)



Thanks for your help!
darav
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] bttv driver improvements

2009-01-30 Thread Devin Heitmueller
On Fri, Jan 30, 2009 at 8:58 AM, Mauro Carvalho Chehab
 Devin,

 I have one bttv hardware installed here available for testing. This one has 4
 bttv chips and uses 2 different board entries. I intend to test the changeset
 before applying. Anyway, it is good if more people could test it, especially
 with the exotic hardware.

 Unfortunately, my other bttv hardwares are on another city, so I can't test on
 them.

 Cheers,
 Mauro

Great.  Thanks, Mauro.

Devin

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[OMAPZOOM][PATCH v2 0/6] Add support for Sony imx046 sensor.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 0/6] Add support for Sony imx046 sensor.

This set of patches adds support for the Sony IMX046 camera.

Submitting version 2 with comments from:
 - Vaibhav Hiremath
 - Hans Verkuil

Driver supports:
 - Sensor output format RAW10 (YUV conversion through CCDC)
 - Output resolution 
- 3280x2464 @ 7.5fps  (8MP)
- 3280x616
- 820x616   @ 30fps
 - Frame rate control
 - Exposure  Gain control
 - Platforms: SDP3430  Zoom2

thanks
dom
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[OMAPZOOM][PATCH v2 2/6] Increase isp workaround buffer size for 8MP sensor.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 2/6] Increase isp workaround buffer size for 8MP 
sensor.

A temporary buffer is created to hold the image while it is written by
Previewer module and then read by Resizer module. This is called LSC
Workaround. To take into account the Sony IMX046 8MP sensor that buffer
needs to be increased in size.
Changed the #defines to be upper case.
Patch also fixes the initialization of a couple of CCDC values.

Signed-off-by: Dominic Curran dcur...@ti.com
---
 drivers/media/video/isp/isp.c |   10 +-
 drivers/media/video/isp/isp.h |7 +--
 drivers/media/video/isp/ispccdc.c |2 ++
 drivers/media/video/isp/ispmmu.h  |3 +++
 4 files changed, 15 insertions(+), 7 deletions(-)

Index: omapzoom04/drivers/media/video/isp/isp.c
===
--- omapzoom04.orig/drivers/media/video/isp/isp.c
+++ omapzoom04/drivers/media/video/isp/isp.c
@@ -1172,20 +1172,20 @@ void omapisp_unset_callback()
  **/
 u32 isp_buf_allocation(void)
 {
-   buff_addr = (void *) vmalloc(buffer_size);
+   buff_addr = (void *) vmalloc(ISP_BUFFER_MAX_SIZE);
 
if (!buff_addr) {
printk(KERN_ERR Cannot allocate memory );
return -ENOMEM;
}
 
-   sglist_alloc = videobuf_vmalloc_to_sg(buff_addr, no_of_pages);
+   sglist_alloc = videobuf_vmalloc_to_sg(buff_addr, ISP_BUFFER_MAX_PAGES);
if (!sglist_alloc) {
printk(KERN_ERR videobuf_vmalloc_to_sg error);
return -ENOMEM;
}
-   num_sc = dma_map_sg(NULL, sglist_alloc, no_of_pages, 1);
-   buff_addr_mapped = ispmmu_map_sg(sglist_alloc, no_of_pages);
+   num_sc = dma_map_sg(NULL, sglist_alloc, ISP_BUFFER_MAX_PAGES, 1);
+   buff_addr_mapped = ispmmu_map_sg(sglist_alloc, ISP_BUFFER_MAX_PAGES);
if (!buff_addr_mapped) {
printk(KERN_ERR ispmmu_map_sg mapping failed );
return -ENOMEM;
@@ -1217,7 +1217,7 @@ void isp_buf_free(void)
 {
if (alloc_done == 1) {
ispmmu_unmap(buff_addr_mapped);
-   dma_unmap_sg(NULL, sglist_alloc, no_of_pages, 1);
+   dma_unmap_sg(NULL, sglist_alloc, ISP_BUFFER_MAX_PAGES, 1);
kfree(sglist_alloc);
vfree(buff_addr);
alloc_done = 0;
Index: omapzoom04/drivers/media/video/isp/isp.h
===
--- omapzoom04.orig/drivers/media/video/isp/isp.h
+++ omapzoom04/drivers/media/video/isp/isp.h
@@ -26,6 +26,9 @@
 #define OMAP_ISP_TOP_H
 #include media/videobuf-dma-sg.h
 #include linux/videodev2.h
+
+#include ispmmu.h
+
 #define OMAP_ISP_CCDC  (1  0)
 #define OMAP_ISP_PREVIEW   (1  1)
 #define OMAP_ISP_RESIZER   (1  2)
@@ -69,8 +72,8 @@
 #define NUM_ISP_CAPTURE_FORMATS(sizeof(isp_formats) /\
sizeof(isp_formats[0]))
 #define ISP_WORKAROUND 1
-#define buffer_size (1024 * 1024 * 10)
-#define no_of_pages (buffer_size / (4 * 1024))
+#define ISP_BUFFER_MAX_SIZE (1024 * 1024 * 16)
+#define ISP_BUFFER_MAX_PAGES (ISP_BUFFER_MAX_SIZE / ISPMMU_PAGE_SIZE)
 
 typedef int (*isp_vbq_callback_ptr) (struct videobuf_buffer *vb);
 typedef void (*isp_callback_t) (unsigned long status,
Index: omapzoom04/drivers/media/video/isp/ispccdc.c
===
--- omapzoom04.orig/drivers/media/video/isp/ispccdc.c
+++ omapzoom04/drivers/media/video/isp/ispccdc.c
@@ -1265,6 +1265,8 @@ int ispccdc_config_size(u32 input_w, u32
}
 
if (ispccdc_obj.ccdc_outfmt == CCDC_OTHERS_VP) {
+   ispccdc_obj.ccdcin_woffset = 0;
+   ispccdc_obj.ccdcin_hoffset = 0;
omap_writel((ispccdc_obj.ccdcin_woffset 
ISPCCDC_FMT_HORZ_FMTSPH_SHIFT) |
(ispccdc_obj.ccdcin_w 
Index: omapzoom04/drivers/media/video/isp/ispmmu.h
===
--- omapzoom04.orig/drivers/media/video/isp/ispmmu.h
+++ omapzoom04/drivers/media/video/isp/ispmmu.h
@@ -59,6 +59,9 @@
 /* Number of entries per L2 Page table */
 #define ISPMMU_L2D_ENTRIES_NR  256
 
+/* Size of MMU page in bytes */
+#define ISPMMU_PAGE_SIZE   4096
+
 /*
  * Statically allocate 16KB for L2 page tables. 16KB can be used for
  * up to 16 L2 page tables which cover up to 16MB space. We use an array of 16
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[OMAPZOOM][PATCH v2 3/6] IMX046: Add support for Sony imx046 sensor.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 3/6] IMX046: Add support for Sony imx046 sensor.

This patch adds the driver files for the Sony IMX046 8MP camera sensor.
Driver sets up the sensor to send frame data via the MIPI CSI2 i/f.
Sensor is setup to output the following base sizes:
 - 3280 x 2464 (8MP)
 - 3280 x 616  (2MP)
 - 820  x 616
Sensor's output image format is Bayer10 (GrR/BGb).

Driver has V4L2 controls for:
 - Exposure
 - Analog Gain

Signed-off-by: Greg Hofer greg.ho...@hp.com
Signed-off-by: Dominic Curran dcur...@ti.com
---
 drivers/media/video/Kconfig  |7 
 drivers/media/video/Makefile |1 
 drivers/media/video/imx046.c | 1632 +++
 drivers/media/video/imx046.h |  326 
 4 files changed, 1966 insertions(+)
 create mode 100644 drivers/media/video/imx046.c
 create mode 100644 drivers/media/video/imx046.h

Index: omapzoom04/drivers/media/video/Kconfig
===
--- omapzoom04.orig/drivers/media/video/Kconfig
+++ omapzoom04/drivers/media/video/Kconfig
@@ -334,6 +334,13 @@ config VIDEO_OV3640_CSI2
  This enables the use of the CSI2 serial bus for the ov3640
  camera.
 
+config VIDEO_IMX046
+   tristate Sony IMX046 sensor driver (8MP)
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ This is a Video4Linux2 sensor-level driver for the Sony
+ IMX046 camera.
+
 config VIDEO_SAA7110
tristate Philips SAA7110 video decoder
depends on VIDEO_V4L1  I2C
Index: omapzoom04/drivers/media/video/Makefile
===
--- omapzoom04.orig/drivers/media/video/Makefile
+++ omapzoom04/drivers/media/video/Makefile
@@ -115,6 +115,7 @@ obj-$(CONFIG_VIDEO_OV9640)  += ov9640.o
 obj-$(CONFIG_VIDEO_MT9P012)+= mt9p012.o
 obj-$(CONFIG_VIDEO_DW9710) += dw9710.o
 obj-$(CONFIG_VIDEO_OV3640) += ov3640.o
+obj-$(CONFIG_VIDEO_IMX046) += imx046.o
 
 obj-$(CONFIG_USB_DABUSB)+= dabusb.o
 obj-$(CONFIG_USB_OV511) += ov511.o
Index: omapzoom04/drivers/media/video/imx046.c
===
--- /dev/null
+++ omapzoom04/drivers/media/video/imx046.c
@@ -0,0 +1,1632 @@
+/*
+ * drivers/media/video/imx046.c
+ *
+ * Sony imx046 sensor driver
+ *
+ *
+ * Copyright (C) 2008 Hewlett Packard
+ *
+ * Leverage mt9p012.c
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed as is without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include linux/i2c.h
+#include linux/delay.h
+
+#include media/v4l2-int-device.h
+
+#include imx046.h
+#include omap34xxcam.h
+#include isp/isp.h
+#include isp/ispcsi2.h
+
+
+#define IMX046_DRIVER_NAME  imx046
+#define IMX046_MOD_NAME IMX046: 
+
+#define I2C_M_WR 0
+
+
+/* from IMX046ES_registerSetting_I2C_MIPI_2lane_def_080925.xls */
+const static struct imx046_reg initial_list[] = {
+   {IMX046_REG_IMAGE_ORIENTATION, 0x03, I2C_8BIT},
+   {IMX046_REG_COARSE_INT_TIME, 0x0120, I2C_16BIT},
+   {IMX046_REG_ANALOG_GAIN_GLOBAL, 0x80, I2C_16BIT},
+   {0x300A, 0x80, I2C_8BIT},
+   {IMX046_REG_Y_OPBADDR_START_DI, 0x08, I2C_8BIT},
+   {IMX046_REG_Y_OPBADDR_END_DI, 0x37, I2C_8BIT},
+   {IMX046_REG_CHCODE_OUTCHSINGLE, 0x60, I2C_8BIT},
+   {IMX046_REG_OUTIF, 0x01, I2C_8BIT},
+   {IMX046_REG_RGPOF_RGPOFV2, 0x28, I2C_8BIT},
+   {IMX046_REG_CPCKAUTOEN, 0x00, I2C_8BIT},
+   {IMX046_REG_RGCPVFB, 0x60, I2C_8BIT},
+   {IMX046_REG_RGAZPDRV, 0x24, I2C_8BIT},
+   {IMX046_REG_RGAZTEST, 0x34, I2C_8BIT},
+   {IMX046_REG_RGVSUNLV, 0x3B, I2C_8BIT},
+   {IMX046_REG_CLPOWER, 0x30, I2C_8BIT},
+   {IMX046_REG_CLPOWERSP, 0x00, I2C_8BIT},
+   {IMX046_REG_ACLDIRV_TVADDCLP, 0x00, I2C_8BIT},
+   {IMX046_REG_OPB_CTRL, 0x0080, I2C_16BIT},
+   {0x30AB, 0x1C, I2C_8BIT},
+   {0x30B0, 0x32, I2C_8BIT},
+   {0x30B2, 0x83, I2C_8BIT},
+   {IMX046_REG_RAW10CH2V2P_LO, 0xD8, I2C_8BIT},
+   {IMX046_REG_RAW10CH2V2D_LO, 0x17, I2C_8BIT},
+   {IMX046_REG_COMP8CH1V2P_LO, 0xCF, I2C_8BIT},
+   {IMX046_REG_COMP8CH1V2D_LO, 0xF1, I2C_8BIT},
+   {IMX046_REG_RAW10CH1V2P_LO, 0xD8, I2C_8BIT},
+   {IMX046_REG_RAW10CH1V2D_LO, 0x17, I2C_8BIT},
+   {0x3302, 0x0A, I2C_8BIT},
+   {0x3303, 0x09, I2C_8BIT},
+   {IMX046_REG_RGTLPX, 0x05, I2C_8BIT},
+   {IMX046_REG_RGTCLKPREPARE, 0x04, I2C_8BIT},
+   {IMX046_REG_RGTCLKZERO, 0x15, I2C_8BIT},
+   {IMX046_REG_RGTCLKPRE, 0x03, I2C_8BIT},
+   {IMX046_REG_RGTCLKPOST, 0x13, I2C_8BIT},
+   {IMX046_REG_RGTCLKTRAIL, 0x05, I2C_8BIT},
+   {IMX046_REG_RGTHSEXIT, 0x0B, I2C_8BIT},
+   {0x302B, 0x38, I2C_8BIT},  /* for 18Mhz xclk */
+   {I2C_REG_TERM, I2C_VAL_TERM, I2C_LEN_TERM}
+};
+
+/**
+ * struct imx046_sensor - main structure for storage of sensor information
+ * @pdata: access functions and data for 

[OMAPZOOM][PATCH v2 4/6] Add support for Sony imx046 to OMAP3430 SDP board.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 4/6] Add support for Sony imx046 to OMAP3430 SDP 
board.

Support for the Sony IMX046 sensor on the OMAP3430 SDP board.

Signed-off-by: Greg Hofer greg.ho...@hp.com
Signed-off-by: Dominic Curran dcur...@ti.com
---
 arch/arm/mach-omap2/board-3430sdp.c |  197 
 1 file changed, 197 insertions(+)

Index: omapzoom04/arch/arm/mach-omap2/board-3430sdp.c
===
--- omapzoom04.orig/arch/arm/mach-omap2/board-3430sdp.c
+++ omapzoom04/arch/arm/mach-omap2/board-3430sdp.c
@@ -45,6 +45,9 @@
 #include ti-compat.h
 
 #ifdef CONFIG_VIDEO_OMAP3
+#ifndef CONFIG_TWL4030_CORE
+#error no power companion board defined!
+#endif
 #include media/v4l2-int-device.h
 #include ../drivers/media/video/omap34xxcam.h
 #include ../drivers/media/video/isp/ispreg.h
@@ -52,9 +55,11 @@
 #define FPGA_SPR_GPIO1_3v3 (0x1  14)
 #define FPGA_GPIO6_DIR_CTRL(0x1  6)
 static void __iomem *fpga_map_addr;
+
 #if defined(CONFIG_VIDEO_MT9P012) || defined(CONFIG_VIDEO_MT9P012_MODULE)
 #include ../drivers/media/video/mt9p012.h
 #endif
+
 #if defined(CONFIG_VIDEO_OV3640) || defined(CONFIG_VIDEO_OV3640_MODULE)
 #include ../drivers/media/video/ov3640.h
 #include ../drivers/media/video/isp/ispcsi2.h
@@ -71,6 +76,22 @@ static   struct omap34xxcam_hw_config *hwc
 #define OV3640_CSI2_PHY_TCLK_MISS  1
 #define OV3640_CSI2_PHY_TCLK_SETTLE14
 #endif
+
+#if defined(CONFIG_VIDEO_IMX046) || defined(CONFIG_VIDEO_IMX046_MODULE)
+#include ../drivers/media/video/imx046.h
+#include ../drivers/media/video/isp/ispcsi2.h
+#define IMX046_CSI2_CLOCK_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_DATA0_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_DATA1_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_CLOCK_LANE 1/* Clock lane position: 1 */
+#define IMX046_CSI2_DATA0_LANE 2/* Data0 lane position: 2 */
+#define IMX046_CSI2_DATA1_LANE 3/* Data1 lane position: 3 */
+#define IMX046_CSI2_PHY_THS_TERM   2
+#define IMX046_CSI2_PHY_THS_SETTLE 23
+#define IMX046_CSI2_PHY_TCLK_TERM  0
+#define IMX046_CSI2_PHY_TCLK_MISS  1
+#define IMX046_CSI2_PHY_TCLK_SETTLE14
+#endif
 #endif
 
 #ifdef CONFIG_VIDEO_DW9710
@@ -926,6 +947,176 @@ static struct ov3640_platform_data sdp34
 
 #endif
 
+
+#if defined(CONFIG_VIDEO_IMX046) || defined(CONFIG_VIDEO_IMX046_MODULE)
+
+static struct omap34xxcam_sensor_config imx046_hwc = {
+   .sensor_isp  = 0,
+   .xclk= OMAP34XXCAM_XCLK_B,
+   .capture_mem = PAGE_ALIGN(3280 * 2464 * 2) * 2,
+};
+
+static int imx046_sensor_set_prv_data(void *priv)
+{
+   struct omap34xxcam_hw_config *hwc = priv;
+
+   hwc-u.sensor.xclk  = imx046_hwc.xclk;
+   hwc-u.sensor.sensor_isp = imx046_hwc.sensor_isp;
+   hwc-dev_index  = 2;
+   hwc-dev_minor  = 5;
+   hwc-dev_type   = OMAP34XXCAM_SLAVE_SENSOR;
+   hwc-interface_type = ISP_CSIA;
+
+   hwc-csi2.hw_csi2.lanes.clock.polarity   = IMX046_CSI2_CLOCK_POLARITY;
+   hwc-csi2.hw_csi2.lanes.clock.position   = IMX046_CSI2_CLOCK_LANE;
+   hwc-csi2.hw_csi2.lanes.data[0].polarity = IMX046_CSI2_DATA0_POLARITY;
+   hwc-csi2.hw_csi2.lanes.data[0].position = IMX046_CSI2_DATA0_LANE;
+   hwc-csi2.hw_csi2.lanes.data[1].polarity = IMX046_CSI2_DATA1_POLARITY;
+   hwc-csi2.hw_csi2.lanes.data[1].position = IMX046_CSI2_DATA1_LANE;
+   hwc-csi2.hw_csi2.phy.ths_term= IMX046_CSI2_PHY_THS_TERM;
+   hwc-csi2.hw_csi2.phy.ths_settle  = IMX046_CSI2_PHY_THS_SETTLE;
+   hwc-csi2.hw_csi2.phy.tclk_term   = IMX046_CSI2_PHY_TCLK_TERM;
+   hwc-csi2.hw_csi2.phy.tclk_miss   = IMX046_CSI2_PHY_TCLK_MISS;
+   hwc-csi2.hw_csi2.phy.tclk_settle = IMX046_CSI2_PHY_TCLK_SETTLE;
+   return 0;
+}
+
+static struct isp_interface_config imx046_if_config = {
+   .ccdc_par_ser   = ISP_CSIA,
+   .dataline_shift = 0x0,
+   .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSRISE,
+   .vdint0_timing  = 0x0,
+   .vdint1_timing  = 0x0,
+   .strobe = 0x0,
+   .prestrobe  = 0x0,
+   .shutter= 0x0,
+   .prev_sph   = 2,
+   .prev_slv   = 0,
+   .wenlog = ISPCCDC_CFG_WENLOG_OR,
+   .dcsub  = IMX046_BLACK_LEVEL_AVG,
+   .u.csi.crc  = 0x0,
+   .u.csi.mode = 0x0,
+   .u.csi.edge = 0x0,
+   .u.csi.signalling   = 0x0,
+   .u.csi.strobe_clock_inv = 0x0,
+   .u.csi.vs_edge  = 0x0,
+   .u.csi.channel  = 0x0,
+   .u.csi.vpclk= 0x2,
+   .u.csi.data_start   = 0x0,
+   .u.csi.data_size= 0x0,
+   .u.csi.format   = V4L2_PIX_FMT_SGRBG10,
+};
+
+
+static int imx046_sensor_power_set(enum 

[OMAPZOOM][PATCH v2 5/6] ZOOM2: Rename the zoom2 i2c struct.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 5/6] ZOOM2: Rename the zoom2 i2c struct.

Rename i2c structures to something sensible.
This patch is not specific for imx046 sensor.
Do this in preparation for i2c changes for imx046 sensor.

Signed-off-by: Greg Hofer greg.ho...@hp.com
Signed-off-by: Dominic Curran dcur...@ti.com
---
 arch/arm/mach-omap2/board-zoom2.c |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

Index: omapzoom04/arch/arm/mach-omap2/board-zoom2.c
===
--- omapzoom04.orig/arch/arm/mach-omap2/board-zoom2.c
+++ omapzoom04/arch/arm/mach-omap2/board-zoom2.c
@@ -472,7 +472,7 @@ static struct twl4030_platform_data ldp_
.keypad = ldp_kp_twl4030_data,
 };
 
-static struct i2c_board_info __initdata ldp_i2c_boardinfo[] = {
+static struct i2c_board_info __initdata zoom2_i2c_bus1_info[] = {
{
I2C_BOARD_INFO(twl4030, 0x48),
.flags = I2C_CLIENT_WAKE,
@@ -507,7 +507,7 @@ static struct synaptics_i2c_rmi_platform
.power  = synaptics_power,
 };
 
-static struct i2c_board_info __initdata ldp3430_i2c_board_info[] = {
+static struct i2c_board_info __initdata zoom2_i2c_bus2_info[] = {
{
I2C_BOARD_INFO(SYNAPTICS_I2C_RMI_NAME,  SYNAPTICS_I2C_ADDR),
.platform_data = ldp3430_synaptics_platform_data,
@@ -518,12 +518,12 @@ static struct i2c_board_info __initdata 
 
 static int __init omap_i2c_init(void)
 {
-   omap_register_i2c_bus(1, 2600, ldp_i2c_boardinfo,
-   ARRAY_SIZE(ldp_i2c_boardinfo));
+   omap_register_i2c_bus(1, 2600, zoom2_i2c_bus1_info,
+   ARRAY_SIZE(zoom2_i2c_bus1_info));
 #ifdef CONFIG_TOUCHSCREEN_SYNAPTICS
-   ldp3430_i2c_board_info[0].irq = OMAP_GPIO_IRQ(OMAP_SYNAPTICS_GPIO);
-   omap_register_i2c_bus(2, 100, ldp3430_i2c_board_info,
-   ARRAY_SIZE(ldp3430_i2c_board_info));
+   zoom2_i2c_bus2_info[0].irq = OMAP_GPIO_IRQ(OMAP_SYNAPTICS_GPIO);
+   omap_register_i2c_bus(2, 100, zoom2_i2c_bus2_info,
+   ARRAY_SIZE(zoom2_i2c_bus2_info));
 #endif
omap_register_i2c_bus(3, 400, NULL, 0);
return 0;
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[OMAPZOOM][PATCH v2 6/6] Add support for Sony imx046 to OMAP zoom2 board.

2009-01-30 Thread Dominic Curran
From: Dominic Curran dcur...@ti.com
Subject: [OMAPZOOM][PATCH v2 6/6] Add support for Sony imx046 to OMAP zoom2 
board.

Support for the Sony IMX046 sensor on the OMAP Zoom2 board.

Signed-off-by: Dominic Curran dcur...@ti.com
---
 arch/arm/configs/omap_zoom2_defconfig |1 
 arch/arm/mach-omap2/board-zoom2.c |  206 +-
 2 files changed, 205 insertions(+), 2 deletions(-)

Index: omapzoom04/arch/arm/configs/omap_zoom2_defconfig
===
--- omapzoom04.orig/arch/arm/configs/omap_zoom2_defconfig
+++ omapzoom04/arch/arm/configs/omap_zoom2_defconfig
@@ -994,6 +994,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y
 # CONFIG_VIDEO_MT9P012 is not set
 # CONFIG_VIDEO_DW9710 is not set
 # CONFIG_VIDEO_OV3640 is not set
+CONFIG_VIDEO_IMX046=y
 # CONFIG_VIDEO_SAA711X is not set
 # CONFIG_VIDEO_SAA717X is not set
 # CONFIG_VIDEO_TVP5150 is not set
Index: omapzoom04/arch/arm/mach-omap2/board-zoom2.c
===
--- omapzoom04.orig/arch/arm/mach-omap2/board-zoom2.c
+++ omapzoom04/arch/arm/mach-omap2/board-zoom2.c
@@ -23,6 +23,7 @@
 #include linux/synaptics_i2c_rmi.h
 #include linux/spi/spi.h
 #include linux/i2c/twl4030.h
+#include linux/mm.h
 
 #include mach/hardware.h
 #include asm/mach-types.h
@@ -50,6 +51,30 @@
 #include mach/prcm_34xx.h
 #endif
 
+#ifdef CONFIG_VIDEO_OMAP3
+#include media/v4l2-int-device.h
+#include ../drivers/media/video/omap34xxcam.h
+#include ../drivers/media/video/isp/ispreg.h
+#if defined(CONFIG_VIDEO_IMX046) || defined(CONFIG_VIDEO_IMX046_MODULE)
+#include ../drivers/media/video/imx046.h
+#include ../drivers/media/video/isp/ispcsi2.h
+#define IMX046_CSI2_CLOCK_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_DATA0_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_DATA1_POLARITY 0   /* +/- pin order */
+#define IMX046_CSI2_CLOCK_LANE 1/* Clock lane position: 1 */
+#define IMX046_CSI2_DATA0_LANE 2/* Data0 lane position: 2 */
+#define IMX046_CSI2_DATA1_LANE 3/* Data1 lane position: 3 */
+#define IMX046_CSI2_PHY_THS_TERM   2
+#define IMX046_CSI2_PHY_THS_SETTLE 23
+#define IMX046_CSI2_PHY_TCLK_TERM  0
+#define IMX046_CSI2_PHY_TCLK_MISS  1
+#define IMX046_CSI2_PHY_TCLK_SETTLE14
+#ifndef CONFIG_TWL4030_CORE
+#error no power companion board defined!
+#endif
+#endif
+#endif
+
 #ifdef CONFIG_TOUCHSCREEN_SYNAPTICS
 #define OMAP_SYNAPTICS_GPIO163
 #endif
@@ -301,6 +326,175 @@ static struct twl4030_keypad_data ldp_kp
.irq= TWL4030_MODIRQ_KEYPAD,
 };
 
+#if defined(CONFIG_VIDEO_IMX046) || defined(CONFIG_VIDEO_IMX046_MODULE)
+
+static struct omap34xxcam_sensor_config imx046_hwc = {
+   .sensor_isp  = 0,
+   .xclk= OMAP34XXCAM_XCLK_B,
+   .capture_mem = PAGE_ALIGN(3280 * 2464 * 2) * 2,
+};
+
+static int imx046_sensor_set_prv_data(void *priv)
+{
+   struct omap34xxcam_hw_config *hwc = priv;
+
+   hwc-u.sensor.xclk  = imx046_hwc.xclk;
+   hwc-u.sensor.sensor_isp = imx046_hwc.sensor_isp;
+   hwc-dev_index  = 2;
+   hwc-dev_minor  = 5;
+   hwc-dev_type   = OMAP34XXCAM_SLAVE_SENSOR;
+   hwc-interface_type = ISP_CSIA;
+
+   hwc-csi2.hw_csi2.lanes.clock.polarity   = IMX046_CSI2_CLOCK_POLARITY;
+   hwc-csi2.hw_csi2.lanes.clock.position   = IMX046_CSI2_CLOCK_LANE;
+   hwc-csi2.hw_csi2.lanes.data[0].polarity = IMX046_CSI2_DATA0_POLARITY;
+   hwc-csi2.hw_csi2.lanes.data[0].position = IMX046_CSI2_DATA0_LANE;
+   hwc-csi2.hw_csi2.lanes.data[1].polarity = IMX046_CSI2_DATA1_POLARITY;
+   hwc-csi2.hw_csi2.lanes.data[1].position = IMX046_CSI2_DATA1_LANE;
+   hwc-csi2.hw_csi2.phy.ths_term= IMX046_CSI2_PHY_THS_TERM;
+   hwc-csi2.hw_csi2.phy.ths_settle  = IMX046_CSI2_PHY_THS_SETTLE;
+   hwc-csi2.hw_csi2.phy.tclk_term   = IMX046_CSI2_PHY_TCLK_TERM;
+   hwc-csi2.hw_csi2.phy.tclk_miss   = IMX046_CSI2_PHY_TCLK_MISS;
+   hwc-csi2.hw_csi2.phy.tclk_settle = IMX046_CSI2_PHY_TCLK_SETTLE;
+   return 0;
+}
+
+static struct isp_interface_config imx046_if_config = {
+   .ccdc_par_ser   = ISP_CSIA,
+   .dataline_shift = 0x0,
+   .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSRISE,
+   .vdint0_timing  = 0x0,
+   .vdint1_timing  = 0x0,
+   .strobe = 0x0,
+   .prestrobe  = 0x0,
+   .shutter= 0x0,
+   .prev_sph   = 2,
+   .prev_slv   = 0,
+   .wenlog = ISPCCDC_CFG_WENLOG_OR,
+   .dcsub  = IMX046_BLACK_LEVEL_AVG,
+   .u.csi.crc  = 0x0,
+   .u.csi.mode = 0x0,
+   .u.csi.edge = 0x0,
+   .u.csi.signalling   = 0x0,
+   .u.csi.strobe_clock_inv = 0x0,
+   .u.csi.vs_edge  = 0x0,
+   .u.csi.channel  

Re: DUTV005 USB DVB-T dongle

2009-01-30 Thread Brandon Philips
On 01:19 Sat 31 Jan 2009, Jan Grmela wrote:
 I've bought some cheap DVB-T USB dongle at eBay last month but after
 some unsuccessful tries to get it working, I've figured out that
 there's no Linux driver for the device available since the chipset is
 quite new. There are a lot of other people complaining that they need
 to use Windows to watch TV.
 
 Moosy's got a lot of info, USB dumps and datasheets at
 http://sites.google.com/site/moosyresearch/dutv005
 
 I'm ready to lend the device to a developer willing to create a Linux
 driver for it because it's basically useless for me now.
 
 (please ignore the previous e-mails sent from a wrong e-mail address)

CC'ing the linux-media list which includes the DVB developers. Perhaps
someone from that list has some idea about the device or would be
interested in helping out.

Cheers,

Brandon
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html