~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/media/drivers/cx88-devel.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/driver-api/media/drivers/cx88-devel.rst (Architecture ppc) and /Documentation/driver-api/media/drivers/cx88-devel.rst (Architecture i386)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 The cx88 driver                                     3 The cx88 driver
  4 ===============                                     4 ===============
  5                                                     5 
  6 Author:  Gerd Hoffmann                              6 Author:  Gerd Hoffmann
  7                                                     7 
  8 Documentation missing at the cx88 datasheet         8 Documentation missing at the cx88 datasheet
  9 -------------------------------------------         9 -------------------------------------------
 10                                                    10 
 11 MO_OUTPUT_FORMAT (0x310164)                        11 MO_OUTPUT_FORMAT (0x310164)
 12                                                    12 
 13 .. code-block:: none                               13 .. code-block:: none
 14                                                    14 
 15   Previous default from DScaler: 0x1c1f0008        15   Previous default from DScaler: 0x1c1f0008
 16   Digit 8: 31-28                                   16   Digit 8: 31-28
 17   28: PREVREMOD = 1                                17   28: PREVREMOD = 1
 18                                                    18 
 19   Digit 7: 27-24 (0xc = 12 = b1100 )               19   Digit 7: 27-24 (0xc = 12 = b1100 )
 20   27: COMBALT = 1                                  20   27: COMBALT = 1
 21   26: PAL_INV_PHASE                                21   26: PAL_INV_PHASE
 22     (DScaler apparently set this to 1, resulte     22     (DScaler apparently set this to 1, resulted in sucky picture)
 23                                                    23 
 24   Digits 6,5: 23-16                                24   Digits 6,5: 23-16
 25   25-16: COMB_RANGE = 0x1f [default] (9 bits -     25   25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512)
 26                                                    26 
 27   Digit 4: 15-12                                   27   Digit 4: 15-12
 28   15: DISIFX = 0                                   28   15: DISIFX = 0
 29   14: INVCBF = 0                                   29   14: INVCBF = 0
 30   13: DISADAPT = 0                                 30   13: DISADAPT = 0
 31   12: NARROWADAPT = 0                              31   12: NARROWADAPT = 0
 32                                                    32 
 33   Digit 3: 11-8                                    33   Digit 3: 11-8
 34   11: FORCE2H                                      34   11: FORCE2H
 35   10: FORCEREMD                                    35   10: FORCEREMD
 36   9: NCHROMAEN                                     36   9: NCHROMAEN
 37   8: NREMODEN                                      37   8: NREMODEN
 38                                                    38 
 39   Digit 2: 7-4                                     39   Digit 2: 7-4
 40   7-6: YCORE                                       40   7-6: YCORE
 41   5-4: CCORE                                       41   5-4: CCORE
 42                                                    42 
 43   Digit 1: 3-0                                     43   Digit 1: 3-0
 44   3: RANGE = 1                                     44   3: RANGE = 1
 45   2: HACTEXT                                       45   2: HACTEXT
 46   1: HSFMT                                         46   1: HSFMT
 47                                                    47 
 48 0x47 is the sync byte for MPEG-2 transport str     48 0x47 is the sync byte for MPEG-2 transport stream packets.
 49 Datasheet incorrectly states to use 47 decimal     49 Datasheet incorrectly states to use 47 decimal. 188 is the length.
 50 All DVB compliant frontends output packets wit     50 All DVB compliant frontends output packets with this start code.
 51                                                    51 
 52 Hauppauge WinTV cx88 IR information                52 Hauppauge WinTV cx88 IR information
 53 -----------------------------------                53 -----------------------------------
 54                                                    54 
 55 The controls for the mux are GPIO [0,1] for so     55 The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.
 56                                                    56 
 57 ====== ======== ==============================     57 ====== ======== =================================================
 58 GPIO0  GPIO1                                       58 GPIO0  GPIO1
 59 ====== ======== ==============================     59 ====== ======== =================================================
 60   0        0    TV Audio                           60   0        0    TV Audio
 61   1        0    FM radio                           61   1        0    FM radio
 62   0        1    Line-In                            62   0        1    Line-In
 63   1        1    Mono tuner bypass or CD passth     63   1        1    Mono tuner bypass or CD passthru (tuner specific)
 64 ====== ======== ==============================     64 ====== ======== =================================================
 65                                                    65 
 66 GPIO 16(I believe) is tied to the IR port (if      66 GPIO 16(I believe) is tied to the IR port (if present).
 67                                                    67 
 68                                                    68 
 69 From the data sheet:                               69 From the data sheet:
 70                                                    70 
 71 - Register 24'h20004  PCI Interrupt Status         71 - Register 24'h20004  PCI Interrupt Status
 72                                                    72 
 73  - bit [18]  IR_SMP_INT Set when 32 input samp     73  - bit [18]  IR_SMP_INT Set when 32 input samples have been collected over
 74  - gpio[16] pin into GP_SAMPLE register.           74  - gpio[16] pin into GP_SAMPLE register.
 75                                                    75 
 76 What's missing from the data sheet:                76 What's missing from the data sheet:
 77                                                    77 
 78 - Setup 4KHz sampling rate (roughly 2x oversam     78 - Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5
 79   compat remote)                                   79   compat remote)
 80 - set register 0x35C050 to  0xa80a80               80 - set register 0x35C050 to  0xa80a80
 81 - enable sampling                                  81 - enable sampling
 82 - set register 0x35C054 to 0x5                     82 - set register 0x35C054 to 0x5
 83 - enable the IRQ bit 18 in the interrupt mask      83 - enable the IRQ bit 18 in the interrupt mask register (and
 84   provide for a handler)                           84   provide for a handler)
 85                                                    85 
 86 GP_SAMPLE register is at 0x35C058                  86 GP_SAMPLE register is at 0x35C058
 87                                                    87 
 88 Bits are then right shifted into the GP_SAMPLE     88 Bits are then right shifted into the GP_SAMPLE register at the specified
 89 rate; you get an interrupt when a full DWORD i     89 rate; you get an interrupt when a full DWORD is received.
 90 You need to recover the actual RC5 bits out of     90 You need to recover the actual RC5 bits out of the (oversampled) IR sensor
 91 bits. (Hint: look for the 0/1and 1/0 crossings     91 bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data)  An
 92 actual raw RC5 code will span 2-3 DWORDS, depe     92 actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.
 93                                                    93 
 94 I'm pretty sure when no IR signal is present t     94 I'm pretty sure when no IR signal is present the receiver is always in a
 95 marking state(1); but stray light, etc can cau     95 marking state(1); but stray light, etc can cause intermittent noise values
 96 as well.  Remember, this is a free running sam     96 as well.  Remember, this is a free running sample of the IR receiver state
 97 over time, so don't assume any sample starts a     97 over time, so don't assume any sample starts at any particular place.
 98                                                    98 
 99 Additional info                                    99 Additional info
100 ~~~~~~~~~~~~~~~                                   100 ~~~~~~~~~~~~~~~
101                                                   101 
102 This data sheet (google search) seems to have     102 This data sheet (google search) seems to have a lovely description of the
103 RC5 basics:                                       103 RC5 basics:
104 http://www.atmel.com/dyn/resources/prod_docume    104 http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf
105                                                   105 
106 This document has more data:                      106 This document has more data:
107 http://www.nenya.be/beor/electronics/rc5.htm      107 http://www.nenya.be/beor/electronics/rc5.htm
108                                                   108 
109 This document has a  how to decode a bi-phase     109 This document has a  how to decode a bi-phase data stream:
110 http://www.ee.washington.edu/circuit_archive/t    110 http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
111                                                   111 
112 This document has still more info:                112 This document has still more info:
113 http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm    113 http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php