[10/11] ov534: Add Powerline Frequency control

Message ID 20100304201445.GA21194@psychosis.jim.sh (mailing list archive)
State Superseded, archived
Headers

Commit Message

Jim Paris March 4, 2010, 8:14 p.m. UTC
  Antonio Ospite wrote:
> On Wed, 3 Mar 2010 23:55:33 -0500
> Jim Paris <jim@jtan.com> wrote:
> 
> > Antonio Ospite wrote:
> [...]
> > > 
> > > I see. It would be interesting to see how Powerline Frequency filtering
> > > is done on PS3. I added Jim Paris on CC.
> > 
> > Hi Antonio and Mosalam,
> > 
> > I tried, but I can't capture that.  My USB logger only does USB 1.1,
> > which is too slow for the camera to run normally, but good enough to
> > see the initialization sequence.  However, the 50/60Hz option only
> > appears later, once the PS3 is receiving good frame data.
> > 
> > I can open up the camera and sniff the I2C bus instead.  It'll take
> > a little longer.
> >
> 
> Thanks for your time Jim.

No problem, glad to help.
Looks like Mosalam's patch is correct:


I'll attach the full logs.

-jim
ov_write 12 80
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 3D 03
ov_write_verify 17 26
ov_write_verify 18 A0
ov_write_verify 19 07
ov_write_verify 1A F0
ov_write_verify 32 00
ov_write_verify 29 A0
ov_write_verify 2C F0
ov_write_verify 65 20
ov_write_verify 11 01
ov_write_verify 42 7F
ov_write_verify 63 E0
ov_write_verify 64 FF
ov_write_verify 66 00
ov_write_verify 13 F0
ov_write_verify 0D 41
ov_write_verify 0F C5
ov_write_verify 14 11
ov_write_verify 22 7F
ov_write_verify 23 03
ov_write_verify 24 40
ov_write_verify 25 30
ov_write_verify 26 A1
ov_write_verify 2A 00
ov_write_verify 2B 00
ov_write_verify 6B AA
ov_write_verify 13 FF
ov_write_verify 90 05
ov_write_verify 91 01
ov_write_verify 92 03
ov_write_verify 93 00
ov_write_verify 94 60
ov_write_verify 95 3C
ov_write_verify 96 24
ov_write_verify 97 1E
ov_write_verify 98 62
ov_write_verify 99 80
ov_write_verify 9A 1E
ov_write_verify 9B 08
ov_write_verify 9C 20
ov_write_verify 9E 81
ov_write_verify A6 04
ov_write_verify 7E 0C
ov_write_verify 7F 16
ov_write_verify 80 2A
ov_write_verify 81 4E
ov_write_verify 82 61
ov_write_verify 83 6F
ov_write_verify 84 7B
ov_write_verify 85 86
ov_write_verify 86 8E
ov_write_verify 87 97
ov_write_verify 88 A4
ov_write_verify 89 AF
ov_write_verify 8A C5
ov_write_verify 8B D7
ov_write_verify 8C E8
ov_write_verify 8D 20
ov_write_verify 0C 90
ov_write_verify 2B 00
ov_write_verify 22 7F
ov_write_verify 23 03
ov_write_verify 11 01
ov_read 0C 90
ov_write_verify 0C 90
ov_read 64 FF
ov_write_verify 64 FF
ov_read 0D 41
ov_write_verify 0D 41
ov_read 14 11
ov_write_verify 14 41
ov_read 0E 79
ov_write_verify 0E CD
ov_read AC FF
ov_write_verify AC BF
ov_write_verify 8E 00
ov_read 0C 90
ov_write_verify 0C D0
ov_write 12 80
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 11 01
ov_write_verify 3D 03
ov_write_verify 17 26
ov_write_verify 18 A0
ov_write_verify 19 07
ov_write_verify 1A F0
ov_write_verify 32 00
ov_write_verify 29 A0
ov_write_verify 2C F0
ov_write_verify 65 20
ov_write_verify 11 01
ov_write_verify 42 7F
ov_write_verify 63 E0
ov_write_verify 64 FF
ov_write_verify 66 00
ov_write_verify 13 F0
ov_write_verify 0D 41
ov_write_verify 0F C5
ov_write_verify 14 11
ov_write_verify 22 7F
ov_write_verify 23 03
ov_write_verify 24 40
ov_write_verify 25 30
ov_write_verify 26 A1
ov_write_verify 2A 00
ov_write_verify 2B 00
ov_write_verify 6B AA
ov_write_verify 13 FF
ov_write_verify 90 05
ov_write_verify 91 01
ov_write_verify 92 03
ov_write_verify 93 00
ov_write_verify 94 60
ov_write_verify 95 3C
ov_write_verify 96 24
ov_write_verify 97 1E
ov_write_verify 98 62
ov_write_verify 99 80
ov_write_verify 9A 1E
ov_write_verify 9B 08
ov_write_verify 9C 20
ov_write_verify 9E 81
ov_write_verify A6 04
ov_write_verify 7E 0C
ov_write_verify 7F 16
ov_write_verify 80 2A
ov_write_verify 81 4E
ov_write_verify 82 61
ov_write_verify 83 6F
ov_write_verify 84 7B
ov_write_verify 85 86
ov_write_verify 86 8E
ov_write_verify 87 97
ov_write_verify 88 A4
ov_write_verify 89 AF
ov_write_verify 8A C5
ov_write_verify 8B D7
ov_write_verify 8C E8
ov_write_verify 8D 20
ov_write_verify 0C 90
ov_write_verify 2B 9E
ov_write_verify 22 7F
ov_write_verify 23 03
ov_write_verify 11 01
ov_read 0C 90
ov_write_verify 0C 90
ov_read 64 FF
ov_write_verify 64 FF
ov_read 0D 41
ov_write_verify 0D 41
ov_read 14 11
ov_write_verify 14 41
ov_read 0E 79
ov_write_verify 0E CD
ov_read AC FF
ov_write_verify AC BF
ov_write_verify 8E 00
ov_read 0C 90
ov_write_verify 0C D0
  

Comments

Jim Paris March 4, 2010, 8:36 p.m. UTC | #1
Max Thrun wrote:
> On Thu, Mar 4, 2010 at 3:14 PM, Jim Paris <jim@jtan.com> wrote:
> 
> > Antonio Ospite wrote:
> > > On Wed, 3 Mar 2010 23:55:33 -0500
> > > Jim Paris <jim@jtan.com> wrote:
> > >
> > > > Antonio Ospite wrote:
> > > [...]
> > > > >
> > > > > I see. It would be interesting to see how Powerline Frequency
> > filtering
> > > > > is done on PS3. I added Jim Paris on CC.
> > > >
> > > > Hi Antonio and Mosalam,
> > > >
> > > > I tried, but I can't capture that.  My USB logger only does USB 1.1,
> > > > which is too slow for the camera to run normally, but good enough to
> > > > see the initialization sequence.  However, the 50/60Hz option only
> > > > appears later, once the PS3 is receiving good frame data.
> > > >
> > > > I can open up the camera and sniff the I2C bus instead.  It'll take
> > > > a little longer.
> > > >
> > >
> > > Thanks for your time Jim.
> >
> > No problem, glad to help.
> > Looks like Mosalam's patch is correct:
> >
> > --- i2c-60hz.log        2010-03-04 15:09:23.000000000 -0500
> > +++ i2c-50hz.log        2010-03-04 15:09:27.000000000 -0500
> > @@ -69,7 +69,7 @@
> >  ov_write_verify 8C E8
> >  ov_write_verify 8D 20
> >  ov_write_verify 0C 90
> > -ov_write_verify 2B 00
> > +ov_write_verify 2B 9E
> >  ov_write_verify 22 7F
> >  ov_write_verify 23 03
> >  ov_write_verify 11 01
> >
> > I'll attach the full logs.
> >
> > -jim
> >
> 
> Jim, I'm really interested in how you went about sniffing the bus. Can you
> share some details about what you use to do it?

Sure.  I borrowed one of these from a friend:
  http://www.totalphase.com/products/beagle_ism/

and tapped the GND, SCL, and SDA pins off the camera EEPROM.
I exported a CSV from the Beagle software and used a quick Perl script
to parse it into a more useful read/write/write_verify format.

-jim
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Antonio Ospite March 5, 2010, 4:18 p.m. UTC | #2
On Thu, 4 Mar 2010 15:14:45 -0500
Jim Paris <jim@jtan.com> wrote:

> > On Wed, 3 Mar 2010 23:55:33 -0500
> > Jim Paris <jim@jtan.com> wrote:
> > 
> > > Antonio Ospite wrote:
[...]
> > > > It would be interesting to see how Powerline Frequency filtering
> > > > is done on PS3. I added Jim Paris on CC.
> > > 
> > > I can open up the camera and sniff the I2C bus instead.  It'll take
> > > a little longer.
> > >
[...]
> Looks like Mosalam's patch is correct:
> 
> --- i2c-60hz.log	2010-03-04 15:09:23.000000000 -0500
> +++ i2c-50hz.log	2010-03-04 15:09:27.000000000 -0500
> @@ -69,7 +69,7 @@
>  ov_write_verify 8C E8
>  ov_write_verify 8D 20
>  ov_write_verify 0C 90
> -ov_write_verify 2B 00
> +ov_write_verify 2B 9E
>  ov_write_verify 22 7F
>  ov_write_verify 23 03
>  ov_write_verify 11 01
> 

OK, thanks.
I am sending a v2 for patch 10/11 as well, using DISABLED/50Hz as
choices.

Regards,
   Antonio
  

Patch

--- i2c-60hz.log	2010-03-04 15:09:23.000000000 -0500
+++ i2c-50hz.log	2010-03-04 15:09:27.000000000 -0500
@@ -69,7 +69,7 @@ 
 ov_write_verify 8C E8
 ov_write_verify 8D 20
 ov_write_verify 0C 90
-ov_write_verify 2B 00
+ov_write_verify 2B 9E
 ov_write_verify 22 7F
 ov_write_verify 23 03
 ov_write_verify 11 01