This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: parse_az6007.pl: Add a parser for FX2 requests
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Sun Jul 24 13:33:26 2011 -0300

AZ6007 uses Cypress cy7c68013a 8051-based microcontroller. Adds
a parser for it. The parser doesn't cover all registers, but it
shouldn't be hard to add more as things are guessed from logs
inspection.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 contrib/az6007/parse_az6007.pl |   41 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 4 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=0dfc0c6585212d9db2745dc29705aa7d4e095916

diff --git a/contrib/az6007/parse_az6007.pl b/contrib/az6007/parse_az6007.pl
index a19d745..6febe31 100755
--- a/contrib/az6007/parse_az6007.pl
+++ b/contrib/az6007/parse_az6007.pl
@@ -59,6 +59,9 @@ sub add_hex_mark($)
        my $data = shift;
        my $out ="{";
 
+       return "NULL" if ($data eq "");
+       return "NULL due to $data " if ($data =~ /[Ee][Rr][Rr][Oo][Rr]/);
+
        # Check if the string has the correct syntax. If not, just return it 
as-is
        for (my $i = 0; $i++; $i < length($data)) {
                if ((($i + 1) % 3) == 0) {
@@ -2270,6 +2273,29 @@ sub i2c_decode($$$$$)
        return ($addr, $data, $write, $n);
 }
 
+# This is a guess map for the Cypress FX2 registers that are seen
+# at the device and/or at other devices with FX2. It is incomplete
+# and may be wrong. The names here don't match the az6007 driver yet,
+# but are useful for someone that is checking the logs to analyze
+# what's wrong there
+my %req_map = (
+       # FX2 Special registers defined at CY7 datasheets
+       0x80 => "FX2_IOA",
+       0x90 => "FX2_IOB",
+       0xa0 => "FX2_LOAD_FIRMWARE",
+       0xb0 => "FX2_IOD",
+       0xb5 => "FX2_OED",
+       0xc0 => "FX2_SCON1",            # Used to reset demod
+       0xd0 => "FX2_PSW",
+
+       # Other registers used at the driver
+       0xb7 => "AZ6007_IDENTIFY_STATE", # I suspect that this is a RAM read 
function
+       0xb9 => "AZ6007_I2C_RD",
+       0xbc => "AZ6007_POWER",
+       0xbd => "AZ6007_I2C_WRT",       # FX2 calls it as GPIFSGL-DATH
+       0xc5 => "AZ6007_RC_READ",
+       0xc7 => "AZ6007_TS_THROUGH",
+);
 
 ##############
 # Main program
@@ -2309,13 +2335,20 @@ while (<>) {
                }
                if ($show_other_reqs) {
                        printf "$timestamp " if ($show_timestamp);
+
+                       if (defined($req_map{$req})) {
+                               $req = sprintf "%s /* 0x%02x */", 
$req_map{$req}, $req;
+                       } else {
+                               $req = sprintf "0x%02x", $req;
+                       }
+
                        if ($reqtype > 0x80) {
-                               printf "Read   ";
+                               printf("az6007_usb_in_op(d, %s, %s, %s, &data, 
%s); /* %s */\n",
+                                       $req, $wvalue, $windex, $wlen, 
add_hex_mark($payload));
                        } else {
-                               printf "Write  ";
+                               printf("az6007_usb_out_op(d, %s, %s, %s, %s, 
%s);\n",
+                                       $req, $wvalue, $windex, 
add_hex_mark($payload), $wlen);
                        }
-                       printf("Reqtype: 0x%02x, Req 0x%02x, wValue: 0x%04x, 
wIndex 0x%04x, wlen %d: %s\n",
-                               $reqtype, $req, $wvalue, $windex, $wlen, 
$payload);
                }
                next;
        }

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to