| 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 |
| |
| Of course, 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. |
| |
| http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf |
| This data sheet (google search) seems to have a lovely description of the |
| RC5 basics |
| |
| http://www.nenya.be/beor/electronics/rc5.htm and more data |
| |
| http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt |
| and even a reference to how to decode a bi-phase data stream. |
| |
| http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm |
| still more info |
| |