forked from microsoft/WSL2-Linux-Kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media: docs: split development info from cx88.rst
This file contains both admin and development stuff. Split on two, as they're usually read by different audiences. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
- Loading branch information
Showing
3 changed files
with
114 additions
and
107 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
.. SPDX-License-Identifier: GPL-2.0 | ||
The cx88 driver | ||
=============== | ||
|
||
Author: Gerd Hoffmann | ||
|
||
Documentation missing at the cx88 datasheet | ||
------------------------------------------- | ||
|
||
MO_OUTPUT_FORMAT (0x310164) | ||
|
||
.. code-block:: none | ||
Previous default from DScaler: 0x1c1f0008 | ||
Digit 8: 31-28 | ||
28: PREVREMOD = 1 | ||
Digit 7: 27-24 (0xc = 12 = b1100 ) | ||
27: COMBALT = 1 | ||
26: PAL_INV_PHASE | ||
(DScaler apparently set this to 1, resulted in sucky picture) | ||
Digits 6,5: 23-16 | ||
25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512) | ||
Digit 4: 15-12 | ||
15: DISIFX = 0 | ||
14: INVCBF = 0 | ||
13: DISADAPT = 0 | ||
12: NARROWADAPT = 0 | ||
Digit 3: 11-8 | ||
11: FORCE2H | ||
10: FORCEREMD | ||
9: NCHROMAEN | ||
8: NREMODEN | ||
Digit 2: 7-4 | ||
7-6: YCORE | ||
5-4: CCORE | ||
Digit 1: 3-0 | ||
3: RANGE = 1 | ||
2: HACTEXT | ||
1: HSFMT | ||
0x47 is the sync byte for MPEG-2 transport stream packets. | ||
Datasheet incorrectly states to use 47 decimal. 188 is the length. | ||
All DVB compliant frontends output packets with this start code. | ||
|
||
Hauppauge WinTV cx88 IR information | ||
----------------------------------- | ||
|
||
The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting. | ||
|
||
====== ======== ================================================= | ||
GPIO0 GPIO1 | ||
====== ======== ================================================= | ||
0 0 TV Audio | ||
1 0 FM radio | ||
0 1 Line-In | ||
1 1 Mono tuner bypass or CD passthru (tuner specific) | ||
====== ======== ================================================= | ||
|
||
GPIO 16(I believe) is tied to the IR port (if present). | ||
|
||
|
||
From the data sheet: | ||
|
||
- Register 24'h20004 PCI Interrupt Status | ||
|
||
- bit [18] IR_SMP_INT Set when 32 input samples have been collected over | ||
- gpio[16] pin into GP_SAMPLE register. | ||
|
||
What's missing from the data sheet: | ||
|
||
- Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5 | ||
compat remote) | ||
- set register 0x35C050 to 0xa80a80 | ||
- enable sampling | ||
- set register 0x35C054 to 0x5 | ||
- enable the IRQ bit 18 in the interrupt mask register (and | ||
provide for a handler) | ||
|
||
GP_SAMPLE register is at 0x35C058 | ||
|
||
Bits are then right shifted into the GP_SAMPLE register at the specified | ||
rate; you get an interrupt when a full DWORD is received. | ||
You need to recover the actual RC5 bits out of the (oversampled) IR sensor | ||
bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An | ||
actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. | ||
|
||
I'm pretty sure when no IR signal is present the receiver is always in a | ||
marking state(1); but stray light, etc can cause intermittent noise values | ||
as well. Remember, this is a free running sample of the IR receiver state | ||
over time, so don't assume any sample starts at any particular place. | ||
|
||
Additional info | ||
~~~~~~~~~~~~~~~ | ||
|
||
This data sheet (google search) seems to have a lovely description of the | ||
RC5 basics: | ||
http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf | ||
|
||
This document has more data: | ||
http://www.nenya.be/beor/electronics/rc5.htm | ||
|
||
This document has a how to decode a bi-phase data stream: | ||
http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt | ||
|
||
This document has still more info: | ||
http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters