linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Alfredo Jesús Delaiti" <alfredodelaiti@netscape.net>
To: Mauro Carvalho Chehab <mchehab@redhat.com>, linux-media@vger.kernel.org
Subject: Re: mb86a20s and cx23885
Date: Mon, 04 Mar 2013 20:09:34 -0300	[thread overview]
Message-ID: <513529AE.9080000@netscape.net> (raw)
In-Reply-To: <20130303131519.6214bcf4@redhat.com>

Hi Mauro and others



El 03/03/13 13:15, Mauro Carvalho Chehab escribió:
> Em Sun, 03 Mar 2013 11:50:25 -0300
> Alfredo Jesús Delaiti <alfredodelaiti@netscape.net> escreveu:
>
>> Hi Mauro and others from the list
>> I searched for a plan B to get the data bus and after several
>> alternative plans that were available to me was to do a logic analyzer
>> (http://tfla-01.berlios.de).
> Yeah, that should work too.
>
>> With the logic analyzer I could get the data transmitted by the I2C bus
>> under Windows, but when I put this data in replacement of originals in
>> mb86a20s.c and I try to run the Linux TV board, do not get the logic
>> analyzer with the same sequence.
> Well, there are other I2C devices on the bus,

Yes, logic analyzer "said":

Write to PCF8574 at address 0

and IC that not have name on TV card have the form and number of pin 
that pcf8574
also EEPROM FM24C02

>   and the order that they're
> initialized in Linux are different than on the original driver.
>> The new data replacement in mb86a20s
> I just posted today a series of patches improving several things on
> mb86a20s and replacing its initialization table to one found on a newer
> driver. It also allows using different IF frequencies on the tuner side.
>
> Perhaps this is enough to fix.

I tested all patches (those of yesterday and today), but it did not work.
I have not yet seen the changes with the logic analyzer.

>> /*
>>    * Initialization sequence: Use whatevere default values that PV SBTVD
>>    * does on its initialisation, obtained via USB snoop
>>    */
>> static struct regdata mb86a20s_init[] = {
>>
>>       { 0x70, 0x0f },
>>       { 0x70, 0xff },
>>       { 0x09, 0x3a },
>>       { 0x50, 0xd1 },
>>       { 0x51, 0x22 },
>>       { 0x39, 0x00 },
>>       { 0x28, 0x2a },
>>       { 0x29, 0x00 },
>>       { 0x2a, 0xfd },
>>       { 0x2b, 0xc8 },
>>       { 0x3b, 0x21 },
>>       { 0x3c, 0x38 },
>>       { 0x28, 0x20 },
>>       { 0x29, 0x3e },
>>       { 0x2a, 0xde },
>>       { 0x2b, 0x4d },
>>       { 0x28, 0x22 },
>>       { 0x29, 0x00 },
>>       { 0x2a, 0x1f },
>>       { 0x2b, 0xf0 },
>>       { 0x01, 0x0d },
>>       { 0x04, 0x08 },
>>       { 0x05, 0x03 },
>>       { 0x04, 0x0e },
>>       { 0x05, 0x00 },
>>       { 0x08, 0x1e },
>>       { 0x05, 0x32 },
>>       { 0x04, 0x0b },
>>       { 0x05, 0x78 },
>>       { 0x04, 0x00 },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x01 },
>>       { 0x05, 0x1e },
>>       { 0x04, 0x02 },
>>       { 0x05, 0x07 },
>>       { 0x04, 0x03 },
>>       { 0x0a, 0xa0 },
>>       { 0x04, 0x09 },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x0a },
>>       { 0x05, 0xff },
>>       { 0x04, 0x27 },
>>       { 0x05, 0x00 },
>>       { 0x08, 0x50 },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x28 },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x1e },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x29 },
>>       { 0x05, 0x64 },
>>       { 0x04, 0x32 },
>>       { 0x05, 0x68 },
>>       { 0x04, 0x14 },
>>       { 0x05, 0x02 },
>>       { 0x04, 0x04 },
>>       { 0x05, 0x00 },
>>       { 0x08, 0x0a },
>>       { 0x05, 0x22 },
>>       { 0x04, 0x06 },
>>       { 0x05, 0x0e },
>>       { 0x04, 0x07 },
>>       { 0x05, 0xd8 },
>>       { 0x04, 0x12 },
>>       { 0x05, 0x00 },
>>       { 0x04, 0x13 },
>>       { 0x05, 0xff },
>>       { 0x52, 0x01 },
>>       { 0x50, 0xa7 },
>>       { 0x51, 0x00 },
>>       { 0x50, 0xa8 },
>>       { 0x51, 0xfe },
>>       { 0x50, 0xa9 },
>>       { 0x51, 0xff },
>>       { 0x50, 0xaa },
>>       { 0x51, 0x00 },
>>       { 0x50, 0xab },
>>       { 0x51, 0xff },
>>       { 0x50, 0xac },
>>       { 0x51, 0xff },
>>       { 0x50, 0xad },
>>       { 0x51, 0x00 },
>>       { 0x50, 0xae },
>>       { 0x51, 0xff },
>>       { 0x50, 0xaf },
>>       { 0x51, 0xff },
>>       { 0x5e, 0x07 },
>>       { 0x50, 0xdc },
>>       { 0x51, 0x3f },
>>       { 0x50, 0xdd },
>>       { 0x51, 0xff },
>>       { 0x50, 0xde },
>>       { 0x51, 0x3f },
>>       { 0x80, 0xdf },
>>
>> So I conclude that there must be some logic that I'm not understanding.
>> Could you indicate the meaning of the data in the table if there are
>> any? or if I'm doing something wrong, what do I do wrong?
> I'll take a look on it, and see what it is doing differently.
>
>> I have also observed that the data passing through the I2C bus are not
>> always the same under Windows, there are some differences between them
>> in parts.
> Hmm... that's interesting. Did you map the changes?

Not yet.
Below I put two different early (on Windows 7)

-----
0.178147 - Start
0.262532 - b00100001 - 0x21 - 33
0.271909 - ACK
0.356294 - b00010011 - 0x13 - 19
0.367545 - NACK
0.517564 - b00000000 - 0x00 - 0
0.528815 - ACK
0.613201 - b11100000 - 0xe0 - 224
0.622577 - ACK
0.703212 - b00011110 - 0x1e - 30
0.718214 - Stop

0.84573 - b00100000 - 0x20 - 32
0.856981 - ACK
0.941366 - b01110000 - 0x70 - 112
0.950743 - ACK
1.03888 - b11111111 - 0xff - 255
1.04825 - ACK
1.16077 - b00100000 - 0x20 - 32
1.17202 - ACK
1.25828 - b00001001 - 0x09 - 9
1.26766 - ACK
1.35017 - b00111010 - 0x3a - 58
1.36142 - ACK
1.50206 - b00100000 - 0x20 - 32
1.51331 - ACK
1.59957 - b01010000 - 0x50 - 80
1.61082 - ACK
1.79085 - Write to PCF8574 at address 0
1.79085 - b01000000 - 0x40 - 64
1.80022 - ACK
1.88461 - b10100010 - 0xa2 - 162
1.89398 - ACK
1.98024 - b01000100 - 0x44 - 68
1.99525 - Error

2.029 - Start
2.12089 - b00100000 - 0x20 - 32
2.13026 - ACK
2.21652 - b00111001 - 0x39 - 57
2.22778 - ACK
2.31216 - b00000000 - 0x00 - 0
2.32154 - ACK
2.46218 - b00100000 - 0x20 - 32
2.47343 - ACK
2.55782 - b00101000 - 0x28 - 40
2.56719 - ACK
2.6422 - b00101010 - 0x2a - 42
...

------------------------------------------------

0.176518 - Start
0.260132 - b00100001 - 0x21 - 33
0.271281 - ACK
0.356753 - b00010011 - 0x13 - 19
0.364185 - NACK
0.490535 - b00100000 - 0x20 - 32
0.501683 - ACK
0.585297 - b01110000 - 0x70 - 112
0.596446 - ACK
0.678202 - b00001111 - 0x0f - 15
0.68935 - ACK
0.8157 - b00100000 - 0x20 - 32
0.826848 - ACK
0.91232 - b01110000 - 0x70 - 112
0.921611 - ACK
1.00337 - b11111111 - 0xff - 255
1.01266 - ACK
1.14272 - b00100000 - 0x20 - 32
1.15201 - ACK
1.23563 - b00001001 - 0x09 - 9
1.24678 - ACK
1.32667 - b00111010 - 0x3a - 58
1.33782 - ACK
1.46789 - b00100000 - 0x20 - 32
1.47904 - ACK
1.57008 - b01010000 - 0x50 - 80
1.58123 - NACK
1.6667 - b10100010 - 0xa2 - 162
1.67599 - Stop

1.79305 - b00100000 - 0x20 - 32
1.8042 - ACK
1.89525 - b01010010 - 0x52 - 82
1.90454 - ACK
1.99187 - b01000100 - 0x44 - 68
2.00488 - Stop

2.12379 - b00100000 - 0x20 - 32
2.13494 - ACK
2.2167 - b00111001 - 0x39 - 57
2.22785 - ACK
2.30774 - b00000000 - 0x00 - 0
2.31889 - ACK
2.4471 - b00100000 - 0x20 - 32
2.45825 - ACK
2.54 - b00101000 - 0x28 - 40
2.55115 - ACK
2.63105 - b00101010 - 0x2a - 42
...


If I have observed that changes occur when any stop.
Below I put another example:

case 1:

...
3.12789 - b00100000 - 0x20 - 32
3.13914 - ACK
3.22352 - b00101010 - 0x2a - 42
3.2329 - ACK
3.31916 - b11111101 - 0xfd - 253
3.33041 - ACK
3.46918 - b00100000 - 0x20 - 32
3.48043 - ACK
3.56482 - b00101011 - 0x2b - 43
3.57232 - ACK
3.6567 - b11001000 - 0xc8 - 200
3.66608 - ACK
3.80485 - b00100000 - 0x20 - 32
3.81422 - ACK
3.90236 - b00111011 - 0x3b - 59
3.91173 - ACK
3.99612 - b00100001 - 0x21 - 33
4.00737 - ACK
4.14989 - b00100000 - 0x20 - 32
4.15926 - ACK
4.24177 - b00111100 - 0x3c - 60
4.25303 - ACK
4.33366 - b00111000 - 0x38 - 56
4.34491 - ACK
4.48931 - b00100000 - 0x20 - 32
4.49868 - ACK
4.57744 - b00101000 - 0x28 - 40
4.58869 - ACK
4.67308 - b00100000 - 0x20 - 32
4.68245 - ACK
4.8231 - b00100000 - 0x20 - 32
4.83435 - ACK
4.91498 - b00101001 - 0x29 - 41
4.92623 - ACK
5.0125 - b00111110 - 0x3e - 62
5.02 - ACK
5.15876 - b00100000 - 0x20 - 32
5.17001 - ACK
5.2544 - b00101010 - 0x2a - 42
5.2619 - ACK
5.34816 - b11011110 - 0xde - 222
...

Case 2:

...
3.103 - b00100000 - 0x20 - 32
3.11415 - ACK
3.19405 - b00101010 - 0x2a - 42
3.2052 - ACK
3.28695 - b11111101 - 0xfd - 253
3.2981 - ACK
3.42817 - b00100000 - 0x20 - 32
3.43932 - ACK
3.52107 - b00101011 - 0x2b - 43
3.53036 - ACK
3.61212 - b11001000 - 0xc8 - 200
3.62327 - ACK
3.75891 - b00100000 - 0x20 - 32
3.7682 - ACK
3.85367 - b01110110 - 0x76 - 118
3.86482 - ACK
3.94843 - b01000010 - 0x42 - 66
3.9633 - Stop

4.08407 - b00100000 - 0x20 - 32
4.09151 - ACK
4.17512 - b00111100 - 0x3c - 60
4.18627 - ACK
4.27174 - b00111000 - 0x38 - 56
4.28103 - ACK
4.40738 - b00100000 - 0x20 - 32
4.41853 - ACK
4.50214 - b00101000 - 0x28 - 40
4.51329 - ACK
4.59505 - b00100000 - 0x20 - 32
4.6062 - ACK
4.73255 - b00100000 - 0x20 - 32
4.74369 - ACK
4.82917 - b00101001 - 0x29 - 41
4.8366 - ACK
4.92207 - b00111110 - 0x3e - 62
4.93322 - ACK
5.06329 - b00100000 - 0x20 - 32
5.07258 - ACK
5.15619 - b00101010 - 0x2a - 42
5.16734 - ACK
5.24724 - b11011110 - 0xde - 222
...

>
>> Then I put a few fragments of what I get under Windows 7 and Linux. Not
>> the entire I put because they are of a size of 200KiB.
>>
>> _Under_Windows_7_
>>
>> 0.184315 - Start
>> 0.268094 - b00100001 - 0x21 - 33
>> 0.279265 - ACK
>> 0.361182 - b00010011 - 0x13 - 19
>> 0.372353 - NACK
> This is a read.
>
>> 0.511985 - b00100000 - 0x20 - 32
>> 0.523156 - ACK
>> 0.603211 - b01110000 - 0x70 - 112
>> 0.614382 - ACK
>> 0.698161 - b00001111 - 0x0f - 15
>> 0.70747 - ACK
>> 0.847102 - b00100000 - 0x20 - 32
>> 0.858273 - ACK
>> 0.938329 - b01110000 - 0x70 - 112
>> 0.949499 - ACK
>> 1.03514 - b11111111 - 0xff - 255
>> 1.04445 - ACK
> Funny that it doesn't write 01 to register 08 here.
> I think that the this is to disable TS while resetting.
>
> ...
>
>> _Under_Linux_
>>
>> 0.268594 - Start
>> 0.358125 - b00100000 - 0x20 - 32
>> 0.367451 - ACK
>> 0.447656 - b01110000 - 0x70 - 112
>> 0.456982 - ACK
>> 0.548379 - b11111111 - 0xff - 255
>> 0.55957 - ACK
>> 0.686406 - b00100000 - 0x20 - 32
>> 0.697597 - ACK
>> 0.781533 - b00001000 - 0x08 - 8
>> 0.790859 - NACK
>> 0.871064 - b00000001 - 0x01 - 1
>> 0.882256 - ACK
> You're likely still using the old table.
>
>> In the next letter, if you let me, I'll cut the old text, because I
>> guess we're back on topic and not too heavy (KB) message.
> Sure. I always cut not commented parts of the messages I answer.
>
>
> Cheers,
> Mauro
I answer in the other letters the other questions

Thanks,

Alfredo

  reply	other threads:[~2013-03-05  0:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <51054759.7050202@netscape.net>
2013-01-27 16:16 ` mb86a20s and cx23885 Mauro Carvalho Chehab
2013-01-27 21:48   ` Alfredo Jesús Delaiti
2013-01-27 21:52     ` Fwd: " Alfredo Jesús Delaiti
2013-01-28 10:23     ` Mauro Carvalho Chehab
2013-01-28 20:47       ` Alfredo Jesús Delaiti
2013-02-06 14:12         ` Alfredo Jesús Delaiti
2013-03-03 14:50           ` Alfredo Jesús Delaiti
2013-03-03 16:15             ` Mauro Carvalho Chehab
2013-03-04 23:09               ` Alfredo Jesús Delaiti [this message]
2013-03-03 16:40             ` Mauro Carvalho Chehab
2013-03-04 19:42               ` Mauro Carvalho Chehab
2013-03-05  0:00                 ` Alfredo Jesús Delaiti
2013-03-05  2:30                   ` Mauro Carvalho Chehab
2013-03-08 22:42                     ` Alfredo Jesús Delaiti
2013-04-01 22:41                       ` Alfredo Jesús Delaiti
2013-07-15 19:30                         ` Alfredo Jesús Delaiti
2013-07-15 20:30                           ` Mauro Carvalho Chehab
2013-07-17 13:54                             ` Alfredo Jesús Delaiti
2013-07-17 19:23                               ` Mauro Carvalho Chehab
2013-07-19  3:38                                 ` Alfredo Jesús Delaiti
2013-07-21 13:50                                 ` Alfredo Jesús Delaiti
2013-07-23 20:58                                   ` Alfredo Jesús Delaiti
2013-07-23 21:46                                     ` Alfredo Jesús Delaiti
2013-07-27 17:55                                 ` Alfredo Jesús Delaiti
     [not found]                                   ` <20130801090436.6dfa0f68@infradead.org>
2013-08-01 17:16                                     ` Alfredo Jesús Delaiti
2013-08-01 17:37                                       ` Mauro Carvalho Chehab
2013-08-01 18:09                                         ` Alfredo Jesús Delaiti
2013-08-01 18:48                                           ` Mauro Carvalho Chehab
2013-08-02  3:18                                             ` Alfredo Jesús Delaiti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=513529AE.9080000@netscape.net \
    --to=alfredodelaiti@netscape.net \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).